Author: oching
Date: Fri Jun 11 08:49:48 2010
New Revision: 953612

URL: http://svn.apache.org/viewvc?rev=953612&view=rev
Log:
[MRM-1362] Add simple 'CRUD' pages for project-level metadata along with a 
"generic metadata" plugin
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

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

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java?rev=953612&r1=953611&r2=953612&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java
 Fri Jun 11 08:49:48 2010
@@ -160,6 +160,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" ) + "/" );
         clickLinkWithText( getProperty( "ARTIFACT_ARTIFACTID" ) + "/" );
@@ -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,

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf?rev=953612&r1=953611&r2=953612&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf
 Fri Jun 11 08:49:48 2010
@@ -24,9 +24,10 @@
 
 <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}">


Reply via email to