From 3c0d48098b8e014e97d486b98d991f23b2790923 Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Thu, 4 Mar 2010 02:00:16 +0000 Subject: [PATCH] merge fixes to Selenium tests from trunk git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/archiva-1.3.x@918814 13f79535-47bb-0310-9956-ffa450edef68 --- .../archiva-webapp-test/ReadMe.txt | 4 +- .../archiva-web/archiva-webapp-test/pom.xml | 23 ++- .../appserver-base/conf/archiva.xml | 5 + .../src/test/resources/testng.properties | 2 +- .../src/test/testng/config/testng.xml | 52 ------ .../archiva/web/test/ArchivaAdminTest.java | 4 +- .../web/test/ArtifactManagementTest.java | 10 +- .../archiva/web/test/AuditLogsReportTest.java | 38 ++-- .../apache/archiva/web/test/BrowseTest.java | 13 +- .../archiva/web/test/FindArtifactTest.java | 2 + .../archiva/web/test/UserRolesTest.java | 170 +++++++++--------- .../listener/CaptureScreenShotsListener.java | 2 +- .../web/test/parent/AbstractArchivaTest.java | 72 +++++--- .../AbstractArtifactManagementTest.java | 9 +- .../web/test/parent/AbstractSeleniumTest.java | 9 +- 15 files changed, 199 insertions(+), 216 deletions(-) delete mode 100644 archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/config/testng.xml diff --git a/archiva-modules/archiva-web/archiva-webapp-test/ReadMe.txt b/archiva-modules/archiva-web/archiva-webapp-test/ReadMe.txt index a1d2d6396..ff27feb7a 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/ReadMe.txt +++ b/archiva-modules/archiva-web/archiva-webapp-test/ReadMe.txt @@ -13,7 +13,9 @@ The Cargo installations are stored outside of target to avoid multiple downloads To remove the Cargo installations and re-download them next run, use: - mvn -Pclean-cargo clean -For the default values in the scripts, to pass all the tests, you need to add an artifact in internal repository. +Internet Explorer and Safari users must disable their popup blockers. Using *iexplore as +the browser requires running as an Administrator on Windows 7/Vista, or alternatively you +can use *iexploreproxy. Run Selenium tests in src/test/it with Maven and JUnit - mvn clean install -f junit-pom.xml diff --git a/archiva-modules/archiva-web/archiva-webapp-test/pom.xml b/archiva-modules/archiva-web/archiva-webapp-test/pom.xml index 519d9410d..0606be098 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/pom.xml +++ b/archiva-modules/archiva-web/archiva-webapp-test/pom.xml @@ -148,9 +148,20 @@ org.apache.maven.plugins maven-surefire-plugin - - src/test/testng/config/testng.xml - + + + + listener + org.apache.archiva.web.test.listener.CaptureScreenShotsListener + + + excludegroups + + ${excluded.groups} + + @@ -165,7 +176,7 @@ browser ${selenium.browser} - + baseUrl ${baseUrl} @@ -404,6 +415,7 @@ *firefox + @@ -416,6 +428,7 @@ *iexplore + requiresUpload @@ -428,6 +441,7 @@ *safari + requiresUpload @@ -440,6 +454,7 @@ *custom ${browserPath} + requiresUpload diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/it-resources/appserver-base/conf/archiva.xml b/archiva-modules/archiva-web/archiva-webapp-test/src/test/it-resources/appserver-base/conf/archiva.xml index 4208167ec..a95ad86e2 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/it-resources/appserver-base/conf/archiva.xml +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/it-resources/appserver-base/conf/archiva.xml @@ -1,3 +1,8 @@ + + + false + + diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties b/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties index 8cce0ef13..beb2ab7d0 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties @@ -81,7 +81,7 @@ SNAPSHOT_GROUPID=org.apache.archiva SNAPSHOT_ARTIFACTID=archiva-test SNAPSHOT_VERSION=1.0-SNAPSHOT SNAPSHOT_PACKAGING=jar -SNAPSHOT_ARTIFACTFILEPATH=test +SNAPSHOT_ARTIFACTFILEPATH=src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar SNAPSHOT_REPOSITORYID=snapshots # REPOSITORIES diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/config/testng.xml b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/config/testng.xml deleted file mode 100644 index e8607fb3b..000000000 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/config/testng.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java index 4b3bc1825..e5a02bd72 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java @@ -62,8 +62,8 @@ public class ArchivaAdminTest String username = getProperty( "ADMIN_USERNAME" ); String mail = getProperty( "ADMIN_EMAIL" ); String password = getProperty( "ADMIN_PASSWORD" ); - submitAdminData( fullname, mail, password ); - assertAuthenticatedPage( username ); + submitAdminData( fullname, mail, password ); + assertUserLoggedIn( username ); submit(); clickLinkWithText( "Logout" ); } diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArtifactManagementTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArtifactManagementTest.java index 1f60076bc..4eb22b172 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArtifactManagementTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ArtifactManagementTest.java @@ -83,24 +83,22 @@ public class ArtifactManagementTest assertTextPresent( "Please add a file to upload." ); } - @Test( enabled = false ) + @Test(groups = "requiresUpload") public void testAddArtifactValidValues() { - // TODO: disable test on non *chrome browsers, there is no way to do file uploads (SEL-63) addArtifact( getGroupId() , "testAddArtifactValidValues", getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "Artifact 'test:test:1.0' was successfully deployed to repository 'internal'" ); + assertTextPresent( "Artifact 'test:testAddArtifactValidValues:1.0' was successfully deployed to repository 'internal'" ); } //MRM-747 - @Test( enabled = false ) + @Test(groups = "requiresUpload") public void testAddArtifactBlockRedeployments() { - // TODO: disable test on non *chrome browsers, there is no way to do file uploads (SEL-63) addArtifact( getGroupId() , getArtifactId(), getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() ); assertTextPresent( "Overwriting released artifacts in repository '" + getRepositoryId() + "' is not allowed." ); } - @Test( enabled = false ) + @Test(groups = "requiresUpload") public void testDeleteArtifact() { //prep diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java index dbe3d08ed..99ab2f038 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AuditLogsReportTest.java @@ -68,8 +68,7 @@ public class AuditLogsReportTest } // TODO: add test for adding via WebDAV - // TODO: disable if not running on *chrome - @Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false ) + @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload") public void testViewAuditLogsDataFound() { goToAuditLogReports(); @@ -82,15 +81,14 @@ public class AuditLogsReportTest assertAuditLogsReportPage(); assertTextPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextPresent( "test-1.0.jar" ); + assertTextPresent( "testAddArtifactValidValues-1.0.jar" ); assertTextPresent( "Uploaded File" ); assertTextPresent( "internal" ); assertTextPresent( "admin" ); } // TODO: add test for adding via WebDAV - // TODO: disable if not running on *chrome - @Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false ) + @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload") public void testViewAuditLogsOnlyArtifactIdIsSpecified() { goToAuditLogReports(); @@ -101,17 +99,15 @@ public class AuditLogsReportTest submit(); assertAuditLogsReportPage(); - assertTextPresent( "Results" ); + assertTextPresent( "If you specify an artifact ID, you must specify a group ID" ); + assertTextNotPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextPresent( "test-1.0.jar" ); - assertTextPresent( "Uploaded File" ); - assertTextPresent( "internal" ); - assertTextPresent( "admin" ); + assertTextNotPresent( "testAddArtifactValidValues-1.0.jar" ); + assertTextNotPresent( "Uploaded File" ); } // TODO: add test for adding via WebDAV - // TODO: disable if not running on *chrome - @Test (dependsOnMethods = { "testAddArtifactValidValues" }, enabled = false ) + @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload") public void testViewAuditLogsForAllRepositories() { goToAuditLogReports(); @@ -123,13 +119,13 @@ public class AuditLogsReportTest assertAuditLogsReportPage(); assertTextPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextPresent( "test-1.0.jar" ); + assertTextPresent( "testAddArtifactValidValues-1.0.jar" ); assertTextPresent( "Uploaded File" ); assertTextPresent( "internal" ); assertTextPresent( "admin" ); } - @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, enabled = false ) + @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, groups = "requiresUpload") public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly() { String groupId = getProperty( "SNAPSHOT_GROUPID" ); @@ -144,23 +140,23 @@ public class AuditLogsReportTest clickLinkWithText( "Logout" ); - login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRolePassword() ); - goToAuditLogReports(); + login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRoleNewPassword() ); + + goToAuditLogReports(); assertAuditLogsReportPage(); - + selectValue( "repository", "all" ); submit(); - + assertAuditLogsReportPage(); assertTextPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextPresent( "test-1.0.jar" ); + assertTextPresent( "testAddArtifactValidValues-1.0.jar" ); assertTextPresent( "Uploaded File" ); assertTextPresent( "internal" ); assertTextPresent( "admin" ); - + assertTextNotPresent( artifactId + "-" + version + "." + packaging ); - clickLinkWithText( "Logout" ); login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) ); } 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 c9c60ecce..a82a8f584 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 @@ -45,13 +45,9 @@ public class BrowseTest } // MRM-1278 - @Test( enabled = false ) + @Test(groups = {"requiresUpload"}) public void testCorrectRepositoryInBrowse() { - File artifact = - new File( getBasedir(), - "/src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar" ); - String releasesRepo = getProperty( "RELEASES_REPOSITORY" ); // create releases repository first @@ -64,10 +60,10 @@ public class BrowseTest String snapshotsRepo = getProperty( "SNAPSHOTS_REPOSITORY" ); + String path = "src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar"; // TODO: do this differently as uploading doesn't work on browsers other than *chrome (below as well) // upload a snapshot artifact to repository 'releases' - addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", artifact.getPath(), - releasesRepo ); + addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", path, releasesRepo ); assertTextPresent( "Artifact 'archiva:archiva-webapp:1.0-SNAPSHOT' was successfully deployed to repository '" + releasesRepo + "'" ); goToBrowsePage(); @@ -77,8 +73,7 @@ public class BrowseTest assertArtifactInfoPage( "1.0-SNAPSHOT/", releasesRepo, "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar" ); // upload a snapshot artifact to repository 'snapshots' - addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", artifact.getPath(), - snapshotsRepo ); + addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", path, snapshotsRepo ); assertTextPresent( "Artifact 'continuum:continuum-core:1.0-SNAPSHOT' was successfully deployed to repository '" + snapshotsRepo + "'" ); goToBrowsePage(); diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/FindArtifactTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/FindArtifactTest.java index 3431ebf9e..f0db8bea3 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/FindArtifactTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/FindArtifactTest.java @@ -40,4 +40,6 @@ public class FindArtifactTest clickButtonWithValue( "Search" ); assertTextPresent( "No results found" ); } + + // TODO: test using file upload on Firefox versions that support getAsBinary (ie, no applet) } diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/UserRolesTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/UserRolesTest.java index a1ad6d5ec..1f984fbc7 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/UserRolesTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/UserRolesTest.java @@ -34,8 +34,8 @@ public class UserRolesTest createUser( username, fullname, getUserEmail(), getUserRolePassword(), true); deleteUser( username, fullname, getUserEmail() ); - clickLinkWithText( "Logout" ); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } @Test (dependsOnMethods = { "testBasicAddDeleteUser" } ) @@ -49,20 +49,20 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkUserRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } @Test (dependsOnMethods = { "testUserWithGuestRole" } ) @@ -76,20 +76,20 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkUserRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } @Test (dependsOnMethods = { "testUserWithRegisteredUserRole" } ) @@ -103,20 +103,20 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkUserRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } @Test (dependsOnMethods = { "testUserWithSysAdminUserRole" } ) @@ -130,20 +130,20 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkUserRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } @Test (dependsOnMethods = { "testUserWithUserAdminUserRole" } ) @@ -157,20 +157,20 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkUserRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } @Test (dependsOnMethods = { "testUserWithGlobalRepoManagerRole" } ) @@ -184,20 +184,20 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkUserRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } @Test (dependsOnMethods = { "testUserWithGlobalRepoObserverRole" } ) @@ -211,20 +211,20 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkResourceRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } /*@Test (dependsOnMethods = { "testUserWithRepoManagerInternalRole" } ) @@ -265,46 +265,46 @@ public class UserRolesTest clickLinkWithText( "Edit Roles" ); checkResourceRoleWithValue( fullname ); clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); + + logout(); + login(username, getUserRolePassword()); changePassword( getUserRolePassword(), getUserRoleNewPassword()); // this section will be removed if issue from redback after changing password will be fixed. getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); + logout(); + //assertTextPresent("You are already logged in."); login(username, getUserRoleNewPassword()); assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); + logout(); + login( getAdminUsername() , getAdminPassword() ); } - - /*@Test (dependsOnMethods = { "testUserWithRepoObserverInternalRole" } ) - public void testUserWithRepoObserverSnapshotsRole() - { - username = getProperty( "REPOOBSERVER_SNAPSHOTS_USERNAME" ); - fullname = getProperty( "REPOOBSERVER_SNAPSHOTS_FULLNAME" ); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkResourceRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); - - clickLinkWithText("Logout"); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); - clickLinkWithText("Logout"); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); - clickLinkWithText("Logout"); - login( getAdminUsername() , getAdminPassword() ); - }*/ + + /*@Test (dependsOnMethods = { "testUserWithRepoObserverInternalRole" } ) + public void testUserWithRepoObserverSnapshotsRole() + { + username = getProperty( "REPOOBSERVER_SNAPSHOTS_USERNAME" ); + fullname = getProperty( "REPOOBSERVER_SNAPSHOTS_FULLNAME" ); + + createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkResourceRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); + + clickLinkWithText("Logout"); + login(username, getUserRolePassword()); + changePassword( getUserRolePassword(), getUserRoleNewPassword()); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); + clickLinkWithText("Logout"); + //assertTextPresent("You are already logged in."); + + login(username, getUserRoleNewPassword()); + assertLeftNavMenuWithRole( fullname ); + clickLinkWithText("Logout"); + login( getAdminUsername() , getAdminPassword() ); + }*/ } diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/listener/CaptureScreenShotsListener.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/listener/CaptureScreenShotsListener.java index 947d7cbf3..8ee826394 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/listener/CaptureScreenShotsListener.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/listener/CaptureScreenShotsListener.java @@ -75,7 +75,7 @@ public class CaptureScreenShotsListener { selenium.windowMaximize(); File fileName = new File( targetPath, fileBaseName + ".png" ); - selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "" ); + selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "background=#FFFFFF" ); } catch ( RuntimeException e ) { diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java index 9209d6f60..642949e1a 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java @@ -1,6 +1,7 @@ package org.apache.archiva.web.test.parent; import java.io.File; +import java.io.IOException; import org.apache.archiva.web.test.XPathExpressionUtil; @@ -117,8 +118,8 @@ public abstract class AbstractArchivaTest submit(); if ( success ) { - assertAuthenticatedPage( username ); - } + assertUserLoggedIn( username ); + } else { assertLoginPage(); @@ -141,18 +142,8 @@ public abstract class AbstractArchivaTest assertTextPresent( "Need an Account? Register!" ); assertTextPresent( "Forgot your Password? Request a password reset." ); } - - public void assertAuthenticatedPage( String username ) - { - assertTextPresent( "Current User" ); - assertTextPresent( "Edit Details" ); - assertTextPresent( "Logout" ); - assertTextNotPresent( "Login" ); - assertTextPresent( username ); - } - - - //User Management + + //User Management public void goToUserManagementPage() { clickLinkWithText( "User Management" ); @@ -277,6 +268,10 @@ public abstract class AbstractArchivaTest submitLoginPage( username, password, false, valid, assertReturnPage ); } + if ( valid ) + { + assertUserLoggedIn( username ); + } } public void submitLoginPage( String username, String password ) @@ -303,10 +298,7 @@ public abstract class AbstractArchivaTest if ( validUsernamePassword ) { - assertTextPresent( "Current User:" ); - assertTextPresent( username ); - assertLinkPresent( "Edit Details" ); - assertLinkPresent( "Logout" ); + assertUserLoggedIn( username ); } else { @@ -320,8 +312,17 @@ public abstract class AbstractArchivaTest } } } - - // User Roles + + protected void assertUserLoggedIn( String username ) + { + assertTextPresent( "Current User:" ); + assertTextPresent( username ); + assertLinkPresent( "Edit Details" ); + assertLinkPresent( "Logout" ); + assertTextNotPresent( "Login" ); + } + + // User Roles public void assertUserRoleCheckBoxPresent(String value) { getSelenium() .isElementPresent("xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='" + value + "']"); @@ -417,11 +418,9 @@ public abstract class AbstractArchivaTest assertPage( "Apache Archiva \\ Find Artifact" ); assertTextPresent( "Find Artifact" ); assertTextPresent( "Search for:" ); - assertElementPresent( "f" ); assertTextPresent( "Checksum:" ); assertElementPresent( "q" ); assertButtonWithValuePresent( "Search" ); - assertTextPresent( "This allows you to search the repository using the checksum of an artifact that you are trying to identify. You can either specify the checksum to look for directly, or scan a local artifact file." ); } //Appearance @@ -495,7 +494,25 @@ public abstract class AbstractArchivaTest checkField( "generatePom" ); } - setFieldValue( "artifact", artifactFilePath ); + String path; + if ( artifactFilePath != null && artifactFilePath.trim().length() > 0 ) + { + File f = new File( artifactFilePath ); + try + { + path = f.getCanonicalPath(); + } + catch ( IOException e ) + { + path = f.getAbsolutePath(); + } + } + else + { + path = artifactFilePath; + } + + setFieldValue( "artifact", path ); setFieldValue( "repositoryId", repositoryId ); clickButtonWithValue( "Submit" ); @@ -534,4 +551,13 @@ public abstract class AbstractArchivaTest //TODO clickButtonWithValue( "Add Repository" ); } + + protected void logout() + { + clickLinkWithText("Logout"); + assertTextNotPresent( "Current User:" ); + assertLinkNotPresent( "Edit Details" ); + assertLinkNotPresent( "Logout" ); + assertLinkPresent( "Login" ); + } } diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java index cf03765b0..04f5242a7 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactManagementTest.java @@ -1,8 +1,6 @@ package org.apache.archiva.web.test.parent; -import java.io.File; - -public abstract class AbstractArtifactManagementTest +public abstract class AbstractArtifactManagementTest extends AbstractArchivaTest { @@ -32,9 +30,7 @@ public abstract class AbstractArtifactManagementTest public String getArtifactFilePath() { - File f = new File( "" ); - String artifactFilePath = f.getAbsolutePath(); - return artifactFilePath + "/src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar" ; + return "src/test/it-resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar"; } public String getRepositoryId() @@ -45,6 +41,7 @@ public abstract class AbstractArtifactManagementTest public void goToDeleteArtifactPage() { + login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) ); clickLinkWithText( "Delete Artifact" ); assertDeleteArtifactPage(); } diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java index cb4fee208..d4d090a5b 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java @@ -26,14 +26,13 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Properties; import java.util.Map.Entry; - -import org.apache.commons.io.IOUtils; -import org.testng.Assert; +import java.util.Properties; import com.thoughtworks.selenium.DefaultSelenium; import com.thoughtworks.selenium.Selenium; +import org.apache.commons.io.IOUtils; +import org.testng.Assert; /** * @author Emmanuel Venisse @@ -176,7 +175,7 @@ public abstract class AbstractSeleniumTest { public void assertLinkPresent( String text ) { - Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isî't present." ); + Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isn't present." ); } public void assertLinkNotPresent( String text ) -- 2.39.5