From a72aeb4d5eaf3d86b23aeb44a2222563b52d09db Mon Sep 17 00:00:00 2001 From: "Maria Odea B. Ching" Date: Fri, 11 Jun 2010 08:49:48 +0000 Subject: [PATCH] [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 git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@953612 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/archiva/web/test/BrowseTest.java | 45 +++++++++++++++++-- .../WEB-INF/jsp/include/projectMetadata.jspf | 13 +++--- 2 files changed, 48 insertions(+), 10 deletions(-) diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java index 0b72095a2..c5fde87df 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/BrowseTest.java @@ -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, diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf index 3aecceac6..797c941c7 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf @@ -24,9 +24,10 @@
-
-

Add Property

- + +
+

Add Property

+ @@ -50,9 +51,9 @@ - - -
+ +
+
-- 2.39.5