]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1362] Add simple 'CRUD' pages for project-level metadata along with a "generic...
authorMaria Odea B. Ching <oching@apache.org>
Fri, 11 Jun 2010 08:49:48 +0000 (08:49 +0000)
committerMaria Odea B. Ching <oching@apache.org>
Fri, 11 Jun 2010 08:49:48 +0000 (08:49 +0000)
o do not show add property widget if user does not have repository manager role
o added selenium test for browsing metadata if user is not a repository manager

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@953612 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf

index 0b72095a2176409ab5be803acfc05f7d4e5af645..c5fde87df0e83f0d83181546c9f78e6f3d41c6c8 100644 (file)
@@ -159,6 +159,42 @@ public class BrowseTest
 
     @Test( dependsOnMethods = { "testAddMetadataPropertyEmpty" } )
     public void testAddMetadataProperty()
+    {
+        addMetadataProperty();
+    }
+    
+    @Test( dependsOnMethods = { "testAddMetadataProperty" } )
+    public void testDeleteMetadataProperty()
+    {
+        deleteMetadataProperty();
+    }
+    
+    @Test( dependsOnMethods = { "testDeleteMetadataProperty" })
+    public void testMetadataAccessWithRepositoryObserverRole()
+    {   
+        addMetadataProperty();
+        
+        logout();
+        
+        goToBrowsePage();
+        clickLinkWithText( getProperty( "ARTIFACT_GROUPID" ) + "/" );
+        clickLinkWithText( getProperty( "ARTIFACT_ARTIFACTID" ) + "/" );
+        clickLinkWithText( getProperty( "ARTIFACT_VERSION" ) + "/" );
+        clickLinkWithText( "Metadata" );
+
+        waitPage();
+        
+        assertTextNotPresent( "No metadata content." );
+        assertButtonWithValueNotPresent( "Add" );
+        assertTextNotPresent( "Add Property" );
+        assertImgWithAltNotPresent( "Delete" );
+        
+        login( getAdminUsername(), getAdminPassword() );
+        
+        deleteMetadataProperty();
+    }    
+    
+    private void addMetadataProperty()
     {
         goToBrowsePage();
         clickLinkWithText( getProperty( "ARTIFACT_GROUPID" ) + "/" );
@@ -168,6 +204,7 @@ public class BrowseTest
 
         assertTextPresent( "No metadata content." );
         assertButtonWithValuePresent( "Add" );
+        assertTextPresent( "Add Property" );
 
         setFieldValue( "propertyName", "foo" );
         setFieldValue( "propertyValue", "bar" );
@@ -179,9 +216,8 @@ public class BrowseTest
         assertTextNotPresent( "No metadata content." );
         assertTextPresent( "foo=bar" );
     }
-
-    @Test( dependsOnMethods = { "testAddMetadataProperty" } )
-    public void testDeleteMetadataProperty()
+    
+    private void deleteMetadataProperty()
     {
         goToBrowsePage();
         clickLinkWithText( getProperty( "ARTIFACT_GROUPID" ) + "/" );
@@ -191,6 +227,7 @@ public class BrowseTest
 
         assertTextPresent( "foo=bar" );
         assertButtonWithValuePresent( "Add" );
+        assertTextPresent( "Add Property" );
 
         clickImgWithAlt( "Delete" );
 
@@ -200,7 +237,7 @@ public class BrowseTest
         assertTextPresent( "Property successfully deleted." );
         assertImgWithAltNotPresent( "Delete" );
         assertTextPresent( "No metadata content." );
-    }
+    }    
 
     private void assertArtifactInfoPage( String version, String artifactInfoRepositoryId, String artifactInfoGroupId,
                                          String artifactInfoArtifactId, String artifactInfoVersion,
index 3aecceac6d82a0d309fa0e70b71f02b8d4d22c1b..797c941c765d672b476e0b39d5bc0235de0915dc 100644 (file)
 
 <div> 
  
-  <div id="effect" class="ui-widget-content ui-corner-all">
-    <h3 class="ui-widget-header ui-corner-all">Add Property</h3>
-    <redback:ifAuthorized permission="archiva-add-metadata" resource="${repositoryId}">
+  <redback:ifAuthorized permission="archiva-add-metadata" resource="${repositoryId}">
+    <div id="effect" class="ui-widget-content ui-corner-all">
+      <h3 class="ui-widget-header ui-corner-all">Add Property</h3>
+    
       <s:form action="addMetadataProperty" namespace="/" method="post" validate="true" theme="simple">    
         <s:hidden name="groupId" value="%{groupId}" />
         <s:hidden name="artifactId" value="%{artifactId}" />
@@ -50,9 +51,9 @@
             </td>
           </tr>
         </table>
-      </s:form>  
-    </redback:ifAuthorized>
-  </div>
+      </s:form>
+    </div>
+  </redback:ifAuthorized>
    
   <div>
     <c:if test="${empty genericMetadata}">