From ddeaa798b65b7ba4968d0249b01e834c1a343bff Mon Sep 17 00:00:00 2001 From: "Marecor M. Baclay" Date: Wed, 7 Apr 2010 09:27:05 +0000 Subject: [PATCH] [MRM-1276] Selenium tests need a clean up - fixed poor formatting in the source code (tabs, etc) following the Maven Code Style git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@931475 13f79535-47bb-0310-9956-ffa450edef68 --- .../archiva/web/test/AppearanceTest.java | 51 +- .../archiva/web/test/ArchivaAdminTest.java | 14 +- .../web/test/ArtifactManagementTest.java | 251 +++--- .../archiva/web/test/AuditLogsReportTest.java | 93 +-- .../apache/archiva/web/test/BrowseTest.java | 62 +- .../archiva/web/test/FindArtifactTest.java | 32 +- .../archiva/web/test/LegacySupportTest.java | 98 +-- .../apache/archiva/web/test/LoginTest.java | 14 +- .../archiva/web/test/NetworkProxiesTest.java | 140 ++-- .../apache/archiva/web/test/ReportsTest.java | 132 ++-- .../web/test/RepositoryScanningTest.java | 316 ++++---- .../archiva/web/test/RepositoryTest.java | 253 ++++--- .../apache/archiva/web/test/SearchTest.java | 79 +- .../archiva/web/test/UserRolesTest.java | 472 ++++++------ .../web/test/VirtualRepositoryTest.java | 97 ++- .../archiva/web/test/XPathExpressionUtil.java | 29 +- .../listener/CaptureScreenShotsListener.java | 2 +- .../web/test/parent/AbstractArchivaTest.java | 714 +++++++++--------- .../AbstractArtifactManagementTest.java | 214 +++--- .../parent/AbstractArtifactReportsTest.java | 112 +-- .../web/test/parent/AbstractBrowseTest.java | 30 +- .../test/parent/AbstractRepositoryTest.java | 710 ++++++++--------- .../web/test/parent/AbstractSearchTest.java | 46 +- .../web/test/parent/AbstractSeleniumTest.java | 558 +++++++------- 24 files changed, 2258 insertions(+), 2261 deletions(-) diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AppearanceTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AppearanceTest.java index 94f8b700d..6a7d5dc09 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AppearanceTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/AppearanceTest.java @@ -23,29 +23,32 @@ import org.apache.archiva.web.test.parent.AbstractArchivaTest; import org.testng.annotations.Test; @Test( groups = { "appearance" }, dependsOnMethods = { "testWithCorrectUsernamePassword" }, sequential = true ) -public class AppearanceTest extends AbstractArchivaTest +public class AppearanceTest + extends AbstractArchivaTest { - public void testAddAppearanceNullValues() - { - goToAppearancePage(); - clickLinkWithText( "Edit" ); - addEditAppearance( "", "", "" ); - assertTextPresent( "You must enter a name" ); - } - - @Test( dependsOnMethods = { "testAddAppearanceNullValues" }) - public void testAddAppearanceValidValues() - { - addEditAppearance( "The Apache Software Foundation" , "http://www.apache.org/" , "http://www.apache.org/images/asf_logo_wide.gifs" ); - assertTextPresent( "The Apache Software Foundation" ); - } - - @Test( dependsOnMethods = { "testAddAppearanceValidValues" }) - public void testEditAppearance() - { - clickLinkWithText( "Edit" ); - addEditAppearance( "Apache Software Foundation" , "http://www.apache.org/" , "http://www.apache.org/images/asf_logo_wide.gifs" ); - assertTextPresent( "Apache Software Foundation" ); - } - + public void testAddAppearanceNullValues() + { + goToAppearancePage(); + clickLinkWithText( "Edit" ); + addEditAppearance( "", "", "" ); + assertTextPresent( "You must enter a name" ); + } + + @Test( dependsOnMethods = { "testAddAppearanceNullValues" } ) + public void testAddAppearanceValidValues() + { + addEditAppearance( "The Apache Software Foundation", "http://www.apache.org/", + "http://www.apache.org/images/asf_logo_wide.gifs" ); + assertTextPresent( "The Apache Software Foundation" ); + } + + @Test( dependsOnMethods = { "testAddAppearanceValidValues" } ) + public void testEditAppearance() + { + clickLinkWithText( "Edit" ); + addEditAppearance( "Apache Software Foundation", "http://www.apache.org/", + "http://www.apache.org/images/asf_logo_wide.gifs" ); + assertTextPresent( "Apache Software Foundation" ); + } + } \ No newline at end of file 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 e5a02bd72..1d876ab23 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 @@ -28,8 +28,8 @@ import org.testng.annotations.Parameters; import org.testng.annotations.Test; @Test( groups = { "about" }, alwaysRun = true ) -public class ArchivaAdminTest - extends AbstractArchivaTest +public class ArchivaAdminTest + extends AbstractArchivaTest { @Override @@ -47,10 +47,12 @@ public class ArchivaAdminTest { super.open(); } - + @BeforeTest @Parameters( { "baseUrl", "browser", "seleniumHost", "seleniumPort" } ) - public void initializeArchiva( String baseUrl, String browser, @Optional( "localhost" ) String seleniumHost, @Optional( "4444" ) int seleniumPort ) throws Exception + public void initializeArchiva( String baseUrl, String browser, @Optional( "localhost" ) String seleniumHost, + @Optional( "4444" ) int seleniumPort ) + throws Exception { super.open( baseUrl, browser, seleniumHost, seleniumPort ); getSelenium().open( baseUrl ); @@ -66,7 +68,7 @@ public class ArchivaAdminTest assertUserLoggedIn( username ); submit(); clickLinkWithText( "Logout" ); - } + } } -} +} \ No newline at end of file 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 4973064ac..abfc26ada 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 @@ -24,144 +24,145 @@ import org.testng.annotations.Test; @Test( groups = { "artifactmanagement" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) public class ArtifactManagementTest - extends AbstractArtifactManagementTest + extends AbstractArtifactManagementTest { - - public void testAddArtifactNullValues() - { - goToAddArtifactPage(); - clickButtonWithValue( "Submit" ); - assertTextPresent( "Please add a file to upload." ); - assertTextPresent( "Invalid version." ); - assertTextPresent( "You must enter a groupId." ); - assertTextPresent( "You must enter an artifactId." ); - assertTextPresent( "You must enter a version" ); - assertTextPresent( "You must enter a packaging" ); - } - - @Test(dependsOnMethods = { "testAddArtifactNullValues" } ) - public void testAddArtifactNoGroupId() - { - addArtifact( " " , getArtifactId(), getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "You must enter a groupId." ); - } - - @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } ) - public void testAddArtifactNoArtifactId() - { - - addArtifact( getGroupId() , " ", getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "You must enter an artifactId." ); - } - - @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } ) - public void testAddArtifactNoVersion() - { - addArtifact( getGroupId() , getArtifactId(), " ", getPackaging() , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "You must enter a version." ); - } - - @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } ) - public void testAddArtifactInvalidVersion() - { - addArtifact( getGroupId() , getArtifactId(), "asdf", getPackaging() , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "Invalid version." ); - } - - @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } ) - public void testAddArtifactNoPackaging() - { - addArtifact( getGroupId() , getArtifactId(), getVersion(), " " , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "You must enter a packaging." ); - } - - @Test(dependsOnMethods = { "testAddArtifactNoGroupId" } ) - public void testAddArtifactNoFilePath() - { - addArtifact( getGroupId() , getArtifactId(), getVersion(), getPackaging() , " ", getRepositoryId() ); - assertTextPresent( "Please add a file to upload." ); - } - - @Test(groups = "requiresUpload") - public void testAddArtifactValidValues() - { - String groupId = getProperty( "VALIDARTIFACT_GROUPID" ); - String artifactId = getProperty( "VALIDARTIFACT_ARTIFACTID" ); - - addArtifact( groupId , artifactId, getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + getVersion() + "' was successfully deployed to repository 'internal'" ); - } + public void testAddArtifactNullValues() + { + goToAddArtifactPage(); + clickButtonWithValue( "Submit" ); + assertTextPresent( "Please add a file to upload." ); + assertTextPresent( "Invalid version." ); + assertTextPresent( "You must enter a groupId." ); + assertTextPresent( "You must enter an artifactId." ); + assertTextPresent( "You must enter a version" ); + assertTextPresent( "You must enter a packaging" ); + } + + @Test( dependsOnMethods = { "testAddArtifactNullValues" } ) + public void testAddArtifactNoGroupId() + { + addArtifact( " ", getArtifactId(), getVersion(), getPackaging(), getArtifactFilePath(), getRepositoryId() ); + assertTextPresent( "You must enter a groupId." ); + } + + @Test( dependsOnMethods = { "testAddArtifactNoGroupId" } ) + public void testAddArtifactNoArtifactId() + { + + addArtifact( getGroupId(), " ", getVersion(), getPackaging(), getArtifactFilePath(), getRepositoryId() ); + assertTextPresent( "You must enter an artifactId." ); + } + + @Test( dependsOnMethods = { "testAddArtifactNoGroupId" } ) + public void testAddArtifactNoVersion() + { + addArtifact( getGroupId(), getArtifactId(), " ", getPackaging(), getArtifactFilePath(), getRepositoryId() ); + assertTextPresent( "You must enter a version." ); + } + + @Test( dependsOnMethods = { "testAddArtifactNoGroupId" } ) + public void testAddArtifactInvalidVersion() + { + addArtifact( getGroupId(), getArtifactId(), "asdf", getPackaging(), getArtifactFilePath(), getRepositoryId() ); + assertTextPresent( "Invalid version." ); + } + + @Test( dependsOnMethods = { "testAddArtifactNoGroupId" } ) + public void testAddArtifactNoPackaging() + { + addArtifact( getGroupId(), getArtifactId(), getVersion(), " ", getArtifactFilePath(), getRepositoryId() ); + assertTextPresent( "You must enter a packaging." ); + } + + @Test( dependsOnMethods = { "testAddArtifactNoGroupId" } ) + public void testAddArtifactNoFilePath() + { + addArtifact( getGroupId(), getArtifactId(), getVersion(), getPackaging(), " ", getRepositoryId() ); + assertTextPresent( "Please add a file to upload." ); + } + + @Test( groups = "requiresUpload" ) + public void testAddArtifactValidValues() + { + String groupId = getProperty( "VALIDARTIFACT_GROUPID" ); + String artifactId = getProperty( "VALIDARTIFACT_ARTIFACTID" ); + + addArtifact( groupId, artifactId, getVersion(), getPackaging(), getArtifactFilePath(), getRepositoryId() ); + assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + getVersion() + + "' was successfully deployed to repository 'internal'" ); + } @Test( groups = "requiresUpload" ) public void testDotNetTypes() { - String groupId = getProperty( "GROUPID_DOTNETARTIFACT" ); - String artifactId = getProperty( "ARTIFACTID_DOTNETARTIFACT" ); - String packaging = getProperty ( "PACKAGING_DOTNETARTIFACT" ); - - addArtifact( groupId, artifactId, getVersion(), packaging, getArtifactFilePath(), - getRepositoryId() ); - assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + getVersion() + "' was successfully deployed to repository 'internal'" ); + String groupId = getProperty( "GROUPID_DOTNETARTIFACT" ); + String artifactId = getProperty( "ARTIFACTID_DOTNETARTIFACT" ); + String packaging = getProperty( "PACKAGING_DOTNETARTIFACT" ); + + addArtifact( groupId, artifactId, getVersion(), packaging, getArtifactFilePath(), getRepositoryId() ); + assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + getVersion() + + "' was successfully deployed to repository 'internal'" ); getSelenium().open( baseUrl + "/browse/" + groupId + "/" + artifactId + "/" + getVersion() ); waitPage(); assertTextPresent( "library" ); String basePath = - "/archiva/repository/internal/" + groupId + "/" + artifactId + "/" + getVersion() + "/" + artifactId + "-" + - getVersion(); + "/archiva/repository/internal/" + groupId + "/" + artifactId + "/" + getVersion() + "/" + artifactId + "-" + + getVersion(); assertLinkPresent( ".NET Library" ); assertElementPresent( "//a[@href='" + basePath + ".dll']" ); assertElementPresent( "//a[@href='" + basePath + ".pom']" ); } - //MRM-747 - @Test(groups = "requiresUpload") - public void testAddArtifactBlockRedeployments() - { - addArtifact( getGroupId() , getArtifactId(), getVersion(), getPackaging() , getArtifactFilePath(), getRepositoryId() ); - assertTextPresent( "Overwriting released artifacts in repository '" + getRepositoryId() + "' is not allowed." ); - } - - @Test(groups = "requiresUpload") - public void testDeleteArtifact() - { - //prep - String groupId = getProperty( "GROUPID1" ); - String artifactId = getProperty( "ARTIFACTID1" ); - String version = getProperty( "VERSION1" ); - String packaging = getProperty( "PACKAGING1" ); - String repositoryId = getProperty( "REPOSITORYID1" ); - // TODO: do this differently as it only works in Firefox's chrome mode - addArtifact( groupId , artifactId, version, packaging , getArtifactFilePath(), repositoryId ); - assertTextPresent( "Artifact 'delete:delete:1.0' was successfully deployed to repository 'internal'" ); - - deleteArtifact( "delete", "delete", "1.0", "internal"); - assertTextPresent( "Artifact 'delete:delete:1.0' was successfully deleted from repository 'internal'" ); - } - - public void testDeleteArtifactNoGroupId() - { - deleteArtifact( " ", "delete", "1.0", "internal"); - assertTextPresent( "You must enter a groupId." ); - } - - public void testDeleteArtifactNoArtifactId() - { - deleteArtifact( "delete", " ", "1.0", "internal"); - assertTextPresent( "You must enter an artifactId." ); - } - - public void testDeleteArtifactNoVersion() - { - deleteArtifact( "delete", "delete", " ", "internal"); - assertTextPresent( "Invalid version." ); - assertTextPresent( "You must enter a version." ); - } - - public void testDeleteArtifactInvalidVersion() - { - deleteArtifact( "delete", "delete", "asdf", "internal"); - assertTextPresent( "Invalid version." ); - } -} + // MRM-747 + @Test( groups = "requiresUpload" ) + public void testAddArtifactBlockRedeployments() + { + addArtifact( getGroupId(), getArtifactId(), getVersion(), getPackaging(), getArtifactFilePath(), + getRepositoryId() ); + assertTextPresent( "Overwriting released artifacts in repository '" + getRepositoryId() + "' is not allowed." ); + } + + @Test( groups = "requiresUpload" ) + public void testDeleteArtifact() + { + // prep + String groupId = getProperty( "GROUPID1" ); + String artifactId = getProperty( "ARTIFACTID1" ); + String version = getProperty( "VERSION1" ); + String packaging = getProperty( "PACKAGING1" ); + String repositoryId = getProperty( "REPOSITORYID1" ); + // TODO: do this differently as it only works in Firefox's chrome mode + addArtifact( groupId, artifactId, version, packaging, getArtifactFilePath(), repositoryId ); + assertTextPresent( "Artifact 'delete:delete:1.0' was successfully deployed to repository 'internal'" ); + + deleteArtifact( "delete", "delete", "1.0", "internal" ); + assertTextPresent( "Artifact 'delete:delete:1.0' was successfully deleted from repository 'internal'" ); + } + + public void testDeleteArtifactNoGroupId() + { + deleteArtifact( " ", "delete", "1.0", "internal" ); + assertTextPresent( "You must enter a groupId." ); + } + + public void testDeleteArtifactNoArtifactId() + { + deleteArtifact( "delete", " ", "1.0", "internal" ); + assertTextPresent( "You must enter an artifactId." ); + } + + public void testDeleteArtifactNoVersion() + { + deleteArtifact( "delete", "delete", " ", "internal" ); + assertTextPresent( "Invalid version." ); + assertTextPresent( "You must enter a version." ); + } + + public void testDeleteArtifactInvalidVersion() + { + deleteArtifact( "delete", "delete", "asdf", "internal" ); + assertTextPresent( "Invalid version." ); + } +} \ No newline at end of file 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 a08c5e276..a99c44325 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 @@ -28,14 +28,14 @@ public class AuditLogsReportTest { private void goToAuditLogReports() { - clickLinkWithText( "Audit Log Report" ); + clickLinkWithText( "Audit Log Report" ); } - + private void assertAuditLogsReportPage() - { + { assertPage( "Apache Archiva \\ Audit Log Report" ); assertTextPresent( "Audit Log Report" ); - + assertElementPresent( "repository" ); assertElementPresent( "groupId" ); assertElementPresent( "artifactId" ); @@ -44,91 +44,91 @@ public class AuditLogsReportTest assertElementPresent( "rowCount" ); assertButtonWithValuePresent( "View Audit Log" ); } - - @Test(dependsOnMethods = { "testWithCorrectUsernamePassword" } ) + + @Test( dependsOnMethods = { "testWithCorrectUsernamePassword" } ) public void testAuditLogsReport() { - goToAuditLogReports(); + goToAuditLogReports(); assertAuditLogsReportPage(); assertTextPresent( "Latest Events" ); } - - @Test(dependsOnMethods = { "testWithCorrectUsernamePassword" } ) + + @Test( dependsOnMethods = { "testWithCorrectUsernamePassword" } ) public void testViewAuditLogsNoDataFound() { - goToAuditLogReports(); + goToAuditLogReports(); assertAuditLogsReportPage(); - + setFieldValue( "groupId", "non.existing" ); submit(); - - assertPage( "Apache Archiva \\ Audit Log Report" ); + + assertPage( "Apache Archiva \\ Audit Log Report" ); assertTextPresent( "Results" ); assertTextPresent( "No audit logs found." ); - } - + } + // TODO: add test for adding via WebDAV - @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload") + @Test( dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload" ) public void testViewAuditLogsDataFound() { - goToAuditLogReports(); + goToAuditLogReports(); assertAuditLogsReportPage(); - + selectValue( "repository", "internal" ); setFieldValue( "groupId", getProperty( "VALIDARTIFACT_GROUPID" ) ); submit(); - + assertAuditLogsReportPage(); assertTextPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + - "." + getProperty( "ARTIFACT_PACKAGING" ) ); + assertTextPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + "." + + getProperty( "ARTIFACT_PACKAGING" ) ); assertTextPresent( "Uploaded File" ); assertTextPresent( "internal" ); assertTextPresent( "admin" ); } - + // TODO: add test for adding via WebDAV - @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload") + @Test( dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload" ) public void testViewAuditLogsOnlyArtifactIdIsSpecified() { - goToAuditLogReports(); + goToAuditLogReports(); assertAuditLogsReportPage(); - + selectValue( "repository", "internal" ); setFieldValue( "artifactId", getProperty( "AUDITLOGARTIFACT_ARTIFACTID" ) ); submit(); - + assertAuditLogsReportPage(); assertTextPresent( "If you specify an artifact ID, you must specify a group ID" ); assertTextNotPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextNotPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + - "." + getProperty( "ARTIFACT_PACKAGING" ) ); + assertTextNotPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + "." + + getProperty( "ARTIFACT_PACKAGING" ) ); assertTextNotPresent( "Uploaded File" ); } - + // TODO: add test for adding via WebDAV - @Test (dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload") + @Test( dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload" ) public void testViewAuditLogsForAllRepositories() { - goToAuditLogReports(); + goToAuditLogReports(); assertAuditLogsReportPage(); - + selectValue( "repository", "all" ); submit(); - + assertAuditLogsReportPage(); assertTextPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + - "." + getProperty( "ARTIFACT_PACKAGING" ) ); + assertTextPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + "." + + getProperty( "ARTIFACT_PACKAGING" ) ); assertTextPresent( "Uploaded File" ); assertTextPresent( "internal" ); assertTextPresent( "admin" ); } - - @Test (dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, groups = "requiresUpload") + + @Test( dependsOnMethods = { "testAddArtifactValidValues", "testUserWithRepoManagerInternalRole" }, groups = "requiresUpload" ) public void testViewAuditLogsViewAuditEventsForManageableRepositoriesOnly() { String groupId = getProperty( "SNAPSHOT_GROUPID" ); @@ -136,13 +136,13 @@ public class AuditLogsReportTest String version = getProperty( "SNAPSHOT_VERSION" ); String repo = getProperty( "SNAPSHOT_REPOSITORYID" ); String packaging = getProperty( "SNAPSHOT_PACKAGING" ); - - addArtifact( groupId, artifactId, version, packaging, getProperty( "SNAPSHOT_ARTIFACTFILEPATH" ), repo ); - assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + version + - "' was successfully deployed to repository '" + repo + "'" ); - + + addArtifact( groupId, artifactId, version, packaging, getProperty( "SNAPSHOT_ARTIFACTFILEPATH" ), repo ); + assertTextPresent( "Artifact '" + groupId + ":" + artifactId + ":" + version + + "' was successfully deployed to repository '" + repo + "'" ); + clickLinkWithText( "Logout" ); - + login( getProperty( "REPOMANAGER_INTERNAL_USERNAME" ), getUserRoleNewPassword() ); goToAuditLogReports(); @@ -154,7 +154,8 @@ public class AuditLogsReportTest assertAuditLogsReportPage(); assertTextPresent( "Results" ); assertTextNotPresent( "No audit logs found." ); - assertTextPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + "." + packaging ); + assertTextPresent( getProperty( "VALIDARTIFACT_ARTIFACTID" ) + "-" + getProperty( "ARTIFACT_VERSION" ) + "." + + packaging ); assertTextPresent( "Uploaded File" ); assertTextPresent( "internal" ); assertTextPresent( "admin" ); @@ -163,7 +164,7 @@ public class AuditLogsReportTest clickLinkWithText( "Logout" ); login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) ); } - + // MRM-1304 @Test( dependsOnMethods = { "testAddArtifactValidValues" }, groups = "requiresUpload" ) public void testViewAuditLogsReportForGroupId() @@ -187,4 +188,4 @@ public class AuditLogsReportTest assertTextPresent( expectedArtifact ); assertTextPresent( repositoryId ); } -} +} \ No newline at end of file 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 1e7334383..f77c1098d 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 @@ -25,46 +25,48 @@ import org.apache.archiva.web.test.parent.AbstractBrowseTest; import org.testng.annotations.Test; @Test( groups = { "browse" }, dependsOnMethods = { "testAddArtifactNullValues" } ) -public class BrowseTest - extends AbstractBrowseTest +public class BrowseTest + extends AbstractBrowseTest { - - public void testBrowseArtifact() - { - goToBrowsePage(); - assertBrowsePage(); - } - - public void testClickArtifactFromBrowse() - { - goToBrowsePage(); - assertBrowsePage(); - clickLinkWithText( getProperty( "ARTIFACT_ARTIFACTID" ) + "/" ); - assertPage( "Apache Archiva \\ Browse Repository" ); - assertTextPresent( "Artifacts" ); - } + + public void testBrowseArtifact() + { + goToBrowsePage(); + assertBrowsePage(); + } + + public void testClickArtifactFromBrowse() + { + goToBrowsePage(); + assertBrowsePage(); + clickLinkWithText( getProperty( "ARTIFACT_ARTIFACTID" ) + "/" ); + assertPage( "Apache Archiva \\ Browse Repository" ); + assertTextPresent( "Artifacts" ); + } // MRM-1278 - @Test(groups = {"requiresUpload"}) + @Test( groups = { "requiresUpload" } ) public void testCorrectRepositoryInBrowse() { String releasesRepo = getProperty( "RELEASES_REPOSITORY" ); - + // create releases repository first goToRepositoriesPage(); clickLinkWithText( "Add" ); addManagedRepository( getProperty( "RELEASES_REPOSITORY" ), "Releases Repository", - new File( getBasedir(), "target/repository/releases" ).getPath(), "", "Maven 2.x Repository", - "0 0 * * * ?", "", "" ); + new File( getBasedir(), "target/repository/releases" ).getPath(), "", + "Maven 2.x Repository", "0 0 * * * ?", "", "" ); assertTextPresent( "Releases Repository" ); - + String snapshotsRepo = getProperty( "SNAPSHOTS_REPOSITORY" ); - String path = "src/test/resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar"; + String path = + "src/test/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' + // upload a snapshot artifact to repository 'releases' addArtifact( "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar", path, releasesRepo ); - assertTextPresent( "Artifact 'archiva:archiva-webapp:1.0-SNAPSHOT' was successfully deployed to repository '" + releasesRepo + "'" ); + assertTextPresent( "Artifact 'archiva:archiva-webapp:1.0-SNAPSHOT' was successfully deployed to repository '" + + releasesRepo + "'" ); goToBrowsePage(); assertBrowsePage(); @@ -72,9 +74,10 @@ public class BrowseTest assertArtifactsPage( "archiva-webapp/" ); assertArtifactInfoPage( "1.0-SNAPSHOT/", releasesRepo, "archiva", "archiva-webapp", "1.0-SNAPSHOT", "jar" ); - // upload a snapshot artifact to repository 'snapshots' + // upload a snapshot artifact to repository 'snapshots' addArtifact( "continuum", "continuum-core", "1.0-SNAPSHOT", "jar", path, snapshotsRepo ); - assertTextPresent( "Artifact 'continuum:continuum-core:1.0-SNAPSHOT' was successfully deployed to repository '" + snapshotsRepo + "'" ); + assertTextPresent( "Artifact 'continuum:continuum-core:1.0-SNAPSHOT' was successfully deployed to repository '" + + snapshotsRepo + "'" ); goToBrowsePage(); assertBrowsePage(); @@ -84,7 +87,8 @@ public class BrowseTest } private void assertArtifactInfoPage( String version, String artifactInfoRepositoryId, String artifactInfoGroupId, - String artifactInfoArtifactId, String artifactInfoVersion, String artifactInfoPackaging ) + String artifactInfoArtifactId, String artifactInfoVersion, + String artifactInfoPackaging ) { clickLinkWithText( version ); assertPage( "Apache Archiva \\ Browse Repository" ); @@ -108,4 +112,4 @@ public class BrowseTest assertPage( "Apache Archiva \\ Browse Repository" ); assertTextPresent( "Artifacts" ); } -} +} \ No newline at end of file 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 f0db8bea3..2278ade33 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 @@ -24,22 +24,22 @@ import org.testng.annotations.Test; @Test( groups = { "findartifact" }, sequential = true ) public class FindArtifactTest - extends AbstractArchivaTest + extends AbstractArchivaTest { - public void testFindArtifactNullValues() - { - goToFindArtifactPage(); - clickButtonWithValue( "Search" ); - assertTextPresent( "You must select a file, or enter the checksum. If the file was given and you receive this message, there may have been an error generating the checksum." ); - } - - public void testFindArtifactUsingChecksum() - { - goToFindArtifactPage(); - setFieldValue( "checksumSearch_q" , "8e896baea663a45d7bd2737f8e464481" ); - clickButtonWithValue( "Search" ); - assertTextPresent( "No results found" ); - } + public void testFindArtifactNullValues() + { + goToFindArtifactPage(); + clickButtonWithValue( "Search" ); + assertTextPresent( "You must select a file, or enter the checksum. If the file was given and you receive this message, there may have been an error generating the checksum." ); + } + + public void testFindArtifactUsingChecksum() + { + goToFindArtifactPage(); + setFieldValue( "checksumSearch_q", "8e896baea663a45d7bd2737f8e464481" ); + clickButtonWithValue( "Search" ); + assertTextPresent( "No results found" ); + } // TODO: test using file upload on Firefox versions that support getAsBinary (ie, no applet) -} +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LegacySupportTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LegacySupportTest.java index 26212a949..27e3b7857 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LegacySupportTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LegacySupportTest.java @@ -23,53 +23,53 @@ import org.apache.archiva.web.test.parent.AbstractArtifactManagementTest; import org.testng.annotations.Test; @Test( groups = { "legacysupport" }, dependsOnMethods = { "testWithCorrectUsernamePassword" }, sequential = true ) -public class LegacySupportTest - extends AbstractArtifactManagementTest +public class LegacySupportTest + extends AbstractArtifactManagementTest { - public void testAddLegacyArtifact_NullValues() - { - goToLegacySupportPage(); - clickLinkWithText( "Add" ); - addLegacyArtifactPath( "" , "" , "" , "" , "" , ""); - assertTextPresent( "You must enter a legacy path." ); - assertTextPresent( "You must enter a groupId." ); - assertTextPresent( "You must enter an artifactId." ); - assertTextPresent( "You must enter a version." ); - assertTextPresent( "You must enter a type." ); - } - - @Test( dependsOnMethods = { "testAddLegacyArtifact_NullValues" }) - public void testAddLegacyArtifact_NullLegacyPath() - { - addLegacyArtifactPath( "" , "test" , "test" , "1.0-SNAPSHOT" , "testing" , "jar"); - assertTextPresent( "You must enter a legacy path." ); - } - - @Test( dependsOnMethods = { "testAddLegacyArtifact_NullLegacyPath" }) - public void testAddLegacyArtifact_NullGroupId() - { - addLegacyArtifactPath( "test" , "" , "test" , "1.0-SNAPSHOT" , "testing" , "jar"); - assertTextPresent( "You must enter a groupId." ); - } - - @Test( dependsOnMethods = { "testAddLegacyArtifact_NullGroupId" }) - public void testAddLegacyArtifact_NullArtifactId() - { - addLegacyArtifactPath( "test" , "test" , "" , "1.0-SNAPSHOT" , "testing" , "jar"); - assertTextPresent( "You must enter an artifactId." ); - } - - @Test( dependsOnMethods = { "testAddLegacyArtifact_NullArtifactId" }) - public void testAddLegacyArtifact_NullVersion() - { - addLegacyArtifactPath( "test" , "test" , "test" , "" , "testing" , "jar"); - assertTextPresent( "You must enter a version." ); - } - - @Test( dependsOnMethods = { "testAddLegacyArtifact_NullVersion" }) - public void testAddLegacyArtifact_NullType() - { - addLegacyArtifactPath( "test" , "test" , "test" , "1.0-SNAPSHOT" , "testing" , ""); - assertTextPresent( "You must enter a type." ); - } -} + public void testAddLegacyArtifact_NullValues() + { + goToLegacySupportPage(); + clickLinkWithText( "Add" ); + addLegacyArtifactPath( "", "", "", "", "", "" ); + assertTextPresent( "You must enter a legacy path." ); + assertTextPresent( "You must enter a groupId." ); + assertTextPresent( "You must enter an artifactId." ); + assertTextPresent( "You must enter a version." ); + assertTextPresent( "You must enter a type." ); + } + + @Test( dependsOnMethods = { "testAddLegacyArtifact_NullValues" } ) + public void testAddLegacyArtifact_NullLegacyPath() + { + addLegacyArtifactPath( "", "test", "test", "1.0-SNAPSHOT", "testing", "jar" ); + assertTextPresent( "You must enter a legacy path." ); + } + + @Test( dependsOnMethods = { "testAddLegacyArtifact_NullLegacyPath" } ) + public void testAddLegacyArtifact_NullGroupId() + { + addLegacyArtifactPath( "test", "", "test", "1.0-SNAPSHOT", "testing", "jar" ); + assertTextPresent( "You must enter a groupId." ); + } + + @Test( dependsOnMethods = { "testAddLegacyArtifact_NullGroupId" } ) + public void testAddLegacyArtifact_NullArtifactId() + { + addLegacyArtifactPath( "test", "test", "", "1.0-SNAPSHOT", "testing", "jar" ); + assertTextPresent( "You must enter an artifactId." ); + } + + @Test( dependsOnMethods = { "testAddLegacyArtifact_NullArtifactId" } ) + public void testAddLegacyArtifact_NullVersion() + { + addLegacyArtifactPath( "test", "test", "test", "", "testing", "jar" ); + assertTextPresent( "You must enter a version." ); + } + + @Test( dependsOnMethods = { "testAddLegacyArtifact_NullVersion" } ) + public void testAddLegacyArtifact_NullType() + { + addLegacyArtifactPath( "test", "test", "test", "1.0-SNAPSHOT", "testing", "" ); + assertTextPresent( "You must enter a type." ); + } +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LoginTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LoginTest.java index 6cc1f68ad..bed113348 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LoginTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/LoginTest.java @@ -36,11 +36,11 @@ import org.testng.annotations.Test; * @version $Id$ */ -@Test ( groups = { "login" } ) -public class LoginTest - extends AbstractArchivaTest +@Test( groups = { "login" } ) +public class LoginTest + extends AbstractArchivaTest { - public void testWithBadUsername() + public void testWithBadUsername() { goToLoginPage(); getSelenium().type( "loginForm_username", "badUsername" ); @@ -92,8 +92,8 @@ public class LoginTest assertTextPresent( "Logout" ); assertTextPresent( getProperty( "ADMIN_USERNAME" ) ); } - - @BeforeTest + + @BeforeTest public void open() throws Exception { @@ -107,4 +107,4 @@ public class LoginTest { super.close(); } -} +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/NetworkProxiesTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/NetworkProxiesTest.java index b12a096b8..ce5b78cbe 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/NetworkProxiesTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/NetworkProxiesTest.java @@ -23,74 +23,74 @@ import org.apache.archiva.web.test.parent.AbstractRepositoryTest; import org.testng.annotations.Test; @Test( groups = { "networkproxies" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) -public class NetworkProxiesTest - extends AbstractRepositoryTest +public class NetworkProxiesTest + extends AbstractRepositoryTest { - @Test (dependsOnMethods = { "testDeleteRepositoryGroup" } ) - public void testAddNetworkProxyNullValues() - { - goToNetworkProxiesPage(); - addNetworkProxy( "", "", "", "", "", ""); - assertTextPresent( "You must enter an identifier." ); - assertTextPresent( "You must enter a protocol." ); - assertTextPresent( "You must enter a host." ); - } - - @Test (dependsOnMethods = { "testAddNetworkProxyNullValues" } ) - public void testAddNetworkProxyNullIdentifier() - { - goToNetworkProxiesPage(); - addNetworkProxy( "", "http", "localhost", "8080", "", ""); - assertTextPresent( "You must enter an identifier." ); - } - - @Test (dependsOnMethods = { "testAddNetworkProxyNullIdentifier" } ) - public void testAddNetworkProxyNullProtocol() - { - goToNetworkProxiesPage(); - addNetworkProxy( "testing123", "", "localhost", "8080", "", ""); - assertTextPresent( "You must enter a protocol." ); - } - - @Test (dependsOnMethods = { "testAddNetworkProxyNullProtocol" } ) - public void testAddNetworkProxiesNullHostname() - { - goToNetworkProxiesPage(); - addNetworkProxy( "testing123", "http", "", "8080", "", ""); - assertTextPresent( "You must enter a host." ); - } - - @Test (dependsOnMethods = { "testAddNetworkProxiesNullHostname" } ) - public void testAddNetworkProxiesValidValues() - { - goToNetworkProxiesPage(); - addNetworkProxy( "testing123", "http", "localhost", "8080", "", ""); - assertPage( "Apache Archiva \\ Administration - Network Proxies" ); - assertTextPresent( "testing123" ); - } - - @Test (dependsOnMethods = { "testAddNetworkProxiesValidValues" } ) - public void testEditNetworkProxy() - { - editNetworkProxies( "proxy.host", "localhost" ); - assertPage( "Apache Archiva \\ Administration - Network Proxies" ); - assertTextPresent( "localhost" ); - } - - @Test (dependsOnMethods = { "testEditNetworkProxy" } ) - public void testDeleteNetworkProxy() - { - deleteNetworkProxy(); - assertPage( "Apache Archiva \\ Administration - Network Proxies" ); - assertTextPresent( "There are no network proxies configured yet." ); - } - - @Test (dependsOnMethods = { "testDeleteNetworkProxy" } ) - public void testAddNetworkProxyAfterDelete() - { - addNetworkProxy( "testing123", "http", "localhost", "8080", "", ""); - assertPage( "Apache Archiva \\ Administration - Network Proxies" ); - assertTextPresent( "testing123" ); - } - -} + @Test( dependsOnMethods = { "testDeleteRepositoryGroup" } ) + public void testAddNetworkProxyNullValues() + { + goToNetworkProxiesPage(); + addNetworkProxy( "", "", "", "", "", "" ); + assertTextPresent( "You must enter an identifier." ); + assertTextPresent( "You must enter a protocol." ); + assertTextPresent( "You must enter a host." ); + } + + @Test( dependsOnMethods = { "testAddNetworkProxyNullValues" } ) + public void testAddNetworkProxyNullIdentifier() + { + goToNetworkProxiesPage(); + addNetworkProxy( "", "http", "localhost", "8080", "", "" ); + assertTextPresent( "You must enter an identifier." ); + } + + @Test( dependsOnMethods = { "testAddNetworkProxyNullIdentifier" } ) + public void testAddNetworkProxyNullProtocol() + { + goToNetworkProxiesPage(); + addNetworkProxy( "testing123", "", "localhost", "8080", "", "" ); + assertTextPresent( "You must enter a protocol." ); + } + + @Test( dependsOnMethods = { "testAddNetworkProxyNullProtocol" } ) + public void testAddNetworkProxiesNullHostname() + { + goToNetworkProxiesPage(); + addNetworkProxy( "testing123", "http", "", "8080", "", "" ); + assertTextPresent( "You must enter a host." ); + } + + @Test( dependsOnMethods = { "testAddNetworkProxiesNullHostname" } ) + public void testAddNetworkProxiesValidValues() + { + goToNetworkProxiesPage(); + addNetworkProxy( "testing123", "http", "localhost", "8080", "", "" ); + assertPage( "Apache Archiva \\ Administration - Network Proxies" ); + assertTextPresent( "testing123" ); + } + + @Test( dependsOnMethods = { "testAddNetworkProxiesValidValues" } ) + public void testEditNetworkProxy() + { + editNetworkProxies( "proxy.host", "localhost" ); + assertPage( "Apache Archiva \\ Administration - Network Proxies" ); + assertTextPresent( "localhost" ); + } + + @Test( dependsOnMethods = { "testEditNetworkProxy" } ) + public void testDeleteNetworkProxy() + { + deleteNetworkProxy(); + assertPage( "Apache Archiva \\ Administration - Network Proxies" ); + assertTextPresent( "There are no network proxies configured yet." ); + } + + @Test( dependsOnMethods = { "testDeleteNetworkProxy" } ) + public void testAddNetworkProxyAfterDelete() + { + addNetworkProxy( "testing123", "http", "localhost", "8080", "", "" ); + assertPage( "Apache Archiva \\ Administration - Network Proxies" ); + assertTextPresent( "testing123" ); + } + +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ReportsTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ReportsTest.java index 756763fec..89f7b64fa 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ReportsTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/ReportsTest.java @@ -23,79 +23,61 @@ import org.apache.archiva.web.test.parent.AbstractArtifactReportsTest; import org.testng.annotations.Test; @Test( groups = { "reports" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) -public class ReportsTest - extends AbstractArtifactReportsTest +public class ReportsTest + extends AbstractArtifactReportsTest { - //TODO Tests for repository with defects - - public void testRepoStatisticsWithoutRepoCompared() - { - goToReportsPage(); - clickButtonWithValue( "View Statistics" ); - assertTextPresent( "Please select a repository (or repositories) from the list." ); - } - - @Test(dependsOnMethods = { "testRepoStatisticsWithoutRepoCompared" } ) - public void testRepositoryStatisticsWithoutDate() - { - String repositoryName = getProperty( "REPOSITORY_NAME" ) ; - compareRepositories( "label=" + repositoryName, "", "" ); - //TODO - //assertTextPresent( "Statistics Report" ); - } - - @Test(dependsOnMethods = { "testRepoStatisticsWithoutRepoCompared" } ) - public void testRepositoryStatisticsEndEarlierThanStart() - { - String repositoryName = getProperty( "REPOSITORY_NAME" ) ; - String startDate = getProperty( "END_DATE" ); - String endDate = getProperty( "START_DATE" ); - compareRepositories( "label=" + repositoryName, startDate, endDate ); - //assertTextPresent( "Statistics for Repository '" + repositoryName + "'" ); - assertPage( "Apache Archiva \\ Reports" ); - assertTextPresent( "Start Date must be earlier than the End Date" ); - } - - public void testRepositoryStatistics() - { - String repositoryName = getProperty( "REPOSITORY_NAME" ) ; - String startDate = getProperty( "START_DATE" ); - String endDate = getProperty( "END_DATE" ); - compareRepositories( "label=" + repositoryName, startDate, endDate ); - //assertTextPresent( "Statistics for Repository '" + repositoryName + "'" ); - //assertPage( "Apache Archiva \\ Reports" ); - //assertTextPresent( "Statistics Report" ); - } - - /* @Test( dependsOnMethods = { "testRepositoryStatistics" } ) - public void testRepositoriesStatisticComparisonReport() - { - //goToReportsPage(); - clickButtonWithValue( "-->>" , false ); - clickButtonWithValue( "View Statistics" ); - assertTextPresent( "Statistics Report" ); - } - - public void testRepositoryHealthWithoutDefect() - { - goToReportsPage(); - String groupId = getProperty( "ARTIFACT_GROUPID" ); - getSelenium().type( "generateReport_groupId" , groupId ); - clickButtonWithValue( "Show Report" ); - assertPage( "Apache Archiva \\ Reports" ); - assertTextPresent( "The operation generated an empty report." ); - } - - public void testRepositoryHealthWithoutGroupId() - { - goToReportsPage(); - clickButtonWithValue( "Show Report" ); - assertPage( "Apache Archiva \\ Reports" ); - assertTextPresent( "The operation generated an empty report." ); - - //TODO As of the creation of the tests, GroupId is not a required field in showing the reports of repository health. GroupId should be required I think. - }*/ - - - -} + // TODO Tests for repository with defects + + public void testRepoStatisticsWithoutRepoCompared() + { + goToReportsPage(); + clickButtonWithValue( "View Statistics" ); + assertTextPresent( "Please select a repository (or repositories) from the list." ); + } + + @Test( dependsOnMethods = { "testRepoStatisticsWithoutRepoCompared" } ) + public void testRepositoryStatisticsWithoutDate() + { + String repositoryName = getProperty( "REPOSITORY_NAME" ); + compareRepositories( "label=" + repositoryName, "", "" ); + // TODO + // assertTextPresent( "Statistics Report" ); + } + + @Test( dependsOnMethods = { "testRepoStatisticsWithoutRepoCompared" } ) + public void testRepositoryStatisticsEndEarlierThanStart() + { + String repositoryName = getProperty( "REPOSITORY_NAME" ); + String startDate = getProperty( "END_DATE" ); + String endDate = getProperty( "START_DATE" ); + compareRepositories( "label=" + repositoryName, startDate, endDate ); + // assertTextPresent( "Statistics for Repository '" + repositoryName + "'" ); + assertPage( "Apache Archiva \\ Reports" ); + assertTextPresent( "Start Date must be earlier than the End Date" ); + } + + public void testRepositoryStatistics() + { + String repositoryName = getProperty( "REPOSITORY_NAME" ); + String startDate = getProperty( "START_DATE" ); + String endDate = getProperty( "END_DATE" ); + compareRepositories( "label=" + repositoryName, startDate, endDate ); + // assertTextPresent( "Statistics for Repository '" + repositoryName + "'" ); + // assertPage( "Apache Archiva \\ Reports" ); + // assertTextPresent( "Statistics Report" ); + } + + /* + * @Test( dependsOnMethods = { "testRepositoryStatistics" } ) public void + * testRepositoriesStatisticComparisonReport() { //goToReportsPage(); clickButtonWithValue( "-->>" , false ); + * clickButtonWithValue( "View Statistics" ); assertTextPresent( "Statistics Report" ); } public void + * testRepositoryHealthWithoutDefect() { goToReportsPage(); String groupId = getProperty( "ARTIFACT_GROUPID" ); + * getSelenium().type( "generateReport_groupId" , groupId ); clickButtonWithValue( "Show Report" ); assertPage( + * "Apache Archiva \\ Reports" ); assertTextPresent( "The operation generated an empty report." ); } public void + * testRepositoryHealthWithoutGroupId() { goToReportsPage(); clickButtonWithValue( "Show Report" ); assertPage( + * "Apache Archiva \\ Reports" ); assertTextPresent( "The operation generated an empty report." ); //TODO As of the + * creation of the tests, GroupId is not a required field in showing the reports of repository health. GroupId + * should be required I think. } + */ + +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryScanningTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryScanningTest.java index 74480e810..64559dec2 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryScanningTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryScanningTest.java @@ -24,159 +24,165 @@ import org.testng.Assert; import org.testng.annotations.Test; @Test( groups = { "reposcan" }, dependsOnMethods = { "testWithCorrectUsernamePassword" }, sequential = true ) -public class RepositoryScanningTest - extends AbstractRepositoryTest +public class RepositoryScanningTest + extends AbstractRepositoryTest { - public void testAddArtifactFileType_NullValue() - { - goToRepositoryScanningPage(); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[14]/td[2]/a/img" ); - assertTextPresent( "Unable to process blank pattern." ); - } - - @Test (dependsOnMethods = { "testAddArtifactFileType_NullValue" } ) - public void testAddArtifactFileType() - { - setFieldValue( "newpattern_0" , "**/*.dll" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[14]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[1]/table.13.0"), "**/*.dll" ); - } - - @Test (dependsOnMethods = { "testAddArtifactFileType" } ) - public void testAddArtifactFileType_ExistingValue() - { - setFieldValue( "newpattern_0" , "**/*.zip" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[15]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getText("//span[@class='errorMessage']"), "Not adding pattern \"**/*.zip\" to filetype artifacts as it already exists." ); - } - - @Test (dependsOnMethods = { "testAddArtifactFileType_ExistingValue" } ) - public void testDeleteArtifactFileType() - { - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[1]/table.13.0"), "**/*.dll" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[14]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[1]/table.13.0"), "" ); - } - - @Test (dependsOnMethods = { "testDeleteArtifactFileType" } ) - public void testAddAutoRemove_NullValue() - { - setFieldValue( "newpattern_1" , "" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); - assertTextPresent( "Unable to process blank pattern." ); - } - - @Test (dependsOnMethods = { "testAddAutoRemove_NullValue" } ) - public void testAddAutoRemove_ExistingValue() - { - setFieldValue( "newpattern_1" , "**/*-" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getText("//span[@class='errorMessage']"), "Not adding pattern \"**/*-\" to filetype auto-remove as it already exists." ); - } - - @Test (dependsOnMethods = { "testAddAutoRemove_ExistingValue" } ) - public void testAddAutoRemove() - { - setFieldValue( "newpattern_1" , "**/*.test" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[2]/table.3.0"), "**/*.test" ); - } - - @Test (dependsOnMethods = { "testAddAutoRemove" } ) - public void testDeleteAutoRemove() - { - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[2]/table.3.0"), "**/*.test" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[2]/table.3.0"), "" ); - } - - @Test (dependsOnMethods = { "testDeleteAutoRemove" } ) - public void testAddIgnoredArtifacts_NullValue() - { - setFieldValue( "newpattern_2" , "" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getText("//span[@class='errorMessage']"), "Unable to process blank pattern." ); - } - - @Test (dependsOnMethods = { "testAddIgnoredArtifacts_NullValue" } ) - public void testAddIgnoredArtifacts_ExistingValue() - { - setFieldValue( "newpattern_2" , "**/*.sh" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getText("//span[@class='errorMessage']"), "Not adding pattern \"**/*.sh\" to filetype ignored as it already exists." ); - } - - @Test (dependsOnMethods = { "testAddIgnoredArtifacts_ExistingValue" } ) - public void testAddIgnoredArtifacts() - { - setFieldValue( "newpattern_2" , "**/*.log" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[3]/table.6.0"), "**/*.log" ); - } - - @Test (dependsOnMethods = { "testAddIgnoredArtifacts" } ) - public void testDeleteIgnoredArtifacts() - { - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[3]/table.6.0"), "**/*.log" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[3]/table.6.0"), "" ); - } - - // - @Test (dependsOnMethods = { "testDeleteIgnoredArtifacts" } ) - public void testAddIndexableContent_NullValue() - { - setFieldValue( "newpattern_3" , "" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getText("//span[@class='errorMessage']"), "Unable to process blank pattern." ); - } - - @Test (dependsOnMethods = { "testAddIndexableContent_NullValue" } ) - public void testAddIndexableContent_ExistingValue() - { - setFieldValue( "newpattern_3" , "**/*.xml" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getText("//span[@class='errorMessage']"), "Not adding pattern \"**/*.xml\" to filetype indexable-content as it already exists." ); - } - - @Test (dependsOnMethods = { "testAddIndexableContent_ExistingValue" } ) - public void testAddIndexableContent() - { - setFieldValue( "newpattern_3" , "**/*.html" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[4]/table.9.0"), "**/*.html" ); - } - - @Test (dependsOnMethods = { "testAddIndexableContent" } ) - public void testDeleteIndexableContent() - { - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[4]/table.9.0"), "**/*.html" ); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[4]/table.9.0"), "" ); - } - - @Test (dependsOnMethods = { "testDeleteIndexableContent" } ) - public void testUpdateConsumers() - { - checkField( "enabledKnownContentConsumers" ); - checkField( "//input[@name='enabledKnownContentConsumers' and @value='auto-rename']" ); - clickButtonWithValue( "Update Consumers" ); - assertPage( "Apache Archiva \\ Administration - Repository Scanning" ); - } - - @Test (dependsOnMethods = { "testUpdateConsumers" } ) - public void testUpdateConsumers_UnsetAll() - { - getSelenium().uncheck( "enabledKnownContentConsumers" ); - getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='auto-rename']" ); - getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='create-missing-checksums']" ); - getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='index-content']" ); - getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='metadata-updater']" ); - getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='repository-purge']" ); - getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='validate-checksums']" ); - clickButtonWithValue( "Update Consumers" ); - - assertPage( "Apache Archiva \\ Administration - Repository Scanning" ); - } - -} + public void testAddArtifactFileType_NullValue() + { + goToRepositoryScanningPage(); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[14]/td[2]/a/img" ); + assertTextPresent( "Unable to process blank pattern." ); + } + + @Test( dependsOnMethods = { "testAddArtifactFileType_NullValue" } ) + public void testAddArtifactFileType() + { + setFieldValue( "newpattern_0", "**/*.dll" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[14]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[1]/table.13.0" ), "**/*.dll" ); + } + + @Test( dependsOnMethods = { "testAddArtifactFileType" } ) + public void testAddArtifactFileType_ExistingValue() + { + setFieldValue( "newpattern_0", "**/*.zip" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[15]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getText( "//span[@class='errorMessage']" ), + "Not adding pattern \"**/*.zip\" to filetype artifacts as it already exists." ); + } + + @Test( dependsOnMethods = { "testAddArtifactFileType_ExistingValue" } ) + public void testDeleteArtifactFileType() + { + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[1]/table.13.0" ), "**/*.dll" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[1]/table/tbody/tr[14]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[1]/table.13.0" ), "" ); + } + + @Test( dependsOnMethods = { "testDeleteArtifactFileType" } ) + public void testAddAutoRemove_NullValue() + { + setFieldValue( "newpattern_1", "" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); + assertTextPresent( "Unable to process blank pattern." ); + } + + @Test( dependsOnMethods = { "testAddAutoRemove_NullValue" } ) + public void testAddAutoRemove_ExistingValue() + { + setFieldValue( "newpattern_1", "**/*-" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getText( "//span[@class='errorMessage']" ), + "Not adding pattern \"**/*-\" to filetype auto-remove as it already exists." ); + } + + @Test( dependsOnMethods = { "testAddAutoRemove_ExistingValue" } ) + public void testAddAutoRemove() + { + setFieldValue( "newpattern_1", "**/*.test" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[2]/table.3.0" ), "**/*.test" ); + } + + @Test( dependsOnMethods = { "testAddAutoRemove" } ) + public void testDeleteAutoRemove() + { + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[2]/table.3.0" ), "**/*.test" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[2]/table/tbody/tr[4]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[2]/table.3.0" ), "" ); + } + + @Test( dependsOnMethods = { "testDeleteAutoRemove" } ) + public void testAddIgnoredArtifacts_NullValue() + { + setFieldValue( "newpattern_2", "" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getText( "//span[@class='errorMessage']" ), + "Unable to process blank pattern." ); + } + + @Test( dependsOnMethods = { "testAddIgnoredArtifacts_NullValue" } ) + public void testAddIgnoredArtifacts_ExistingValue() + { + setFieldValue( "newpattern_2", "**/*.sh" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getText( "//span[@class='errorMessage']" ), + "Not adding pattern \"**/*.sh\" to filetype ignored as it already exists." ); + } + + @Test( dependsOnMethods = { "testAddIgnoredArtifacts_ExistingValue" } ) + public void testAddIgnoredArtifacts() + { + setFieldValue( "newpattern_2", "**/*.log" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[3]/table.6.0" ), "**/*.log" ); + } + + @Test( dependsOnMethods = { "testAddIgnoredArtifacts" } ) + public void testDeleteIgnoredArtifacts() + { + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[3]/table.6.0" ), "**/*.log" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[3]/table/tbody/tr[7]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[3]/table.6.0" ), "" ); + } + + // + @Test( dependsOnMethods = { "testDeleteIgnoredArtifacts" } ) + public void testAddIndexableContent_NullValue() + { + setFieldValue( "newpattern_3", "" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getText( "//span[@class='errorMessage']" ), + "Unable to process blank pattern." ); + } + + @Test( dependsOnMethods = { "testAddIndexableContent_NullValue" } ) + public void testAddIndexableContent_ExistingValue() + { + setFieldValue( "newpattern_3", "**/*.xml" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getText( "//span[@class='errorMessage']" ), + "Not adding pattern \"**/*.xml\" to filetype indexable-content as it already exists." ); + } + + @Test( dependsOnMethods = { "testAddIndexableContent_ExistingValue" } ) + public void testAddIndexableContent() + { + setFieldValue( "newpattern_3", "**/*.html" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[4]/table.9.0" ), "**/*.html" ); + } + + @Test( dependsOnMethods = { "testAddIndexableContent" } ) + public void testDeleteIndexableContent() + { + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[4]/table.9.0" ), "**/*.html" ); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[4]/table/tbody/tr[10]/td[2]/a/img" ); + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[4]/table.9.0" ), "" ); + } + + @Test( dependsOnMethods = { "testDeleteIndexableContent" } ) + public void testUpdateConsumers() + { + checkField( "enabledKnownContentConsumers" ); + checkField( "//input[@name='enabledKnownContentConsumers' and @value='auto-rename']" ); + clickButtonWithValue( "Update Consumers" ); + assertPage( "Apache Archiva \\ Administration - Repository Scanning" ); + } + + @Test( dependsOnMethods = { "testUpdateConsumers" } ) + public void testUpdateConsumers_UnsetAll() + { + getSelenium().uncheck( "enabledKnownContentConsumers" ); + getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='auto-rename']" ); + getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='create-missing-checksums']" ); + getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='index-content']" ); + getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='metadata-updater']" ); + getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='repository-purge']" ); + getSelenium().uncheck( "//input[@name='enabledKnownContentConsumers' and @value='validate-checksums']" ); + clickButtonWithValue( "Update Consumers" ); + + assertPage( "Apache Archiva \\ Administration - Repository Scanning" ); + } + +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java index 8eabb7950..f2c2a9c2e 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/RepositoryTest.java @@ -24,137 +24,142 @@ import org.testng.annotations.Test; @Test( groups = { "repository" }, dependsOnMethods = { "testWithCorrectUsernamePassword" }, sequential = true ) public class RepositoryTest - extends AbstractRepositoryTest + extends AbstractRepositoryTest { - public void testAddManagedRepoValidValues() - { - goToRepositoriesPage(); - getSelenium().open( "/archiva/admin/addRepository.action" ); - addManagedRepository( "managedrepo1", "Managed Repository Sample 1" , getRepositoryDir() + "repository/" , "", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); - clickButtonWithValue( "Save" ); - assertTextPresent( "Managed Repository Sample 1" ); - assertRepositoriesPage(); - } - - @Test(dependsOnMethods = { "testAddManagedRepoValidValues" } ) - public void testAddManagedRepoInvalidValues() - { - goToRepositoriesPage(); - getSelenium().open( "/archiva/admin/addRepository.action" ); - addManagedRepository( "", "" , "" , "", "Maven 2.x Repository", "", "", "" ); - assertTextPresent( "You must enter a repository identifier." ); - assertTextPresent( "You must enter a repository name." ); - assertTextPresent( "You must enter a directory." ); - assertTextPresent( "Invalid cron expression." ); - } - - @Test(dependsOnMethods = { "testAddManagedRepoInvalidValues" } ) - public void testAddManagedRepoNoIdentifier() - { - addManagedRepository( "", "name" , "/home" , "/.index", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); - assertTextPresent( "You must enter a repository identifier." ); - } - - @Test(dependsOnMethods = { "testAddManagedRepoNoIdentifier" } ) - public void testAddManagedRepoNoRepoName() - { - addManagedRepository( "identifier", "" , "/home" , "/.index", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); - assertTextPresent( "You must enter a repository name." ); - } - - @Test(dependsOnMethods = { "testAddManagedRepoNoRepoName" } ) - public void testAddManagedRepoNoDirectory() - { - addManagedRepository( "identifier", "name" , "" , "/.index", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); - assertTextPresent( "You must enter a directory." ); - } - - @Test(dependsOnMethods = { "testAddManagedRepoNoDirectory" } ) - public void testAddManagedRepoNoCron() - { - addManagedRepository( "identifier", "name" , "/home" , "/.index", "Maven 2.x Repository", "", "", "" ); - assertTextPresent( "Invalid cron expression." ); - } - - @Test(dependsOnMethods = { "testAddManagedRepoNoCron" } ) - public void testAddManagedRepoForEdit() - { - goToRepositoriesPage(); - getSelenium().open( "/archiva/admin/addRepository.action" ); - addManagedRepository( "managedrepo", "Managed Repository Sample" , getRepositoryDir() + "local-repo/", "", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); - clickButtonWithValue( "Save" ); - assertTextPresent( "Managed Repository Sample" ); - } - - //TODO - @Test(dependsOnMethods = { "testAddManagedRepoForEdit" } ) - public void testEditManagedRepo() - { - editManagedRepository( "repository.name" , "Managed Repo" ); - assertTextPresent( "Managed Repository Sample" ); - } - - //TODO - @Test(dependsOnMethods = { "testEditManagedRepo" } ) - public void testDeleteManageRepo() - { - deleteManagedRepository(); - //assertTextNotPresent( "managedrepo" ); - } - - @Test(dependsOnMethods = { "testAddRemoteRepoValidValues" } ) - public void testAddRemoteRepoNullValues() - { - getSelenium().open( "/archiva/admin/addRemoteRepository.action" ); - addRemoteRepository( "" , "" , "" , "" , "" , "" , "Maven 2.x Repository" ); - assertTextPresent( "You must enter a repository identifier." ); - assertTextPresent( "You must enter a repository name." ); - assertTextPresent( "You must enter a url." ); - } - - @Test(dependsOnMethods = { "testAddRemoteRepoNullValues" } ) - public void testAddRemoteRepositoryNullIdentifier() - { - addRemoteRepository( "" , "Remote Repository Sample" , "http://repository.codehaus.org/org/codehaus/mojo/" , "" , "" , "" , "Maven 2.x Repository" ); - assertTextPresent( "You must enter a repository identifier." ); - } - - @Test(dependsOnMethods = { "testAddRemoteRepositoryNullIdentifier" } ) - public void testAddRemoteRepoNullName() - { - addRemoteRepository( "remoterepo" , "" , "http://repository.codehaus.org/org/codehaus/mojo/" , "" , "" , "" , "Maven 2.x Repository" ); - assertTextPresent( "You must enter a repository name." ); - } - - @Test(dependsOnMethods = { "testAddRemoteRepoNullName" } ) - public void testAddRemoteRepoNullURL() - { - addRemoteRepository( "remoterepo" , "Remote Repository Sample" , "" , "" , "" , "" , "Maven 2.x Repository" ); - assertTextPresent( "You must enter a url." ); - } - - @Test(dependsOnMethods = { "testDeleteManageRepo" } ) - public void testAddRemoteRepoValidValues() - { - getSelenium().open( "/archiva/admin/addRemoteRepository.action" ); - addRemoteRepository( "remoterepo" , "Remote Repository Sample" , "http://repository.codehaus.org/org/codehaus/mojo/" , "" , "" , "" , "Maven 2.x Repository" ); - assertTextPresent( "Remote Repository Sample" ); - } - + public void testAddManagedRepoValidValues() + { + goToRepositoriesPage(); + getSelenium().open( "/archiva/admin/addRepository.action" ); + addManagedRepository( "managedrepo1", "Managed Repository Sample 1", getRepositoryDir() + "repository/", "", + "Maven 2.x Repository", "0 0 * * * ?", "", "" ); + clickButtonWithValue( "Save" ); + assertTextPresent( "Managed Repository Sample 1" ); + assertRepositoriesPage(); + } + + @Test( dependsOnMethods = { "testAddManagedRepoValidValues" } ) + public void testAddManagedRepoInvalidValues() + { + goToRepositoriesPage(); + getSelenium().open( "/archiva/admin/addRepository.action" ); + addManagedRepository( "", "", "", "", "Maven 2.x Repository", "", "", "" ); + assertTextPresent( "You must enter a repository identifier." ); + assertTextPresent( "You must enter a repository name." ); + assertTextPresent( "You must enter a directory." ); + assertTextPresent( "Invalid cron expression." ); + } + + @Test( dependsOnMethods = { "testAddManagedRepoInvalidValues" } ) + public void testAddManagedRepoNoIdentifier() + { + addManagedRepository( "", "name", "/home", "/.index", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); + assertTextPresent( "You must enter a repository identifier." ); + } + + @Test( dependsOnMethods = { "testAddManagedRepoNoIdentifier" } ) + public void testAddManagedRepoNoRepoName() + { + addManagedRepository( "identifier", "", "/home", "/.index", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); + assertTextPresent( "You must enter a repository name." ); + } + + @Test( dependsOnMethods = { "testAddManagedRepoNoRepoName" } ) + public void testAddManagedRepoNoDirectory() + { + addManagedRepository( "identifier", "name", "", "/.index", "Maven 2.x Repository", "0 0 * * * ?", "", "" ); + assertTextPresent( "You must enter a directory." ); + } + + @Test( dependsOnMethods = { "testAddManagedRepoNoDirectory" } ) + public void testAddManagedRepoNoCron() + { + addManagedRepository( "identifier", "name", "/home", "/.index", "Maven 2.x Repository", "", "", "" ); + assertTextPresent( "Invalid cron expression." ); + } + + @Test( dependsOnMethods = { "testAddManagedRepoNoCron" } ) + public void testAddManagedRepoForEdit() + { + goToRepositoriesPage(); + getSelenium().open( "/archiva/admin/addRepository.action" ); + addManagedRepository( "managedrepo", "Managed Repository Sample", getRepositoryDir() + "local-repo/", "", + "Maven 2.x Repository", "0 0 * * * ?", "", "" ); + clickButtonWithValue( "Save" ); + assertTextPresent( "Managed Repository Sample" ); + } + + // TODO + @Test( dependsOnMethods = { "testAddManagedRepoForEdit" } ) + public void testEditManagedRepo() + { + editManagedRepository( "repository.name", "Managed Repo" ); + assertTextPresent( "Managed Repository Sample" ); + } + + // TODO + @Test( dependsOnMethods = { "testEditManagedRepo" } ) + public void testDeleteManageRepo() + { + deleteManagedRepository(); + // assertTextNotPresent( "managedrepo" ); + } + + @Test( dependsOnMethods = { "testAddRemoteRepoValidValues" } ) + public void testAddRemoteRepoNullValues() + { + getSelenium().open( "/archiva/admin/addRemoteRepository.action" ); + addRemoteRepository( "", "", "", "", "", "", "Maven 2.x Repository" ); + assertTextPresent( "You must enter a repository identifier." ); + assertTextPresent( "You must enter a repository name." ); + assertTextPresent( "You must enter a url." ); + } + + @Test( dependsOnMethods = { "testAddRemoteRepoNullValues" } ) + public void testAddRemoteRepositoryNullIdentifier() + { + addRemoteRepository( "", "Remote Repository Sample", "http://repository.codehaus.org/org/codehaus/mojo/", "", + "", "", "Maven 2.x Repository" ); + assertTextPresent( "You must enter a repository identifier." ); + } + + @Test( dependsOnMethods = { "testAddRemoteRepositoryNullIdentifier" } ) + public void testAddRemoteRepoNullName() + { + addRemoteRepository( "remoterepo", "", "http://repository.codehaus.org/org/codehaus/mojo/", "", "", "", + "Maven 2.x Repository" ); + assertTextPresent( "You must enter a repository name." ); + } + + @Test( dependsOnMethods = { "testAddRemoteRepoNullName" } ) + public void testAddRemoteRepoNullURL() + { + addRemoteRepository( "remoterepo", "Remote Repository Sample", "", "", "", "", "Maven 2.x Repository" ); + assertTextPresent( "You must enter a url." ); + } + + @Test( dependsOnMethods = { "testDeleteManageRepo" } ) + public void testAddRemoteRepoValidValues() + { + getSelenium().open( "/archiva/admin/addRemoteRepository.action" ); + addRemoteRepository( "remoterepo", "Remote Repository Sample", + "http://repository.codehaus.org/org/codehaus/mojo/", "", "", "", "Maven 2.x Repository" ); + assertTextPresent( "Remote Repository Sample" ); + } + // *** BUNDLED REPOSITORY TEST *** - - @Test ( dependsOnMethods = { "testWithCorrectUsernamePassword" }, alwaysRun = true ) - public void testBundledRepository() + + @Test( dependsOnMethods = { "testWithCorrectUsernamePassword" }, alwaysRun = true ) + public void testBundledRepository() { String repo1 = baseUrl + "repository/internal/"; String repo2 = baseUrl + "repository/snapshots/"; - + assertRepositoryAccess( repo1 ); assertRepositoryAccess( repo2 ); - - getSelenium().open( "/archiva" ); + + getSelenium().open( "/archiva" ); } - + private void assertRepositoryAccess( String repo ) { getSelenium().open( "/archiva" ); @@ -164,4 +169,4 @@ public class RepositoryTest assertPage( "Collection: /" ); assertTextPresent( "Collection: /" ); } -} +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java index 91753e2dc..718418b00 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java @@ -25,39 +25,39 @@ import org.apache.archiva.web.test.parent.AbstractSearchTest; import org.testng.annotations.Test; @Test( groups = { "search" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) -public class SearchTest - extends AbstractSearchTest +public class SearchTest + extends AbstractSearchTest { - - public void testSearchNonExistingArtifact() - throws Exception - { - searchForArtifact( getProperty( "SEARCH_BAD_ARTIFACT" ) ); - assertTextPresent( "No results found" ); - } - - // TODO: make search tests more robust especially when comparing/asserting number of hits - public void testSearchExistingArtifact() - { - searchForArtifact( getProperty( "ARTIFACT_ARTIFACTID" ) ); - assertTextPresent( "Results" ); - assertTextPresent( "Hits: 1 to 1 of 1" ); - assertLinkPresent( "test" ); - } - - public void testViewSearchedArtifact() + + public void testSearchNonExistingArtifact() + throws Exception + { + searchForArtifact( getProperty( "SEARCH_BAD_ARTIFACT" ) ); + assertTextPresent( "No results found" ); + } + + // TODO: make search tests more robust especially when comparing/asserting number of hits + public void testSearchExistingArtifact() + { + searchForArtifact( getProperty( "ARTIFACT_ARTIFACTID" ) ); + assertTextPresent( "Results" ); + assertTextPresent( "Hits: 1 to 1 of 1" ); + assertLinkPresent( "test" ); + } + + public void testViewSearchedArtifact() { - searchForArtifact( getProperty( "ARTIFACT_ARTIFACTID" ) ); - clickLinkWithText( getProperty( "ARTIFACT_ARTIFACTID" ) ); - assertPage( "Apache Archiva \\ Browse Repository" ); - assertTextPresent( getProperty( "ARTIFACT_ARTIFACTID" ) ); - clickLinkWithText( getProperty( "ARTIFACT_VERSION" ) + "/" ); - assertPage( "Apache Archiva \\ Browse Repository" ); + searchForArtifact( getProperty( "ARTIFACT_ARTIFACTID" ) ); + clickLinkWithText( getProperty( "ARTIFACT_ARTIFACTID" ) ); + assertPage( "Apache Archiva \\ Browse Repository" ); + assertTextPresent( getProperty( "ARTIFACT_ARTIFACTID" ) ); + clickLinkWithText( getProperty( "ARTIFACT_VERSION" ) + "/" ); + assertPage( "Apache Archiva \\ Browse Repository" ); } - - public void testSearchNonExistingArtifactInAdvancedSearch() + + public void testSearchNonExistingArtifactInAdvancedSearch() { - searchForArtifactAdvancedSearch( null, getProperty( "SEARCH_BAD_ARTIFACT"), null, null, null, null ); + searchForArtifactAdvancedSearch( null, getProperty( "SEARCH_BAD_ARTIFACT" ), null, null, null, null ); assertTextPresent( "No results found" ); } @@ -69,27 +69,28 @@ public class SearchTest public void testSearchExistingArtifactUsingAdvancedSearchArtifactId() { - searchForArtifactAdvancedSearch( null, getProperty( "ARTIFACT_ARTIFACTID" ), null, getProperty( "REPOSITORYID" ), null, null ); - assertTextPresent( "Results" ); - assertTextPresent( "Hits: 1 to 1 of 1" ); - assertLinkPresent( "test" ); + searchForArtifactAdvancedSearch( null, getProperty( "ARTIFACT_ARTIFACTID" ), null, + getProperty( "REPOSITORYID" ), null, null ); + assertTextPresent( "Results" ); + assertTextPresent( "Hits: 1 to 1 of 1" ); + assertLinkPresent( "test" ); } - + public void testSearchExistingArtifactUsingAdvancedSearchGroupId() { - searchForArtifactAdvancedSearch( getProperty( "GROUPID" ), null, null, getProperty( "REPOSITORYID" ), null, null ); + searchForArtifactAdvancedSearch( getProperty( "GROUPID" ), null, null, getProperty( "REPOSITORYID" ), null, + null ); assertTextPresent( "Results" ); assertTextPresent( "Hits: 1 to 1 of 1" ); - assertLinkPresent( "test" ); + assertLinkPresent( "test" ); } - + public void testSearchExistingArtifactUsingAdvancedSearchNotInRepository() { searchForArtifactAdvancedSearch( null, getProperty( "ARTIFACT_ARTIFACTID" ), null, "snapshots", null, null ); assertTextPresent( "No results found" ); assertTextNotPresent( "Results" ); assertTextNotPresent( "Hits: 1 to 1 of 1" ); - assertLinkNotPresent( "test" ); + assertLinkNotPresent( "test" ); } } - 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 1f984fbc7..bc44b8413 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 @@ -23,288 +23,260 @@ import org.apache.archiva.web.test.parent.AbstractArchivaTest; import org.testng.annotations.Test; @Test( groups = { "userroles" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) -public class UserRolesTest - extends AbstractArchivaTest +public class UserRolesTest + extends AbstractArchivaTest { - public void testBasicAddDeleteUser() - { - username = getProperty( "GUEST_USERNAME" ); - fullname = getProperty( "GUEST_FULLNAME" ); - - createUser( username, fullname, getUserEmail(), getUserRolePassword(), true); - deleteUser( username, fullname, getUserEmail() ); + public void testBasicAddDeleteUser() + { + username = getProperty( "GUEST_USERNAME" ); + fullname = getProperty( "GUEST_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + deleteUser( username, fullname, getUserEmail() ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - @Test (dependsOnMethods = { "testBasicAddDeleteUser" } ) - public void testUserWithGuestRole() - { - username = getProperty("GUEST_USERNAME"); - fullname = getProperty("GUEST_FULLNAME"); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkUserRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + @Test( dependsOnMethods = { "testBasicAddDeleteUser" } ) + public void testUserWithGuestRole() + { + username = getProperty( "GUEST_USERNAME" ); + fullname = getProperty( "GUEST_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkUserRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - @Test (dependsOnMethods = { "testUserWithGuestRole" } ) - public void testUserWithRegisteredUserRole() - { - username = getProperty("REGISTERED_USERNAME"); - fullname = getProperty("REGISTERED_FULLNAME"); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkUserRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + @Test( dependsOnMethods = { "testUserWithGuestRole" } ) + public void testUserWithRegisteredUserRole() + { + username = getProperty( "REGISTERED_USERNAME" ); + fullname = getProperty( "REGISTERED_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkUserRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - @Test (dependsOnMethods = { "testUserWithRegisteredUserRole" } ) - public void testUserWithSysAdminUserRole() - { - username = getProperty("SYSAD_USERNAME"); - fullname = getProperty("SYSAD_FULLNAME"); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkUserRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + @Test( dependsOnMethods = { "testUserWithRegisteredUserRole" } ) + public void testUserWithSysAdminUserRole() + { + username = getProperty( "SYSAD_USERNAME" ); + fullname = getProperty( "SYSAD_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkUserRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - @Test (dependsOnMethods = { "testUserWithSysAdminUserRole" } ) - public void testUserWithUserAdminUserRole() - { - username = getProperty("USERADMIN_USERNAME"); - fullname = getProperty("USERADMIN_FULLNAME"); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkUserRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + @Test( dependsOnMethods = { "testUserWithSysAdminUserRole" } ) + public void testUserWithUserAdminUserRole() + { + username = getProperty( "USERADMIN_USERNAME" ); + fullname = getProperty( "USERADMIN_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkUserRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - @Test (dependsOnMethods = { "testUserWithUserAdminUserRole" } ) - public void testUserWithGlobalRepoManagerRole() - { - username = getProperty("GLOBALREPOMANAGER_USERNAME"); - fullname = getProperty("GLOBALREPOMANAGER_FULLNAME"); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkUserRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + @Test( dependsOnMethods = { "testUserWithUserAdminUserRole" } ) + public void testUserWithGlobalRepoManagerRole() + { + username = getProperty( "GLOBALREPOMANAGER_USERNAME" ); + fullname = getProperty( "GLOBALREPOMANAGER_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkUserRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - @Test (dependsOnMethods = { "testUserWithGlobalRepoManagerRole" } ) - public void testUserWithGlobalRepoObserverRole() - { - username = getProperty("GLOBALREPOOBSERVER_USERNAME"); - fullname = getProperty("GLOBALREPOOBSERVER_FULLNAME"); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkUserRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + @Test( dependsOnMethods = { "testUserWithGlobalRepoManagerRole" } ) + public void testUserWithGlobalRepoObserverRole() + { + username = getProperty( "GLOBALREPOOBSERVER_USERNAME" ); + fullname = getProperty( "GLOBALREPOOBSERVER_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkUserRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - @Test (dependsOnMethods = { "testUserWithGlobalRepoObserverRole" } ) - public void testUserWithRepoManagerInternalRole() - { - username = getProperty("REPOMANAGER_INTERNAL_USERNAME"); - fullname = getProperty("REPOMANAGER_INTERNAL_FULLNAME"); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkResourceRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + @Test( dependsOnMethods = { "testUserWithGlobalRepoObserverRole" } ) + public void testUserWithRepoManagerInternalRole() + { + username = getProperty( "REPOMANAGER_INTERNAL_USERNAME" ); + fullname = getProperty( "REPOMANAGER_INTERNAL_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkResourceRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); logout(); - login( getAdminUsername() , getAdminPassword() ); - } - - /*@Test (dependsOnMethods = { "testUserWithRepoManagerInternalRole" } ) - public void testUserWithRepoManagerSnapshotsRole() - { - username = getProperty("REPOMANAGER_SNAPSHOTS_USERNAME"); - fullname = getProperty("REPOMANAGER_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 = { "testUserWithRepoManagerInternalRole" } ) - public void testUserWithRepoObserverInternalRole() - { - username = getProperty( "REPOOBSERVER_INTERNAL_USERNAME" ); - fullname = getProperty( "REPOOBSERVER_INTERNAL_FULLNAME" ); - - createUser(username, fullname, getUserEmail(), getUserRolePassword(), true); - clickLinkWithText( username ); - clickLinkWithText( "Edit Roles" ); - checkResourceRoleWithValue( fullname ); - clickButtonWithValue( "Submit" ); + login( getAdminUsername(), getAdminPassword() ); + } + + /* + * @Test (dependsOnMethods = { "testUserWithRepoManagerInternalRole" } ) public void + * testUserWithRepoManagerSnapshotsRole() { username = getProperty("REPOMANAGER_SNAPSHOTS_USERNAME"); fullname = + * getProperty("REPOMANAGER_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 = { "testUserWithRepoManagerInternalRole" } ) + public void testUserWithRepoObserverInternalRole() + { + username = getProperty( "REPOOBSERVER_INTERNAL_USERNAME" ); + fullname = getProperty( "REPOOBSERVER_INTERNAL_FULLNAME" ); + + createUser( username, fullname, getUserEmail(), getUserRolePassword(), true ); + clickLinkWithText( username ); + clickLinkWithText( "Edit Roles" ); + checkResourceRoleWithValue( fullname ); + clickButtonWithValue( "Submit" ); logout(); - login(username, getUserRolePassword()); - changePassword( getUserRolePassword(), getUserRoleNewPassword()); - - // this section will be removed if issue from redback after changing password will be fixed. - getSelenium().goBack(); + login( username, getUserRolePassword() ); + changePassword( getUserRolePassword(), getUserRoleNewPassword() ); + + // this section will be removed if issue from redback after changing password will be fixed. + getSelenium().goBack(); logout(); - //assertTextPresent("You are already logged in."); - - login(username, getUserRoleNewPassword()); - assertLeftNavMenuWithRole( fullname ); + // assertTextPresent("You are already logged in."); + + login( username, getUserRoleNewPassword() ); + assertLeftNavMenuWithRole( fullname ); 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() ); - }*/ -} + 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() ); } + */ +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java index befbea954..f7f266dbe 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/VirtualRepositoryTest.java @@ -24,53 +24,52 @@ import org.testng.annotations.Test; import org.testng.Assert; @Test( groups = { "virtualrepository" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) -public class VirtualRepositoryTest - extends AbstractRepositoryTest +public class VirtualRepositoryTest + extends AbstractRepositoryTest { - public void testAddRepositoryGroupNullValue() - { - addRepositoryGroup( " " ); - assertTextPresent( "Identifier field is required." ); - } - - @Test(dependsOnMethods = { "testWithCorrectUsernamePassword" } ) - public void testAddRepositoryGroupValidValue() - { - addRepositoryGroup( "testing" ); - //assertAddedRepositoryLink( "testing" ); - Assert.assertEquals( getSelenium().getText( "//div[@id='contentArea']/div[2]/div/div[1]/p[1]" ), "testing" ); - } - - @Test(dependsOnMethods = { "testAddRepositoryGroupValidValue" } ) - public void testAddRepositoryToRepositoryGroup() - { - addRepositoryToRepositoryGroup( "testing", "internal" ); - Assert.assertEquals( getSelenium().getText( "//div[@id='contentArea']/div[2]/div/div[3]/div[2]/p[1]" ), "internal" ); - //clickLinkWithXPath( "/html/body/div[4]/div/div/div[2]/div/div/p[2]/a" ); - //getSelenium().goBack(); - } - - @Test(dependsOnMethods = { "testAddRepositoryToRepositoryGroup" } ) - public void testDeleteRepositoryOfRepositoryGroup() - { - deleteRepositoryInRepositoryGroups(); - assertTextPresent( "Repository Groups" ); - assertTextNotPresent( "No Repository Groups Defined." ); - Assert.assertFalse( getSelenium().isElementPresent( "//div[@id='contentArea']/div[2]/div/div[3]/div[2]/p[1]" ) ); - } - - @Test(dependsOnMethods = { "testDeleteRepositoryOfRepositoryGroup" } ) - public void testDeleteRepositoryGroup() - { - assertRepositoryGroupsPage(); - deleteRepositoryGroup( "testing" ); - assertTextPresent( "No Repository Groups Defined." ); - } - - /*@Test(dependsOnMethods = { "testAddRepositoryToRepositoryGroup" } ) - public void testCheckRepositoryGroup() - { - clickLinkWithXPath( "/html/body/div[4]/div/div/div[2]/div/div/p[2]/a" ); - getSelenium().goBack(); - }*/ -} + public void testAddRepositoryGroupNullValue() + { + addRepositoryGroup( " " ); + assertTextPresent( "Identifier field is required." ); + } + + @Test( dependsOnMethods = { "testWithCorrectUsernamePassword" } ) + public void testAddRepositoryGroupValidValue() + { + addRepositoryGroup( "testing" ); + // assertAddedRepositoryLink( "testing" ); + Assert.assertEquals( getSelenium().getText( "//div[@id='contentArea']/div[2]/div/div[1]/p[1]" ), "testing" ); + } + + @Test( dependsOnMethods = { "testAddRepositoryGroupValidValue" } ) + public void testAddRepositoryToRepositoryGroup() + { + addRepositoryToRepositoryGroup( "testing", "internal" ); + Assert.assertEquals( getSelenium().getText( "//div[@id='contentArea']/div[2]/div/div[3]/div[2]/p[1]" ), + "internal" ); + // clickLinkWithXPath( "/html/body/div[4]/div/div/div[2]/div/div/p[2]/a" ); + // getSelenium().goBack(); + } + + @Test( dependsOnMethods = { "testAddRepositoryToRepositoryGroup" } ) + public void testDeleteRepositoryOfRepositoryGroup() + { + deleteRepositoryInRepositoryGroups(); + assertTextPresent( "Repository Groups" ); + assertTextNotPresent( "No Repository Groups Defined." ); + Assert.assertFalse( getSelenium().isElementPresent( "//div[@id='contentArea']/div[2]/div/div[3]/div[2]/p[1]" ) ); + } + + @Test( dependsOnMethods = { "testDeleteRepositoryOfRepositoryGroup" } ) + public void testDeleteRepositoryGroup() + { + assertRepositoryGroupsPage(); + deleteRepositoryGroup( "testing" ); + assertTextPresent( "No Repository Groups Defined." ); + } + + /* + * @Test(dependsOnMethods = { "testAddRepositoryToRepositoryGroup" } ) public void testCheckRepositoryGroup() { + * clickLinkWithXPath( "/html/body/div[4]/div/div/div[2]/div/div/p[2]/a" ); getSelenium().goBack(); } + */ +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/XPathExpressionUtil.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/XPathExpressionUtil.java index 8802512ad..5dd77ca83 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/XPathExpressionUtil.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/XPathExpressionUtil.java @@ -62,7 +62,7 @@ public class XPathExpressionUtil xpathExpression += LIST; xpathExpression += START_NODE_TEST; - for (int nIndex = 0; nIndex < values.length; nIndex++ ) + for ( int nIndex = 0; nIndex < values.length; nIndex++ ) { xpathExpression += ( ( nIndex > 0 ) ? AND : "" ); xpathExpression += contains( LINE + position( nIndex + 1 ), values[nIndex] ); @@ -76,8 +76,8 @@ public class XPathExpressionUtil /** * expression for acquiring an element in one of the table columns - * - * @param element the node element + * + * @param element the node element * @param elementIndex column index of the element, used for skipping * @param columnValues the values to be matched in each column, element column is included * @return @@ -89,38 +89,36 @@ public class XPathExpressionUtil /** * expression for acquiring an element in one of the table columns - * - * @param element the node element + * + * @param element the node element * @param elementIndex column index of the element, used for skipping * @param elementValue the matched element value * @param columnValues the values to be matched in each column, element column is included * @return */ - public static String getColumnElement( String element, int elementIndex, String elementValue, - String[] columnValues ) + public static String getColumnElement( String element, int elementIndex, String elementValue, String[] columnValues ) { return getColumnElement( element, elementIndex, elementValue, "TEXT", columnValues ); } /** * expression for acquiring an element in one of the table columns - * - * @param element the node element + * + * @param element the node element * @param elementIndex column index of the element, used for skipping * @param imageName the matched image name * @param columnValues the values to be matched in each column, element column is included * @return */ - public static String getImgColumnElement( String element, int elementIndex, String imageName, - String[] columnValues ) + public static String getImgColumnElement( String element, int elementIndex, String imageName, String[] columnValues ) { return getColumnElement( element, elementIndex, imageName, IMG, columnValues ); } /** * expression for acquiring an element in one of the table columns - * - * @param element the node element + * + * @param element the node element * @param elementIndex column index of the element, used for skipping * @param imageName the matched image name * @param columnValues the values to be matched in each column, element column is included @@ -160,9 +158,8 @@ public class XPathExpressionUtil } /** - * expression for acquiring the table row that matches all column values with the same order - * as the list - * + * expression for acquiring the table row that matches all column values with the same order as the list + * * @param columnValues the matched list of columnValues * @return */ 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 36bba0933..1cc89ed76 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 @@ -106,4 +106,4 @@ public class CaptureScreenShotsListener i--; return i; } -} +} \ No newline at end of file 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 f723cd962..af29cadcb 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 @@ -24,31 +24,32 @@ import org.apache.archiva.web.test.XPathExpressionUtil; * under the License. */ -public abstract class AbstractArchivaTest - extends AbstractSeleniumTest +public abstract class AbstractArchivaTest + extends AbstractSeleniumTest { - protected String username; - protected String fullname; - - public String getUserEmail() - { - String email = getProperty("USERROLE_EMAIL"); - return email; - } - - public String getUserRolePassword() - { - String password = getProperty("USERROLE_PASSWORD"); - return password; - } - - public String getUserRoleNewPassword() - { - String password_new = getProperty( "NEW_USERROLE_PASSWORD" ); - return password_new; - } - - public String getBasedir() + protected String username; + + protected String fullname; + + public String getUserEmail() + { + String email = getProperty( "USERROLE_EMAIL" ); + return email; + } + + public String getUserRolePassword() + { + String password = getProperty( "USERROLE_PASSWORD" ); + return password; + } + + public String getUserRoleNewPassword() + { + String password_new = getProperty( "NEW_USERROLE_PASSWORD" ); + return password_new; + } + + public String getBasedir() { String basedir = System.getProperty( "basedir" ); @@ -59,208 +60,207 @@ public abstract class AbstractArchivaTest return basedir; } - - public String getAdminUsername() - { - String adminUsername = getProperty( "ADMIN_USERNAME" ); - return adminUsername; - } - - public String getAdminPassword() - { - String adminPassword = getProperty( "ADMIN_PASSWORD" ); - return adminPassword; - } - - public void assertCreateAdmin() - { - assertPage( "Apache Archiva \\ Create Admin User" ); - assertTextPresent( "Username" ); - assertFieldValue( "admin", "user.username" ); - assertTextPresent( "Full Name*" ); - assertElementPresent( "user.fullName" ); - assertTextPresent( "Email Address*" ); - assertElementPresent( "user.email"); - assertTextPresent( "Password*" ); - assertElementPresent( "user.password" ); - assertTextPresent( "Confirm Password*" ); - assertElementPresent( "user.confirmPassword" ); - assertButtonWithValuePresent( "Create Admin" ); - } - - public void submitAdminData( String fullname, String email, String password ) - { - setFieldValue( "user.fullName", fullname ); - setFieldValue( "user.email", email ); - setFieldValue( "user.password", password ); - setFieldValue( "user.confirmPassword", password ); - submit(); - } - - //Go to Login Page - public void goToLoginPage() - { - getSelenium().open( baseUrl ); - clickLinkWithText( "Login"); - assertLoginPage(); - } - - public void submitUserData( String username, String password, boolean rememberme, boolean success ) - { - - setFieldValue( "username", username ); - setFieldValue( "password", password ); - if ( rememberme ) - { - checkField( "rememberMe" ); - } - - submit(); - if ( success ) - { - assertUserLoggedIn( username ); - } - else - { - assertLoginPage(); - } - } - - public void assertLoginPage() - { - assertPage( "Apache Archiva \\ Login Page" ); - assertTextPresent( "Login" ); - assertTextPresent( "Register" ); - assertTextPresent( "Username" ); - assertElementPresent( "username" ); - assertTextPresent( "Password" ); - assertElementPresent( "password" ); - assertTextPresent( "Remember Me" ); - assertElementPresent( "rememberMe" ); - assertButtonWithValuePresent( "Login" ); - assertButtonWithValuePresent( "Cancel" ); - assertTextPresent( "Need an Account? Register!" ); - assertTextPresent( "Forgot your Password? Request a password reset." ); - } - - //User Management - public void goToUserManagementPage() - { - clickLinkWithText( "User Management" ); - assertUserManagementPage(); - } - - public void assertUserManagementPage() - { - assertPage( "Apache Archiva \\ [Admin] User List" ); - assertTextPresent( "[Admin] List of Users in Role: Any" ); - assertTextPresent( "Navigation" ); - assertImgWithAlt( "First" ); - assertImgWithAlt( "Prev" ); - assertImgWithAlt( "Next" ); - assertImgWithAlt( "Last" ); - assertTextPresent( "Display Rows" ); - assertTextPresent( "Username" ); - assertTextPresent( "Full Name" ); - assertTextPresent( "Email" ); - assertTextPresent( "Permanent" ); - assertTextPresent( "Validated" ); - assertTextPresent( "Locked" ); - assertTextPresent( "Tasks" ); - assertTextPresent( "Tools" ); - assertTextPresent( "Tasks" ); - assertTextPresent( "The following tools are available for administrators to manipulate the user list." ); - assertButtonWithValuePresent( "Create New User" ); - assertButtonWithValuePresent( "Show Users In Role" ); - assertElementPresent( "roleName" ); - assertTextPresent( "Reports" ); - assertTextPresent( "Name" ); - assertTextPresent( "Types" ); - assertTextPresent( "User List" ); - assertTextPresent( "Roles Matrix" ); - } - -/* //User Role - public void goToUserRolesPage() - { - clickLinkWithText( "User Roles" ); - assertUserRolesPage(); - }*/ - - public void assertUserRolesPage() - { - assertPage( "Apache Archiva \\ [Admin] User Edit" ); - assertTextPresent( "[Admin] User Roles" ); - assertTextPresent( "Username" ); - assertTextPresent( "Full Name" ); - String userRoles = "Guest,Registered User,System Administrator,User Administrator,Global Repository Observer,Global Repository Manager,Repository Observer,Repository Manager,internal"; - String[] arrayRole = userRoles.split( "," ); - for ( String userroles : arrayRole ) - assertTextPresent( userroles ); - } - - public void assertDeleteUserPage( String username ) - { - assertPage( "Apache Archiva \\ [Admin] User Delete" ); //TODO - assertTextPresent( "[Admin] User Delete" ); - assertTextPresent( "The following user will be deleted:" ); - assertTextPresent( "Username: " + username ); - assertButtonWithValuePresent( "Delete User" ); - } - - public void createUser( String userName, String fullName, String email, String password, boolean valid ) - { - createUser( userName, fullName, email, password, password, valid ); - } - - private void createUser( String userName, String fullName, String emailAd, String password, String confirmPassword, boolean valid ) - { - //login( getAdminUsername() , getAdminPassword() ); - clickLinkWithText( "User Management" ); - clickButtonWithValue( "Create New User" ); - assertCreateUserPage(); + + public String getAdminUsername() + { + String adminUsername = getProperty( "ADMIN_USERNAME" ); + return adminUsername; + } + + public String getAdminPassword() + { + String adminPassword = getProperty( "ADMIN_PASSWORD" ); + return adminPassword; + } + + public void assertCreateAdmin() + { + assertPage( "Apache Archiva \\ Create Admin User" ); + assertTextPresent( "Username" ); + assertFieldValue( "admin", "user.username" ); + assertTextPresent( "Full Name*" ); + assertElementPresent( "user.fullName" ); + assertTextPresent( "Email Address*" ); + assertElementPresent( "user.email" ); + assertTextPresent( "Password*" ); + assertElementPresent( "user.password" ); + assertTextPresent( "Confirm Password*" ); + assertElementPresent( "user.confirmPassword" ); + assertButtonWithValuePresent( "Create Admin" ); + } + + public void submitAdminData( String fullname, String email, String password ) + { + setFieldValue( "user.fullName", fullname ); + setFieldValue( "user.email", email ); + setFieldValue( "user.password", password ); + setFieldValue( "user.confirmPassword", password ); + submit(); + } + + // Go to Login Page + public void goToLoginPage() + { + getSelenium().open( baseUrl ); + clickLinkWithText( "Login" ); + assertLoginPage(); + } + + public void submitUserData( String username, String password, boolean rememberme, boolean success ) + { + + setFieldValue( "username", username ); + setFieldValue( "password", password ); + if ( rememberme ) + { + checkField( "rememberMe" ); + } + + submit(); + if ( success ) + { + assertUserLoggedIn( username ); + } + else + { + assertLoginPage(); + } + } + + public void assertLoginPage() + { + assertPage( "Apache Archiva \\ Login Page" ); + assertTextPresent( "Login" ); + assertTextPresent( "Register" ); + assertTextPresent( "Username" ); + assertElementPresent( "username" ); + assertTextPresent( "Password" ); + assertElementPresent( "password" ); + assertTextPresent( "Remember Me" ); + assertElementPresent( "rememberMe" ); + assertButtonWithValuePresent( "Login" ); + assertButtonWithValuePresent( "Cancel" ); + assertTextPresent( "Need an Account? Register!" ); + assertTextPresent( "Forgot your Password? Request a password reset." ); + } + + // User Management + public void goToUserManagementPage() + { + clickLinkWithText( "User Management" ); + assertUserManagementPage(); + } + + public void assertUserManagementPage() + { + assertPage( "Apache Archiva \\ [Admin] User List" ); + assertTextPresent( "[Admin] List of Users in Role: Any" ); + assertTextPresent( "Navigation" ); + assertImgWithAlt( "First" ); + assertImgWithAlt( "Prev" ); + assertImgWithAlt( "Next" ); + assertImgWithAlt( "Last" ); + assertTextPresent( "Display Rows" ); + assertTextPresent( "Username" ); + assertTextPresent( "Full Name" ); + assertTextPresent( "Email" ); + assertTextPresent( "Permanent" ); + assertTextPresent( "Validated" ); + assertTextPresent( "Locked" ); + assertTextPresent( "Tasks" ); + assertTextPresent( "Tools" ); + assertTextPresent( "Tasks" ); + assertTextPresent( "The following tools are available for administrators to manipulate the user list." ); + assertButtonWithValuePresent( "Create New User" ); + assertButtonWithValuePresent( "Show Users In Role" ); + assertElementPresent( "roleName" ); + assertTextPresent( "Reports" ); + assertTextPresent( "Name" ); + assertTextPresent( "Types" ); + assertTextPresent( "User List" ); + assertTextPresent( "Roles Matrix" ); + } + + /* + * //User Role public void goToUserRolesPage() { clickLinkWithText( "User Roles" ); assertUserRolesPage(); } + */ + + public void assertUserRolesPage() + { + assertPage( "Apache Archiva \\ [Admin] User Edit" ); + assertTextPresent( "[Admin] User Roles" ); + assertTextPresent( "Username" ); + assertTextPresent( "Full Name" ); + String userRoles = + "Guest,Registered User,System Administrator,User Administrator,Global Repository Observer,Global Repository Manager,Repository Observer,Repository Manager,internal"; + String[] arrayRole = userRoles.split( "," ); + for ( String userroles : arrayRole ) + assertTextPresent( userroles ); + } + + public void assertDeleteUserPage( String username ) + { + assertPage( "Apache Archiva \\ [Admin] User Delete" ); // TODO + assertTextPresent( "[Admin] User Delete" ); + assertTextPresent( "The following user will be deleted:" ); + assertTextPresent( "Username: " + username ); + assertButtonWithValuePresent( "Delete User" ); + } + + public void createUser( String userName, String fullName, String email, String password, boolean valid ) + { + createUser( userName, fullName, email, password, password, valid ); + } + + private void createUser( String userName, String fullName, String emailAd, String password, String confirmPassword, + boolean valid ) + { + // login( getAdminUsername() , getAdminPassword() ); + clickLinkWithText( "User Management" ); + clickButtonWithValue( "Create New User" ); + assertCreateUserPage(); setFieldValue( "user.username", userName ); setFieldValue( "user.fullName", fullName ); setFieldValue( "user.email", emailAd ); setFieldValue( "user.password", password ); setFieldValue( "user.confirmPassword", confirmPassword ); submit(); - - assertUserRolesPage( ); + + assertUserRolesPage(); clickButtonWithValue( "Submit" ); - - if (valid ) + + if ( valid ) { - String[] columnValues = {userName, fullName, emailAd}; + String[] columnValues = { userName, fullName, emailAd }; assertElementPresent( XPathExpressionUtil.getTableRow( columnValues ) ); } else { assertCreateUserPage(); } - } - - public void deleteUser( String userName, String fullName, String emailAdd ) + } + + public void deleteUser( String userName, String fullName, String emailAdd ) { deleteUser( userName, fullName, emailAdd, false, false ); } - - public void deleteUser(String userName, String fullName, String emailAd, boolean validated, boolean locked) - { - String[] columnValues = {userName, fullName, emailAd}; - //clickLinkWithText( "userlist" ); - clickLinkWithXPath( "//table[@id='ec_table']/tbody[2]/tr[3]/td[7]/a/img" ); - assertDeleteUserPage( userName ); + + public void deleteUser( String userName, String fullName, String emailAd, boolean validated, boolean locked ) + { + String[] columnValues = { userName, fullName, emailAd }; + // clickLinkWithText( "userlist" ); + clickLinkWithXPath( "//table[@id='ec_table']/tbody[2]/tr[3]/td[7]/a/img" ); + assertDeleteUserPage( userName ); submit(); assertElementNotPresent( XPathExpressionUtil.getTableRow( columnValues ) ); - } + } public void login( String username, String password ) { login( username, password, true, "Login Page" ); } - - public void login( String username, String password, boolean valid, String assertReturnPage ) + + public void login( String username, String password, boolean valid, String assertReturnPage ) { if ( isLinkPresent( "Login" ) ) { @@ -273,7 +273,7 @@ public abstract class AbstractArchivaTest assertUserLoggedIn( username ); } } - + public void submitLoginPage( String username, String password ) { submitLoginPage( username, password, false, true, "Login Page" ); @@ -323,133 +323,143 @@ public abstract class AbstractArchivaTest } // User Roles - public void assertUserRoleCheckBoxPresent(String value) - { - getSelenium() .isElementPresent("xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='" + value + "']"); - } - - public void assertResourceRolesCheckBoxPresent(String value) { - getSelenium().isElementPresent("xpath=//input[@name='addDSelectedRoles' and @value='" + value + "']"); - } - - public void checkUserRoleWithValue(String value) - { - assertUserRoleCheckBoxPresent(value); - getSelenium().click( "xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='" + value + "']"); - } - - public void checkResourceRoleWithValue(String value) - { - assertResourceRolesCheckBoxPresent(value); - getSelenium().click( "xpath=//input[@name='addDSelectedRoles' and @value='" + value + "']" ); - } - - - public void changePassword(String oldPassword, String newPassword) { - assertPage("Apache Archiva \\ Change Password"); - setFieldValue("existingPassword", oldPassword); - setFieldValue("newPassword", newPassword); - setFieldValue("newPasswordConfirm", newPassword); - clickButtonWithValue("Change Password"); - } - - public void assertCreateUserPage() - { - assertPage( "Apache Archiva \\ [Admin] User Create" ); - assertTextPresent( "[Admin] User Create" ); - assertTextPresent( "Username*:" ); - assertElementPresent( "user.username" ); - assertTextPresent( "Full Name*:"); - assertElementPresent( "user.fullName" ); - assertTextPresent( "Email Address*:" ); - assertElementPresent( "user.email" ); - assertTextPresent( "Password*:" ); - assertElementPresent( "user.password" ); - assertTextPresent( "Confirm Password*:" ); - assertElementPresent( "user.confirmPassword" ); - assertButtonWithValuePresent( "Create User" ); - } - - public void assertLeftNavMenuWithRole( String role ) - { - if ( role.equals( "Guest" ) || role.equals( "Registered User" ) || role.equals( "Global Repository Observer" ) || role.equals( "Repository Observer - internal" ) || role.equals( "Repository Observer - snapshots" ) ) - { - assertTextPresent( "Search" ); - assertLinkPresent( "Find Artifact" ); - assertLinkPresent( "Browse" ); - assertLinkNotPresent( "Repositories" ); - } - else if ( role.equals( "User Administrator" ) ) - { - assertTextPresent( "Search" ); - assertLinkPresent( "Find Artifact" ); - assertLinkPresent( "Browse" ); - assertLinkPresent( "User Management" ); - assertLinkPresent( "User Roles" ); - assertLinkNotPresent( "Repositories" ); - } - else if ( role.equals( "Global Repository Manager" ) || role.equals( "Repository Manager - internal" ) || role.equals( "Repository Manager - snapshots" ) ) - { - assertTextPresent( "Search" ); - assertLinkPresent( "Find Artifact" ); - assertLinkPresent( "Browse" ); - assertLinkPresent( "Upload Artifact" ); - assertLinkPresent( "Delete Artifact" ); - assertLinkNotPresent( "Repositories" ); - } - else - { - assertTextPresent( "Search" ); - String navMenu = "Find Artifact,Browse,Reports,User Management,User Roles,Appearance,Upload Artifact,Delete Artifact,Repository Groups,Repositories,Proxy Connectors,Legacy Support,Network Proxies,Repository Scanning"; - String[] arrayMenu = navMenu.split( "," ); - for (String navmenu : arrayMenu ) - assertLinkPresent( navmenu ); - } - } - //Find Artifact - public void goToFindArtifactPage() - { - clickLinkWithText( "Find Artifact" ); - assertFindArtifactPage(); - } - - public void assertFindArtifactPage() - { - assertPage( "Apache Archiva \\ Find Artifact" ); - assertTextPresent( "Find Artifact" ); - assertTextPresent( "Search for:" ); - assertTextPresent( "Checksum:" ); - assertElementPresent( "q" ); - assertButtonWithValuePresent( "Search" ); - } - - //Appearance - public void goToAppearancePage() - { - clickLinkWithText( "Appearance" ); - assertAppearancePage(); - } - - public void assertAppearancePage() - { - assertPage( "Apache Archiva \\ Configure Appearance" ); - String appearance = "Appearance,Organization Details,The logo in the top right of the screen is controlled by the following settings.,Organization Information,Name,URL,Logo URL"; - String[] arrayAppearance = appearance.split( "," ); - for ( String appear : arrayAppearance ) - assertTextPresent( appear ); - assertLinkPresent( "Edit" ); - assertLinkPresent( "Change your appearance" ); - } - - public void addEditAppearance( String name, String url, String logoUrl ) - { - setFieldValue( "organisationName" , name ); - setFieldValue( "organisationUrl" , url ); - setFieldValue( "organisationLogo" , logoUrl ); - clickButtonWithValue( "Save" ); - } - - // Upload Artifact + public void assertUserRoleCheckBoxPresent( String value ) + { + getSelenium().isElementPresent( + "xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='" + + value + "']" ); + } + + public void assertResourceRolesCheckBoxPresent( String value ) + { + getSelenium().isElementPresent( "xpath=//input[@name='addDSelectedRoles' and @value='" + value + "']" ); + } + + public void checkUserRoleWithValue( String value ) + { + assertUserRoleCheckBoxPresent( value ); + getSelenium().click( + "xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='" + + value + "']" ); + } + + public void checkResourceRoleWithValue( String value ) + { + assertResourceRolesCheckBoxPresent( value ); + getSelenium().click( "xpath=//input[@name='addDSelectedRoles' and @value='" + value + "']" ); + } + + public void changePassword( String oldPassword, String newPassword ) + { + assertPage( "Apache Archiva \\ Change Password" ); + setFieldValue( "existingPassword", oldPassword ); + setFieldValue( "newPassword", newPassword ); + setFieldValue( "newPasswordConfirm", newPassword ); + clickButtonWithValue( "Change Password" ); + } + + public void assertCreateUserPage() + { + assertPage( "Apache Archiva \\ [Admin] User Create" ); + assertTextPresent( "[Admin] User Create" ); + assertTextPresent( "Username*:" ); + assertElementPresent( "user.username" ); + assertTextPresent( "Full Name*:" ); + assertElementPresent( "user.fullName" ); + assertTextPresent( "Email Address*:" ); + assertElementPresent( "user.email" ); + assertTextPresent( "Password*:" ); + assertElementPresent( "user.password" ); + assertTextPresent( "Confirm Password*:" ); + assertElementPresent( "user.confirmPassword" ); + assertButtonWithValuePresent( "Create User" ); + } + + public void assertLeftNavMenuWithRole( String role ) + { + if ( role.equals( "Guest" ) || role.equals( "Registered User" ) || role.equals( "Global Repository Observer" ) + || role.equals( "Repository Observer - internal" ) || role.equals( "Repository Observer - snapshots" ) ) + { + assertTextPresent( "Search" ); + assertLinkPresent( "Find Artifact" ); + assertLinkPresent( "Browse" ); + assertLinkNotPresent( "Repositories" ); + } + else if ( role.equals( "User Administrator" ) ) + { + assertTextPresent( "Search" ); + assertLinkPresent( "Find Artifact" ); + assertLinkPresent( "Browse" ); + assertLinkPresent( "User Management" ); + assertLinkPresent( "User Roles" ); + assertLinkNotPresent( "Repositories" ); + } + else if ( role.equals( "Global Repository Manager" ) || role.equals( "Repository Manager - internal" ) + || role.equals( "Repository Manager - snapshots" ) ) + { + assertTextPresent( "Search" ); + assertLinkPresent( "Find Artifact" ); + assertLinkPresent( "Browse" ); + assertLinkPresent( "Upload Artifact" ); + assertLinkPresent( "Delete Artifact" ); + assertLinkNotPresent( "Repositories" ); + } + else + { + assertTextPresent( "Search" ); + String navMenu = + "Find Artifact,Browse,Reports,User Management,User Roles,Appearance,Upload Artifact,Delete Artifact,Repository Groups,Repositories,Proxy Connectors,Legacy Support,Network Proxies,Repository Scanning"; + String[] arrayMenu = navMenu.split( "," ); + for ( String navmenu : arrayMenu ) + assertLinkPresent( navmenu ); + } + } + + // Find Artifact + public void goToFindArtifactPage() + { + clickLinkWithText( "Find Artifact" ); + assertFindArtifactPage(); + } + + public void assertFindArtifactPage() + { + assertPage( "Apache Archiva \\ Find Artifact" ); + assertTextPresent( "Find Artifact" ); + assertTextPresent( "Search for:" ); + assertTextPresent( "Checksum:" ); + assertElementPresent( "q" ); + assertButtonWithValuePresent( "Search" ); + } + + // Appearance + public void goToAppearancePage() + { + clickLinkWithText( "Appearance" ); + assertAppearancePage(); + } + + public void assertAppearancePage() + { + assertPage( "Apache Archiva \\ Configure Appearance" ); + String appearance = + "Appearance,Organization Details,The logo in the top right of the screen is controlled by the following settings.,Organization Information,Name,URL,Logo URL"; + String[] arrayAppearance = appearance.split( "," ); + for ( String appear : arrayAppearance ) + assertTextPresent( appear ); + assertLinkPresent( "Edit" ); + assertLinkPresent( "Change your appearance" ); + } + + public void addEditAppearance( String name, String url, String logoUrl ) + { + setFieldValue( "organisationName", name ); + setFieldValue( "organisationUrl", url ); + setFieldValue( "organisationLogo", logoUrl ); + clickButtonWithValue( "Save" ); + } + + // Upload Artifact public void goToAddArtifactPage() { clickLinkWithText( "Upload Artifact" ); @@ -520,44 +530,44 @@ public abstract class AbstractArchivaTest public void goToRepositoriesPage() { - if( !getTitle().equals( "Apache Archiva \\ Administration - Repositories" ) ) + if ( !getTitle().equals( "Apache Archiva \\ Administration - Repositories" ) ) { clickLinkWithText( "Repositories" ); } - assertRepositoriesPage(); + assertRepositoriesPage(); } public void assertRepositoriesPage() { - assertPage( "Apache Archiva \\ Administration - Repositories" ); - assertTextPresent( "Administration - Repositories" ); - assertTextPresent( "Managed Repositories" ); - assertTextPresent( "Remote Repositories" ); + assertPage( "Apache Archiva \\ Administration - Repositories" ); + assertTextPresent( "Administration - Repositories" ); + assertTextPresent( "Managed Repositories" ); + assertTextPresent( "Remote Repositories" ); } - public void addManagedRepository( String identifier, String name, String directory, String indexDirectory, String type, String cron, - String daysOlder, String retentionCount ) + public void addManagedRepository( String identifier, String name, String directory, String indexDirectory, + String type, String cron, String daysOlder, String retentionCount ) { - //goToRepositoriesPage(); - //clickLinkWithText( "Add" ); - setFieldValue( "repository.id" , identifier ); - setFieldValue( "repository.name" , name ); - setFieldValue( "repository.location" , directory ); - setFieldValue( "repository.indexDir" , indexDirectory ); - selectValue( "repository.layout", type ); - setFieldValue( "repository.refreshCronExpression" , cron ); - setFieldValue( "repository.daysOlder" , daysOlder ); - setFieldValue( "repository.retentionCount" , retentionCount ); - //TODO - clickButtonWithValue( "Add Repository" ); + // goToRepositoriesPage(); + // clickLinkWithText( "Add" ); + setFieldValue( "repository.id", identifier ); + setFieldValue( "repository.name", name ); + setFieldValue( "repository.location", directory ); + setFieldValue( "repository.indexDir", indexDirectory ); + selectValue( "repository.layout", type ); + setFieldValue( "repository.refreshCronExpression", cron ); + setFieldValue( "repository.daysOlder", daysOlder ); + setFieldValue( "repository.retentionCount", retentionCount ); + // TODO + clickButtonWithValue( "Add Repository" ); } protected void logout() { - clickLinkWithText("Logout"); + clickLinkWithText( "Logout" ); assertTextNotPresent( "Current User:" ); assertLinkNotPresent( "Edit Details" ); assertLinkNotPresent( "Logout" ); assertLinkPresent( "Login" ); } -} +} \ No newline at end of file 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 2919b4441..06ff65698 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,112 +1,114 @@ package org.apache.archiva.web.test.parent; public abstract class AbstractArtifactManagementTest - extends AbstractArchivaTest + extends AbstractArchivaTest { - - public String getGroupId() - { - String groupId = getProperty( "GROUPID" ) ; - return groupId; - } - - public String getArtifactId() - { - String artifactId = getProperty( "ARTIFACTID" ) ; - return artifactId; - } - - public String getVersion() - { - String version = getProperty( "VERSION" ) ; - return version; - } - - public String getPackaging() - { - String packaging = getProperty( "PACKAGING" ) ; - return packaging; - } - - public String getArtifactFilePath() - { - return "src/test/resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar"; - } - - public String getRepositoryId() - { - String repositoryId = getProperty( "REPOSITORYID" ) ; - return repositoryId; - } - - public void goToDeleteArtifactPage() - { + + public String getGroupId() + { + String groupId = getProperty( "GROUPID" ); + return groupId; + } + + public String getArtifactId() + { + String artifactId = getProperty( "ARTIFACTID" ); + return artifactId; + } + + public String getVersion() + { + String version = getProperty( "VERSION" ); + return version; + } + + public String getPackaging() + { + String packaging = getProperty( "PACKAGING" ); + return packaging; + } + + public String getArtifactFilePath() + { + return "src/test/resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar"; + } + + public String getRepositoryId() + { + String repositoryId = getProperty( "REPOSITORYID" ); + return repositoryId; + } + + public void goToDeleteArtifactPage() + { login( getProperty( "ADMIN_USERNAME" ), getProperty( "ADMIN_PASSWORD" ) ); - clickLinkWithText( "Delete Artifact" ); - assertDeleteArtifactPage(); - } - - public void deleteArtifact( String groupId, String artifactId, String version, String repositoryId ) - { - goToDeleteArtifactPage(); - setFieldValue( "groupId" , groupId ); - setFieldValue( "artifactId" , artifactId ); - setFieldValue( "version" , version ); - selectValue( "repositoryId" , repositoryId ); - clickButtonWithValue( "Submit" ) ; - } - - public void assertDeleteArtifactPage() - { - assertPage( "Apache Archiva \\ Delete Artifact" ); - assertTextPresent( "Delete Artifact" ); - assertTextPresent( "Group Id*:" ); - assertTextPresent( "Artifact Id*:" ); - assertTextPresent( "Version*:" ); - assertTextPresent( "Repository Id:" ); - assertElementPresent( "groupId" ); - assertElementPresent( "artifactId" ); - assertElementPresent( "version" ); - assertElementPresent( "repositoryId" ); - assertButtonWithValuePresent( "Submit" ); - } - - // Legacy Support - public void goToLegacySupportPage() - { - clickLinkWithText( "Legacy Support" ); - assertLegacySupportPage(); - } - - public void assertLegacySupportPage() - { - assertPage( "Apache Archiva \\ Administration - Legacy Support" ); - assertTextPresent( "Administration - Legacy Artifact Path Resolution" ); - assertTextPresent( "Path Mappings" ); - assertLinkPresent( "Add" ); - } - - public void addLegacyArtifactPath( String path, String groupId, String artifactId, String version, String classifier, String type) - { - assertAddLegacyArtifactPathPage(); - setFieldValue( "legacyArtifactPath.path" , path ); - setFieldValue( "groupId" , groupId ); - setFieldValue( "artifactId" , artifactId ); - setFieldValue( "version" , version ); - setFieldValue( "classifier" , classifier ); - setFieldValue( "type" , type ); - clickButtonWithValue( "Add Legacy Artifact Path" ); - } - - public void assertAddLegacyArtifactPathPage() - { - assertPage( "Apache Archiva \\ Admin: Add Legacy Artifact Path" ); - assertTextPresent( "Admin: Add Legacy Artifact Path" ); - assertTextPresent( "Enter the legacy path to map to a particular artifact reference, then adjust the fields as necessary." ); - String element = "addLegacyArtifactPath_legacyArtifactPath_path,addLegacyArtifactPath_groupId,addLegacyArtifactPath_artifactId,addLegacyArtifactPath_version,addLegacyArtifactPath_classifier,addLegacyArtifactPath_type"; - String[] arrayElement = element.split( "," ); - for ( String arrayelement : arrayElement ) - assertElementPresent( arrayelement ); - assertButtonWithValuePresent( "Add Legacy Artifact Path" ); - } + clickLinkWithText( "Delete Artifact" ); + assertDeleteArtifactPage(); + } + + public void deleteArtifact( String groupId, String artifactId, String version, String repositoryId ) + { + goToDeleteArtifactPage(); + setFieldValue( "groupId", groupId ); + setFieldValue( "artifactId", artifactId ); + setFieldValue( "version", version ); + selectValue( "repositoryId", repositoryId ); + clickButtonWithValue( "Submit" ); + } + + public void assertDeleteArtifactPage() + { + assertPage( "Apache Archiva \\ Delete Artifact" ); + assertTextPresent( "Delete Artifact" ); + assertTextPresent( "Group Id*:" ); + assertTextPresent( "Artifact Id*:" ); + assertTextPresent( "Version*:" ); + assertTextPresent( "Repository Id:" ); + assertElementPresent( "groupId" ); + assertElementPresent( "artifactId" ); + assertElementPresent( "version" ); + assertElementPresent( "repositoryId" ); + assertButtonWithValuePresent( "Submit" ); + } + + // Legacy Support + public void goToLegacySupportPage() + { + clickLinkWithText( "Legacy Support" ); + assertLegacySupportPage(); + } + + public void assertLegacySupportPage() + { + assertPage( "Apache Archiva \\ Administration - Legacy Support" ); + assertTextPresent( "Administration - Legacy Artifact Path Resolution" ); + assertTextPresent( "Path Mappings" ); + assertLinkPresent( "Add" ); + } + + public void addLegacyArtifactPath( String path, String groupId, String artifactId, String version, + String classifier, String type ) + { + assertAddLegacyArtifactPathPage(); + setFieldValue( "legacyArtifactPath.path", path ); + setFieldValue( "groupId", groupId ); + setFieldValue( "artifactId", artifactId ); + setFieldValue( "version", version ); + setFieldValue( "classifier", classifier ); + setFieldValue( "type", type ); + clickButtonWithValue( "Add Legacy Artifact Path" ); + } + + public void assertAddLegacyArtifactPathPage() + { + assertPage( "Apache Archiva \\ Admin: Add Legacy Artifact Path" ); + assertTextPresent( "Admin: Add Legacy Artifact Path" ); + assertTextPresent( "Enter the legacy path to map to a particular artifact reference, then adjust the fields as necessary." ); + String element = + "addLegacyArtifactPath_legacyArtifactPath_path,addLegacyArtifactPath_groupId,addLegacyArtifactPath_artifactId,addLegacyArtifactPath_version,addLegacyArtifactPath_classifier,addLegacyArtifactPath_type"; + String[] arrayElement = element.split( "," ); + for ( String arrayelement : arrayElement ) + assertElementPresent( arrayelement ); + assertButtonWithValuePresent( "Add Legacy Artifact Path" ); + } } diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactReportsTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactReportsTest.java index fe41f490b..ce5ad2aa0 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactReportsTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractArtifactReportsTest.java @@ -19,62 +19,62 @@ package org.apache.archiva.web.test.parent; * under the License. */ -public abstract class AbstractArtifactReportsTest - extends AbstractArchivaTest +public abstract class AbstractArtifactReportsTest + extends AbstractArchivaTest { - - //Reports - public void goToReportsPage() - { - clickLinkWithText( "Reports" ); - assertReportsPage(); - } - - public void assertReportsPage() - { - assertPage( "Apache Archiva \\ Reports" ); - assertTextPresent( "Reports" ); - assertTextPresent( "Repository Statistics" ); - assertTextPresent( "Repositories To Be Compared" ); - assertElementPresent( "availableRepositories" ); - assertButtonWithValuePresent( "v" ); - assertButtonWithValuePresent( "^" ); - assertButtonWithValuePresent( "<-" ); - assertButtonWithValuePresent( "->" ); - assertButtonWithValuePresent( "<<--" ); - assertButtonWithValuePresent( "-->>" ); - assertButtonWithValuePresent( "<*>" ); - assertElementPresent( "selectedRepositories" ); - assertButtonWithValuePresent( "v" ); - assertButtonWithValuePresent( "^" ); - assertTextPresent( "Row Count" ); - assertElementPresent( "rowCount" ); - assertTextPresent( "Start Date" ); - assertElementPresent( "startDate" ); - assertTextPresent( "End Date" ); - assertElementPresent( "endDate" ); - assertButtonWithValuePresent( "View Statistics" ); - assertTextPresent( "Repository Health" ); - assertTextPresent( "Row Count" ); - assertElementPresent( "rowCount" ); - assertTextPresent( "Group ID" ); - assertElementPresent( "groupId" ); - assertTextPresent( "Repository ID" ); - assertElementPresent( "repositoryId" ); - assertButtonWithValuePresent( "Show Report" ); - } - - public void compareRepositories( String labelSelected, String startDate, String endDate ) - { - goToReportsPage(); - getSelenium().removeSelection( "generateStatisticsReport_availableRepositories" , labelSelected ); - clickButtonWithValue( "->" , false ); - getSelenium().type( "startDate", startDate ); - //clickLinkWithLocator( "1" , false ); - //getSelenium().click( "endDate" ); - getSelenium().type( "endDate", endDate ); - //clickLinkWithLocator( "30" , false ); - clickButtonWithValue( "View Statistics" ); - } + + // Reports + public void goToReportsPage() + { + clickLinkWithText( "Reports" ); + assertReportsPage(); + } + + public void assertReportsPage() + { + assertPage( "Apache Archiva \\ Reports" ); + assertTextPresent( "Reports" ); + assertTextPresent( "Repository Statistics" ); + assertTextPresent( "Repositories To Be Compared" ); + assertElementPresent( "availableRepositories" ); + assertButtonWithValuePresent( "v" ); + assertButtonWithValuePresent( "^" ); + assertButtonWithValuePresent( "<-" ); + assertButtonWithValuePresent( "->" ); + assertButtonWithValuePresent( "<<--" ); + assertButtonWithValuePresent( "-->>" ); + assertButtonWithValuePresent( "<*>" ); + assertElementPresent( "selectedRepositories" ); + assertButtonWithValuePresent( "v" ); + assertButtonWithValuePresent( "^" ); + assertTextPresent( "Row Count" ); + assertElementPresent( "rowCount" ); + assertTextPresent( "Start Date" ); + assertElementPresent( "startDate" ); + assertTextPresent( "End Date" ); + assertElementPresent( "endDate" ); + assertButtonWithValuePresent( "View Statistics" ); + assertTextPresent( "Repository Health" ); + assertTextPresent( "Row Count" ); + assertElementPresent( "rowCount" ); + assertTextPresent( "Group ID" ); + assertElementPresent( "groupId" ); + assertTextPresent( "Repository ID" ); + assertElementPresent( "repositoryId" ); + assertButtonWithValuePresent( "Show Report" ); + } + + public void compareRepositories( String labelSelected, String startDate, String endDate ) + { + goToReportsPage(); + getSelenium().removeSelection( "generateStatisticsReport_availableRepositories", labelSelected ); + clickButtonWithValue( "->", false ); + getSelenium().type( "startDate", startDate ); + // clickLinkWithLocator( "1" , false ); + // getSelenium().click( "endDate" ); + getSelenium().type( "endDate", endDate ); + // clickLinkWithLocator( "30" , false ); + clickButtonWithValue( "View Statistics" ); + } } \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractBrowseTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractBrowseTest.java index 8fe485fc4..3de6c4fd6 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractBrowseTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractBrowseTest.java @@ -19,22 +19,22 @@ package org.apache.archiva.web.test.parent; * under the License. */ -public abstract class AbstractBrowseTest - extends AbstractArchivaTest +public abstract class AbstractBrowseTest + extends AbstractArchivaTest { - - //Browse - public void goToBrowsePage() - { - clickLinkWithText( "Browse" ); - assertBrowsePage(); - } - public void assertBrowsePage() - { - assertPage( "Apache Archiva \\ Browse Repository" ); - assertTextPresent( "Browse Repository" ); - assertTextPresent( "Groups" ); - } + // Browse + public void goToBrowsePage() + { + clickLinkWithText( "Browse" ); + assertBrowsePage(); + } + + public void assertBrowsePage() + { + assertPage( "Apache Archiva \\ Browse Repository" ); + assertTextPresent( "Browse Repository" ); + assertTextPresent( "Groups" ); + } } \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java index d78387cf1..2ac76bd81 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractRepositoryTest.java @@ -22,353 +22,365 @@ package org.apache.archiva.web.test.parent; import java.io.File; import org.testng.Assert; -public abstract class AbstractRepositoryTest - extends AbstractArchivaTest +public abstract class AbstractRepositoryTest + extends AbstractArchivaTest { - // Repository Groups - public void goToRepositoryGroupsPage() - { - if( !getTitle().equals( "Apache Archiva \\ Administration - Repository Groups" ) ) - { - clickLinkWithText( "Repository Groups" ); - } - assertRepositoryGroupsPage(); - } - - public void assertRepositoryGroupsPage() - { - assertPage( "Apache Archiva \\ Administration - Repository Groups" ); - assertTextPresent( "Administration - Repository Groups" ); - assertTextPresent( "Identifier*:" ); - assertElementPresent( "repositoryGroup.id" ); - assertButtonWithValuePresent( "Add Group" ); - assertTextPresent( "Repository Groups" ); - } - - public void assertAddedRepositoryLink( String repositoryGroupName) - { - assertPage( "Apache Archiva \\ Administration - Repository Groups" ); - String repositoryGroupUrlValue = "repository/" + repositoryGroupName + "/"; - String baseUrlValue = "archiva"; - String repositoryGroupLink = baseUrl.replaceFirst( baseUrlValue, repositoryGroupUrlValue); - assertTextPresent( repositoryGroupLink ); - } - - public void assertAddedRepositoryToRepositoryGroups( String repositoryName) - { - assertPage( "Apache Archiva \\ Administration - Repository Groups" ); - assertTextPresent( repositoryName ); - assertTextPresent( "Archiva Managed Internal Repository" ); - assertAddedRepositoryLink( repositoryName ); - } - - public void assertDeleteRepositoryGroupPage( String repositoryName) - { - assertPage( "Apache Archiva \\ Admin: Delete Repository Group" ); - assertTextPresent( "WARNING: This operation can not be undone." ); - assertTextPresent( "Are you sure you want to delete the following repository group?" ); - assertTextPresent( "ID:" ); - assertTextPresent( repositoryName ); - assertButtonWithValuePresent( "Confirm" ); - assertButtonWithValuePresent( "Cancel" ); - } - - public void addRepositoryGroup( String repoGroupName ) - { - goToRepositoryGroupsPage(); - setFieldValue( "repositoryGroup.id", repoGroupName ); - clickButtonWithValue( "Add Group" ); - } - - public void addRepositoryToRepositoryGroup( String repositoryGroupName, String repositoryName ) - { - goToRepositoryGroupsPage(); - String s = getSelenium().getBodyText(); - if ( s.contains( "No Repository Groups Defined." ) ) - { - setFieldValue( "repositoryGroup.id" , repositoryGroupName ); - clickButtonWithValue( "Add Group" ); - //assertAddedRepositoryLink( repositoryGroupName ); - - selectValue( "addRepositoryToGroup_repoId" , repositoryName ); - clickButtonWithValue( "Add Repository" ); - assertAddedRepositoryToRepositoryGroups( repositoryName ); - } - else - { - //assertAddedRepositoryLink( repositoryGroupName ); - selectValue( "addRepositoryToGroup_repoId" , repositoryName ); - clickButtonWithValue( "Add Repository" ); - } - } - - public void deleteRepositoryInRepositoryGroups() - { - goToRepositoryGroupsPage(); - getSelenium().click( "xpath=//div[@id='contentArea']/div[2]/div/div[3]/div[1]/a/img" ); - waitPage(); - } - - public void deleteRepositoryGroup( String repositoryName ) - { - getSelenium().click( "xpath=//div[@id='contentArea']/div[2]/div/div[1]/div/a/img" ); - waitPage(); - assertDeleteRepositoryGroupPage( repositoryName ); - clickButtonWithValue( "Confirm" ); - } - - /////////////////////////////// - // proxy connectors - /////////////////////////////// - public void goToProxyConnectorsPage() - { - clickLinkWithText( "Proxy Connectors" ); - assertProxyConnectorsPage(); - } - - public void assertProxyConnectorsPage() - { - assertPage( "Apache Archiva \\ Administration - Proxy Connectors" ); - assertTextPresent( "Administration - Proxy Connectors" ); - assertTextPresent( "Repository Proxy Connectors" ); - assertTextPresent( "internal" ); - assertTextPresent( "Archiva Managed Internal Repository" ); - assertTextPresent( "Proxy Connector" ); - assertTextPresent( "Central Repository" ); - assertTextPresent( "Java.net Repository for Maven 2" ); - } - - public void assertAddProxyConnectorPage() - { - assertPage( "Apache Archiva \\ Admin: Add Proxy Connector" ); - assertTextPresent( "Admin: Add Proxy Connector" ); - String proxy = "Network Proxy*:,Managed Repository*:,Remote Repository*:,Policies:,Return error when:,On remote error:,Releases:,Snapshots:,Checksum:,Cache failures:,Properties:,No properties have been set.,Black List:,No black list patterns have been set.,White List:,No white list patterns have been set."; - String[] arrayProxy = proxy.split( "," ); - for ( String arrayproxy : arrayProxy ) - assertTextPresent( arrayproxy ); - /*String proxyElements = "addProxyConnector_connector_proxyId,addProxyConnector_connector_sourceRepoId,addProxyConnector_connector_targetRepoId,policy_propagate-errors-on-update,policy_propagate-errors,policy_releases,policy_snapshots,policy_checksum,policy_cache-failures,propertiesEntry,propertiesValue,blackListEntry,whiteListEntry"; - String[] arrayProxyElements = proxyElements.split( "," ); - for ( String arrayproxyelements : arrayProxyElements ) - assertTextPresent( arrayproxyelements );*/ - assertButtonWithValuePresent( "Add Property" ); - assertButtonWithValuePresent( "Add Pattern" ); - assertButtonWithValuePresent( "Add Proxy Connector" ); - } - - // this only fills in the values of required fields in adding Proxy Connectors - public void addProxyConnector( String networkProxy, String managedRepo, String remoteRepo ) - { - goToProxyConnectorsPage(); - clickLinkWithText( "Add" ); - assertAddProxyConnectorPage(); - selectValue( "connector.proxyId" , networkProxy ); - selectValue( "connector.sourceRepoId" , managedRepo ); - selectValue( "connector.targetRepoId" , remoteRepo ); - } - - public void deleteProxyConnector() - { - goToProxyConnectorsPage(); - clickLinkWithXPath( "//div[@id='contentArea']/div[2]/div[1]/div[2]/div[1]/a[3]/img" ); - assertPage( "Apache Archiva \\ Admin: Delete Proxy Connectors" ); - clickButtonWithValue( "Delete" ); - assertPage( "Apache Archiva \\ Administration - Proxy Connectors" ); - } - - /////////////////////////////// - // network proxies - /////////////////////////////// - public void goToNetworkProxiesPage() - { - clickLinkWithText( "Network Proxies" ); - assertNetworkProxiesPage(); - } - - public void assertNetworkProxiesPage() - { - assertPage( "Apache Archiva \\ Administration - Network Proxies" ); - assertTextPresent( "Administration - Network Proxies" ); - assertTextPresent( "Network Proxies" ); - assertLinkPresent( "Add Network Proxy" ); - } - - public void assertAddNetworkProxy() - { - assertPage( "Apache Archiva \\ Admin: Add Network Proxy" ); - assertTextPresent( "Admin: Add Network Proxy" ); - assertTextPresent( "Add network proxy:" ); - assertTextPresent( "Identifier*:" ); - assertTextPresent( "Protocol*:" ); - assertTextPresent( "Hostname*:" ); - assertTextPresent( "Port*:" ); - assertTextPresent( "Username:" ); - assertTextPresent( "Password:" ); - assertButtonWithValuePresent( "Save Network Proxy" ); - } - - public void addNetworkProxy( String identifier, String protocol, String hostname, String port, String username, String password ) - { - //goToNetworkProxiesPage(); - clickLinkWithText( "Add Network Proxy" ); - assertAddNetworkProxy(); - setFieldValue( "proxy.id" , identifier ); - setFieldValue( "proxy.protocol" , protocol ); - setFieldValue( "proxy.host" , hostname ); - setFieldValue( "proxy.port" , port ); - setFieldValue( "proxy.username" , username ); - setFieldValue( "proxy.password" , password ); - clickButtonWithValue( "Save Network Proxy" ); - } - - public void editNetworkProxies( String fieldName, String value) - { - //goToNetworkProxiesPage(); - clickLinkWithText( "Edit Network Proxy" ); - setFieldValue( fieldName, value); - clickButtonWithValue( "Save Network Proxy" ); - } - - public void deleteNetworkProxy() - { - //goToNetworkProxiesPage(); - clickLinkWithText( "Delete Network Proxy" ); - assertPage( "Apache Archiva \\ Admin: Delete Network Proxy" ); - assertTextPresent( "WARNING: This operation can not be undone." ); - clickButtonWithValue( "Delete" ); - } - - // remote repositories - public void assertAddRemoteRepository() - { - assertPage( "Apache Archiva \\ Admin: Add Remote Repository" ); - String remote = "Identifier*:,Name*:,URL*:,Username:,Password:,Timeout in seconds:,Type:"; - String[] arrayRemote = remote.split( "," ); - for ( String arrayremote : arrayRemote ) - assertTextPresent( arrayremote ); - String remoteElements = "addRemoteRepository_repository_id,addRemoteRepository_repository_name,addRemoteRepository_repository_url,addRemoteRepository_repository_username,addRemoteRepository_repository_password,addRemoteRepository_repository_timeout,addRemoteRepository_repository_layout"; - String[] arrayRemoteElements = remoteElements.split( "," ); - for ( String arrayremotelement : arrayRemoteElements ) - assertElementPresent( arrayremotelement ); - } - - public void assertDeleteRemoteRepositoryPage() - { - assertPage( "Apache Archiva \\ Admin: Delete Remote Repository" ); - assertTextPresent( "Admin: Delete Remote Repository" ); - assertTextPresent( "WARNING: This operation can not be undone." ); - assertTextPresent( "Are you sure you want to delete the following remote repository?" ); - assertButtonWithValuePresent( "Confirm" ); - assertButtonWithValuePresent( "Cancel" ); - } - - public void addRemoteRepository( String identifier, String name, String url, String username, String password, String timeout, String type ) - { - //goToRepositoriesPage(); - assertAddRemoteRepository(); - setFieldValue( "addRemoteRepository_repository_id" , identifier ); - setFieldValue( "addRemoteRepository_repository_name" , name ); - setFieldValue( "addRemoteRepository_repository_url" , url ); - setFieldValue( "addRemoteRepository_repository_username" , username ); - setFieldValue( "addRemoteRepository_repository_password" , password ); - setFieldValue( "addRemoteRepository_repository_timeout" , timeout ); - selectValue( "addRemoteRepository_repository_layout" , type ); - clickButtonWithValue( "Add Repository" ); - } - - public void deleteRemoteRepository() - { - goToRepositoriesPage(); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[8]/div[1]/a[2]" ); - assertDeleteRemoteRepositoryPage(); - clickButtonWithValue( "Confirm" ); - } - - public void editRemoteRepository( String fieldName, String value) - { - goToRepositoriesPage(); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[8]/div[1]/a[1]" ); - setFieldValue( fieldName, value ); - clickButtonWithValue( "Update Repository" ); - } - - public void editManagedRepository( String fieldName, String value ) - { - goToRepositoriesPage(); - clickLinkWithXPath( "//div[@id='contentArea']/div/div[5]/div[1]/a[1]/img" ); - assertPage( "Apache Archiva \\ Admin: Edit Managed Repository" ); - setFieldValue(fieldName, value); - //TODO - clickButtonWithValue( "Update Repository" ); - } - - public void deleteManagedRepository() - { - clickLinkWithXPath( "//div[@id='contentArea']/div/div[5]/div[1]/a[2]" ); - assertPage( "Apache Archiva \\ Admin: Delete Managed Repository" ); - clickButtonWithValue( "Delete Configuration Only" ); - } - - public String getRepositoryDir() - { - File f = new File( "" ); - String artifactFilePath = f.getAbsolutePath(); - return artifactFilePath + "/target/"; - } - - ///////////////////////////////////////////// - // Repository Scanning - ///////////////////////////////////////////// - public void goToRepositoryScanningPage() - { - clickLinkWithText( "Repository Scanning" ); - assertRepositoryScanningPage(); - } - - public void assertRepositoryScanningPage() - { - assertPage( "Apache Archiva \\ Administration - Repository Scanning" ); - assertTextPresent( "Administration - Repository Scanning" ); - assertTextPresent( "Repository Scanning - File Types" ); - String artifactsTypes = "**/*.pom,**/*.jar,**/*.ear,**/*.war,**/*.car,**/*.sar,**/*.mar,**/*.rar,**/*.dtd,**/*.tld,**/*.tar.gz,**/*.tar.bz2,**/*.zip"; - String [] arrayArtifactTypes = artifactsTypes.split( "," ); - for (int i = 0; i < arrayArtifactTypes.length; i++) - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[1]/table."+i+".0"), arrayArtifactTypes[i]); - - String autoremove = "**/*.bak,**/*~,**/*-"; - String [] arrayAutoremove = autoremove.split( "," ); - for (int i = 0; i < arrayAutoremove.length; i++) - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[2]/table."+i+".0"), arrayAutoremove[i]); - - String ignored = "**/.htaccess,**/KEYS,**/*.rb,**/*.sh,**/.svn/**,**/.DAV/**"; - String [] arrayIgnored = ignored.split( "," ); - for (int i = 0; i < arrayIgnored.length; i++) - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[3]/table."+i+".0"), arrayIgnored[i]); - - String indexableContent = "**/*.txt,**/*.TXT,**/*.block,**/*.config,**/*.pom,**/*.xml,**/*.xsd,**/*.dtd,**/*.tld"; - String [] arrayIndexableContent = indexableContent.split( "," ); - for (int i = 0; i < arrayIndexableContent.length; i++) - Assert.assertEquals(getSelenium().getTable("//div[@id='contentArea']/div/div[4]/table."+i+".0"), arrayIndexableContent[i]); - } - - ///////////////////////////////////////////// - // Database - ///////////////////////////////////////////// - public void goToDatabasePage() - { - clickLinkWithText( "Database" ); - assertDatabasePage(); - } - - public void assertDatabasePage() - { - assertPage( "Apache Archiva \\ Administration - Database" ); - assertTextPresent( "Administration - Database" ); - assertTextPresent( "Database - Unprocessed Artifacts Scanning" ); - assertTextPresent( "Cron:" ); - assertElementPresent( "database_cron" ); - assertButtonWithValuePresent( "Update Cron" ); - assertButtonWithValuePresent( "Update Database Now" ); - assertTextPresent( "Database - Unprocessed Artifacts Scanning" ); - assertTextPresent( "Database - Artifact Cleanup Scanning" ); - } -} + // Repository Groups + public void goToRepositoryGroupsPage() + { + if ( !getTitle().equals( "Apache Archiva \\ Administration - Repository Groups" ) ) + { + clickLinkWithText( "Repository Groups" ); + } + assertRepositoryGroupsPage(); + } + + public void assertRepositoryGroupsPage() + { + assertPage( "Apache Archiva \\ Administration - Repository Groups" ); + assertTextPresent( "Administration - Repository Groups" ); + assertTextPresent( "Identifier*:" ); + assertElementPresent( "repositoryGroup.id" ); + assertButtonWithValuePresent( "Add Group" ); + assertTextPresent( "Repository Groups" ); + } + + public void assertAddedRepositoryLink( String repositoryGroupName ) + { + assertPage( "Apache Archiva \\ Administration - Repository Groups" ); + String repositoryGroupUrlValue = "repository/" + repositoryGroupName + "/"; + String baseUrlValue = "archiva"; + String repositoryGroupLink = baseUrl.replaceFirst( baseUrlValue, repositoryGroupUrlValue ); + assertTextPresent( repositoryGroupLink ); + } + + public void assertAddedRepositoryToRepositoryGroups( String repositoryName ) + { + assertPage( "Apache Archiva \\ Administration - Repository Groups" ); + assertTextPresent( repositoryName ); + assertTextPresent( "Archiva Managed Internal Repository" ); + assertAddedRepositoryLink( repositoryName ); + } + + public void assertDeleteRepositoryGroupPage( String repositoryName ) + { + assertPage( "Apache Archiva \\ Admin: Delete Repository Group" ); + assertTextPresent( "WARNING: This operation can not be undone." ); + assertTextPresent( "Are you sure you want to delete the following repository group?" ); + assertTextPresent( "ID:" ); + assertTextPresent( repositoryName ); + assertButtonWithValuePresent( "Confirm" ); + assertButtonWithValuePresent( "Cancel" ); + } + + public void addRepositoryGroup( String repoGroupName ) + { + goToRepositoryGroupsPage(); + setFieldValue( "repositoryGroup.id", repoGroupName ); + clickButtonWithValue( "Add Group" ); + } + + public void addRepositoryToRepositoryGroup( String repositoryGroupName, String repositoryName ) + { + goToRepositoryGroupsPage(); + String s = getSelenium().getBodyText(); + if ( s.contains( "No Repository Groups Defined." ) ) + { + setFieldValue( "repositoryGroup.id", repositoryGroupName ); + clickButtonWithValue( "Add Group" ); + // assertAddedRepositoryLink( repositoryGroupName ); + + selectValue( "addRepositoryToGroup_repoId", repositoryName ); + clickButtonWithValue( "Add Repository" ); + assertAddedRepositoryToRepositoryGroups( repositoryName ); + } + else + { + // assertAddedRepositoryLink( repositoryGroupName ); + selectValue( "addRepositoryToGroup_repoId", repositoryName ); + clickButtonWithValue( "Add Repository" ); + } + } + + public void deleteRepositoryInRepositoryGroups() + { + goToRepositoryGroupsPage(); + getSelenium().click( "xpath=//div[@id='contentArea']/div[2]/div/div[3]/div[1]/a/img" ); + waitPage(); + } + + public void deleteRepositoryGroup( String repositoryName ) + { + getSelenium().click( "xpath=//div[@id='contentArea']/div[2]/div/div[1]/div/a/img" ); + waitPage(); + assertDeleteRepositoryGroupPage( repositoryName ); + clickButtonWithValue( "Confirm" ); + } + + // ///////////////////////////// + // proxy connectors + // ///////////////////////////// + public void goToProxyConnectorsPage() + { + clickLinkWithText( "Proxy Connectors" ); + assertProxyConnectorsPage(); + } + + public void assertProxyConnectorsPage() + { + assertPage( "Apache Archiva \\ Administration - Proxy Connectors" ); + assertTextPresent( "Administration - Proxy Connectors" ); + assertTextPresent( "Repository Proxy Connectors" ); + assertTextPresent( "internal" ); + assertTextPresent( "Archiva Managed Internal Repository" ); + assertTextPresent( "Proxy Connector" ); + assertTextPresent( "Central Repository" ); + assertTextPresent( "Java.net Repository for Maven 2" ); + } + + public void assertAddProxyConnectorPage() + { + assertPage( "Apache Archiva \\ Admin: Add Proxy Connector" ); + assertTextPresent( "Admin: Add Proxy Connector" ); + String proxy = + "Network Proxy*:,Managed Repository*:,Remote Repository*:,Policies:,Return error when:,On remote error:,Releases:,Snapshots:,Checksum:,Cache failures:,Properties:,No properties have been set.,Black List:,No black list patterns have been set.,White List:,No white list patterns have been set."; + String[] arrayProxy = proxy.split( "," ); + for ( String arrayproxy : arrayProxy ) + assertTextPresent( arrayproxy ); + /* + * String proxyElements = + * "addProxyConnector_connector_proxyId,addProxyConnector_connector_sourceRepoId,addProxyConnector_connector_targetRepoId,policy_propagate-errors-on-update,policy_propagate-errors,policy_releases,policy_snapshots,policy_checksum,policy_cache-failures,propertiesEntry,propertiesValue,blackListEntry,whiteListEntry" + * ; String[] arrayProxyElements = proxyElements.split( "," ); for ( String arrayproxyelements : + * arrayProxyElements ) assertTextPresent( arrayproxyelements ); + */ + assertButtonWithValuePresent( "Add Property" ); + assertButtonWithValuePresent( "Add Pattern" ); + assertButtonWithValuePresent( "Add Proxy Connector" ); + } + + // this only fills in the values of required fields in adding Proxy Connectors + public void addProxyConnector( String networkProxy, String managedRepo, String remoteRepo ) + { + goToProxyConnectorsPage(); + clickLinkWithText( "Add" ); + assertAddProxyConnectorPage(); + selectValue( "connector.proxyId", networkProxy ); + selectValue( "connector.sourceRepoId", managedRepo ); + selectValue( "connector.targetRepoId", remoteRepo ); + } + + public void deleteProxyConnector() + { + goToProxyConnectorsPage(); + clickLinkWithXPath( "//div[@id='contentArea']/div[2]/div[1]/div[2]/div[1]/a[3]/img" ); + assertPage( "Apache Archiva \\ Admin: Delete Proxy Connectors" ); + clickButtonWithValue( "Delete" ); + assertPage( "Apache Archiva \\ Administration - Proxy Connectors" ); + } + + // ///////////////////////////// + // network proxies + // ///////////////////////////// + public void goToNetworkProxiesPage() + { + clickLinkWithText( "Network Proxies" ); + assertNetworkProxiesPage(); + } + + public void assertNetworkProxiesPage() + { + assertPage( "Apache Archiva \\ Administration - Network Proxies" ); + assertTextPresent( "Administration - Network Proxies" ); + assertTextPresent( "Network Proxies" ); + assertLinkPresent( "Add Network Proxy" ); + } + + public void assertAddNetworkProxy() + { + assertPage( "Apache Archiva \\ Admin: Add Network Proxy" ); + assertTextPresent( "Admin: Add Network Proxy" ); + assertTextPresent( "Add network proxy:" ); + assertTextPresent( "Identifier*:" ); + assertTextPresent( "Protocol*:" ); + assertTextPresent( "Hostname*:" ); + assertTextPresent( "Port*:" ); + assertTextPresent( "Username:" ); + assertTextPresent( "Password:" ); + assertButtonWithValuePresent( "Save Network Proxy" ); + } + + public void addNetworkProxy( String identifier, String protocol, String hostname, String port, String username, + String password ) + { + // goToNetworkProxiesPage(); + clickLinkWithText( "Add Network Proxy" ); + assertAddNetworkProxy(); + setFieldValue( "proxy.id", identifier ); + setFieldValue( "proxy.protocol", protocol ); + setFieldValue( "proxy.host", hostname ); + setFieldValue( "proxy.port", port ); + setFieldValue( "proxy.username", username ); + setFieldValue( "proxy.password", password ); + clickButtonWithValue( "Save Network Proxy" ); + } + + public void editNetworkProxies( String fieldName, String value ) + { + // goToNetworkProxiesPage(); + clickLinkWithText( "Edit Network Proxy" ); + setFieldValue( fieldName, value ); + clickButtonWithValue( "Save Network Proxy" ); + } + + public void deleteNetworkProxy() + { + // goToNetworkProxiesPage(); + clickLinkWithText( "Delete Network Proxy" ); + assertPage( "Apache Archiva \\ Admin: Delete Network Proxy" ); + assertTextPresent( "WARNING: This operation can not be undone." ); + clickButtonWithValue( "Delete" ); + } + + // remote repositories + public void assertAddRemoteRepository() + { + assertPage( "Apache Archiva \\ Admin: Add Remote Repository" ); + String remote = "Identifier*:,Name*:,URL*:,Username:,Password:,Timeout in seconds:,Type:"; + String[] arrayRemote = remote.split( "," ); + for ( String arrayremote : arrayRemote ) + assertTextPresent( arrayremote ); + String remoteElements = + "addRemoteRepository_repository_id,addRemoteRepository_repository_name,addRemoteRepository_repository_url,addRemoteRepository_repository_username,addRemoteRepository_repository_password,addRemoteRepository_repository_timeout,addRemoteRepository_repository_layout"; + String[] arrayRemoteElements = remoteElements.split( "," ); + for ( String arrayremotelement : arrayRemoteElements ) + assertElementPresent( arrayremotelement ); + } + + public void assertDeleteRemoteRepositoryPage() + { + assertPage( "Apache Archiva \\ Admin: Delete Remote Repository" ); + assertTextPresent( "Admin: Delete Remote Repository" ); + assertTextPresent( "WARNING: This operation can not be undone." ); + assertTextPresent( "Are you sure you want to delete the following remote repository?" ); + assertButtonWithValuePresent( "Confirm" ); + assertButtonWithValuePresent( "Cancel" ); + } + + public void addRemoteRepository( String identifier, String name, String url, String username, String password, + String timeout, String type ) + { + // goToRepositoriesPage(); + assertAddRemoteRepository(); + setFieldValue( "addRemoteRepository_repository_id", identifier ); + setFieldValue( "addRemoteRepository_repository_name", name ); + setFieldValue( "addRemoteRepository_repository_url", url ); + setFieldValue( "addRemoteRepository_repository_username", username ); + setFieldValue( "addRemoteRepository_repository_password", password ); + setFieldValue( "addRemoteRepository_repository_timeout", timeout ); + selectValue( "addRemoteRepository_repository_layout", type ); + clickButtonWithValue( "Add Repository" ); + } + + public void deleteRemoteRepository() + { + goToRepositoriesPage(); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[8]/div[1]/a[2]" ); + assertDeleteRemoteRepositoryPage(); + clickButtonWithValue( "Confirm" ); + } + + public void editRemoteRepository( String fieldName, String value ) + { + goToRepositoriesPage(); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[8]/div[1]/a[1]" ); + setFieldValue( fieldName, value ); + clickButtonWithValue( "Update Repository" ); + } + + public void editManagedRepository( String fieldName, String value ) + { + goToRepositoriesPage(); + clickLinkWithXPath( "//div[@id='contentArea']/div/div[5]/div[1]/a[1]/img" ); + assertPage( "Apache Archiva \\ Admin: Edit Managed Repository" ); + setFieldValue( fieldName, value ); + // TODO + clickButtonWithValue( "Update Repository" ); + } + + public void deleteManagedRepository() + { + clickLinkWithXPath( "//div[@id='contentArea']/div/div[5]/div[1]/a[2]" ); + assertPage( "Apache Archiva \\ Admin: Delete Managed Repository" ); + clickButtonWithValue( "Delete Configuration Only" ); + } + + public String getRepositoryDir() + { + File f = new File( "" ); + String artifactFilePath = f.getAbsolutePath(); + return artifactFilePath + "/target/"; + } + + // /////////////////////////////////////////// + // Repository Scanning + // /////////////////////////////////////////// + public void goToRepositoryScanningPage() + { + clickLinkWithText( "Repository Scanning" ); + assertRepositoryScanningPage(); + } + + public void assertRepositoryScanningPage() + { + assertPage( "Apache Archiva \\ Administration - Repository Scanning" ); + assertTextPresent( "Administration - Repository Scanning" ); + assertTextPresent( "Repository Scanning - File Types" ); + String artifactsTypes = + "**/*.pom,**/*.jar,**/*.ear,**/*.war,**/*.car,**/*.sar,**/*.mar,**/*.rar,**/*.dtd,**/*.tld,**/*.tar.gz,**/*.tar.bz2,**/*.zip"; + String[] arrayArtifactTypes = artifactsTypes.split( "," ); + for ( int i = 0; i < arrayArtifactTypes.length; i++ ) + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[1]/table." + i + ".0" ), + arrayArtifactTypes[i] ); + + String autoremove = "**/*.bak,**/*~,**/*-"; + String[] arrayAutoremove = autoremove.split( "," ); + for ( int i = 0; i < arrayAutoremove.length; i++ ) + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[2]/table." + i + ".0" ), + arrayAutoremove[i] ); + + String ignored = "**/.htaccess,**/KEYS,**/*.rb,**/*.sh,**/.svn/**,**/.DAV/**"; + String[] arrayIgnored = ignored.split( "," ); + for ( int i = 0; i < arrayIgnored.length; i++ ) + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[3]/table." + i + ".0" ), + arrayIgnored[i] ); + + String indexableContent = + "**/*.txt,**/*.TXT,**/*.block,**/*.config,**/*.pom,**/*.xml,**/*.xsd,**/*.dtd,**/*.tld"; + String[] arrayIndexableContent = indexableContent.split( "," ); + for ( int i = 0; i < arrayIndexableContent.length; i++ ) + Assert.assertEquals( getSelenium().getTable( "//div[@id='contentArea']/div/div[4]/table." + i + ".0" ), + arrayIndexableContent[i] ); + } + + // /////////////////////////////////////////// + // Database + // /////////////////////////////////////////// + public void goToDatabasePage() + { + clickLinkWithText( "Database" ); + assertDatabasePage(); + } + + public void assertDatabasePage() + { + assertPage( "Apache Archiva \\ Administration - Database" ); + assertTextPresent( "Administration - Database" ); + assertTextPresent( "Database - Unprocessed Artifacts Scanning" ); + assertTextPresent( "Cron:" ); + assertElementPresent( "database_cron" ); + assertButtonWithValuePresent( "Update Cron" ); + assertButtonWithValuePresent( "Update Database Now" ); + assertTextPresent( "Database - Unprocessed Artifacts Scanning" ); + assertTextPresent( "Database - Artifact Cleanup Scanning" ); + } +} \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java index 5b787b502..1d3bf8071 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/parent/AbstractSearchTest.java @@ -19,12 +19,12 @@ package org.apache.archiva.web.test.parent; * under the License. */ -public abstract class AbstractSearchTest - extends AbstractArchivaTest -{ - //Search - public void goToSearchPage() - { +public abstract class AbstractSearchTest + extends AbstractArchivaTest +{ + // Search + public void goToSearchPage() + { if ( !"Apache Archiva \\ Quick Search".equals( getTitle() ) ) { clickLinkWithText( "Search" ); @@ -32,20 +32,20 @@ public abstract class AbstractSearchTest assertPage( "Apache Archiva \\ Quick Search" ); } - } - - public void assertSearchPage() - { - assertPage( "Apache Archiva \\ Quick Search" ); - assertTextPresent( "Search for" ); - assertElementPresent( "quickSearch_q" ); - assertButtonWithValuePresent( "Search" ); - //assertLinkPresent( "Advanced Search" ); - assertTextPresent( "Enter your search terms. A variety of data will be searched for your keywords." ); - //assertButtonWithDivIdPresent( "searchHint" ); - } - - public void searchForArtifact( String artifactId ) + } + + public void assertSearchPage() + { + assertPage( "Apache Archiva \\ Quick Search" ); + assertTextPresent( "Search for" ); + assertElementPresent( "quickSearch_q" ); + assertButtonWithValuePresent( "Search" ); + // assertLinkPresent( "Advanced Search" ); + assertTextPresent( "Enter your search terms. A variety of data will be searched for your keywords." ); + // assertButtonWithDivIdPresent( "searchHint" ); + } + + public void searchForArtifact( String artifactId ) { goToSearchPage(); @@ -53,8 +53,8 @@ public abstract class AbstractSearchTest clickButtonWithValue( "Search" ); } - public void searchForArtifactAdvancedSearch( String groupId, String artifactId, String version, String repositoryId, - String className, String rowCount ) + public void searchForArtifactAdvancedSearch( String groupId, String artifactId, String version, + String repositoryId, String className, String rowCount ) { goToSearchPage(); @@ -113,4 +113,4 @@ public abstract class AbstractSearchTest } clickSubmitWithLocator( "filteredSearch_0" ); } -} +} \ No newline at end of file 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 d4d090a5b..cccb15bc9 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 @@ -39,7 +39,8 @@ import org.testng.Assert; * @version $Id: AbstractSeleniumTestCase.java 761154 2009-04-02 03:31:19Z wsmoak $ */ -public abstract class AbstractSeleniumTest { +public abstract class AbstractSeleniumTest +{ public static String baseUrl; @@ -49,19 +50,19 @@ public abstract class AbstractSeleniumTest { public static Properties p; - private final static String PROPERTIES_SEPARATOR = "="; + private final static String PROPERTIES_SEPARATOR = "="; public void open() - throws Exception - { - p = new Properties(); - p.load( this.getClass().getClassLoader().getResourceAsStream( "testng.properties" ) ); - - //baseUrl = getProperty( "BASE_URL" ); - maxWaitTimeInMs = getProperty( "MAX_WAIT_TIME_IN_MS" ); - } - - /** + throws Exception + { + p = new Properties(); + p.load( this.getClass().getClassLoader().getResourceAsStream( "testng.properties" ) ); + + // baseUrl = getProperty( "BASE_URL" ); + maxWaitTimeInMs = getProperty( "MAX_WAIT_TIME_IN_MS" ); + } + + /** * Initialize selenium */ public void open( String baseUrl, String browser, String seleniumHost, int seleniumPort ) @@ -113,8 +114,7 @@ public abstract class AbstractSeleniumTest { return value; } - - /** + /** * Close selenium session. Called from AfterSuite method of sub-class */ public void close() @@ -126,273 +126,273 @@ public abstract class AbstractSeleniumTest { selenium.set( null ); } } - - // ******************************************************* - // Auxiliar methods. This method help us and simplify test. - // ******************************************************* - - public void assertFieldValue( String fieldValue, String fieldName ) - { - assertElementPresent( fieldName ); - Assert.assertEquals( fieldValue, getSelenium().getValue( fieldName ) ); - } - + + // ******************************************************* + // Auxiliar methods. This method help us and simplify test. + // ******************************************************* + + public void assertFieldValue( String fieldValue, String fieldName ) + { + assertElementPresent( fieldName ); + Assert.assertEquals( fieldValue, getSelenium().getValue( fieldName ) ); + } + public void assertPage( String title ) { Assert.assertEquals( getTitle(), title ); } - - public String getTitle() - { - // Collapse spaces - return getSelenium().getTitle().replaceAll( "[ \n\r]+", " " ); - } - - public String getHtmlContent() - { - return getSelenium().getHtmlSource(); - } - - public void assertTextPresent( String text ) - { - Assert.assertTrue( getSelenium().isTextPresent( text ), "'" + text + "' isn't present." ); - } - - public void assertTextNotPresent( String text ) - { - Assert.assertFalse( getSelenium().isTextPresent( text ), "'" + text + "' is present." ); - } - - public void assertElementPresent( String elementLocator ) - { - Assert.assertTrue( isElementPresent( elementLocator ), "'" + elementLocator + "' isn't present." ); - } - - public void assertElementNotPresent( String elementLocator ) - { - Assert.assertFalse( isElementPresent( elementLocator ), "'" + elementLocator + "' is present." ); - } - - public void assertLinkPresent( String text ) - { - Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isn't present." ); - } - - public void assertLinkNotPresent( String text ) - { - Assert.assertFalse( isElementPresent( "link=" + text ), "The link('" + text + "' is present." ); - } - - public void assertImgWithAlt( String alt ) - { - assertElementPresent( "/¯img[@alt='" + alt + "']" ); - } - - public void assertImgWithAltAtRowCol( boolean isALink, String alt, int row, int column ) - { - String locator = "//tr[" + row + "]/td[" + column + "]/"; - locator += isALink ? "a/" : ""; - locator += "img[@alt='" + alt + "']"; - - assertElementPresent( locator ); - } - - public void assertCellValueFromTable( String expected, String tableElement, int row, int column ) - { - Assert.assertEquals( expected, getCellValueFromTable( tableElement, row, column ) ); - } - - public boolean isTextPresent( String text ) - { - return getSelenium().isTextPresent( text ); - } - - public boolean isLinkPresent( String text ) - { - return isElementPresent( "link=" + text ); - } - - public boolean isElementPresent( String locator ) - { - return getSelenium().isElementPresent( locator ); - } - - public void waitPage() - { - getSelenium().waitForPageToLoad( maxWaitTimeInMs ); - } - - public String getFieldValue( String fieldName ) - { - return getSelenium().getValue( fieldName ); - } - - public String getCellValueFromTable( String tableElement, int row, int column ) - { - return getSelenium().getTable( tableElement + "." + row + "." + column ); - } - - public void selectValue( String locator, String value ) - { - getSelenium().select( locator, "label=" + value ); - } - - public void assertOptionPresent( String selectField, String[] options ) - { - assertElementPresent( selectField ); - String[] optionsPresent = getSelenium().getSelectOptions( selectField ); - List expected = Arrays.asList( options ); + + public String getTitle() + { + // Collapse spaces + return getSelenium().getTitle().replaceAll( "[ \n\r]+", " " ); + } + + public String getHtmlContent() + { + return getSelenium().getHtmlSource(); + } + + public void assertTextPresent( String text ) + { + Assert.assertTrue( getSelenium().isTextPresent( text ), "'" + text + "' isn't present." ); + } + + public void assertTextNotPresent( String text ) + { + Assert.assertFalse( getSelenium().isTextPresent( text ), "'" + text + "' is present." ); + } + + public void assertElementPresent( String elementLocator ) + { + Assert.assertTrue( isElementPresent( elementLocator ), "'" + elementLocator + "' isn't present." ); + } + + public void assertElementNotPresent( String elementLocator ) + { + Assert.assertFalse( isElementPresent( elementLocator ), "'" + elementLocator + "' is present." ); + } + + public void assertLinkPresent( String text ) + { + Assert.assertTrue( isElementPresent( "link=" + text ), "The link '" + text + "' isn't present." ); + } + + public void assertLinkNotPresent( String text ) + { + Assert.assertFalse( isElementPresent( "link=" + text ), "The link('" + text + "' is present." ); + } + + public void assertImgWithAlt( String alt ) + { + assertElementPresent( "/¯img[@alt='" + alt + "']" ); + } + + public void assertImgWithAltAtRowCol( boolean isALink, String alt, int row, int column ) + { + String locator = "//tr[" + row + "]/td[" + column + "]/"; + locator += isALink ? "a/" : ""; + locator += "img[@alt='" + alt + "']"; + + assertElementPresent( locator ); + } + + public void assertCellValueFromTable( String expected, String tableElement, int row, int column ) + { + Assert.assertEquals( expected, getCellValueFromTable( tableElement, row, column ) ); + } + + public boolean isTextPresent( String text ) + { + return getSelenium().isTextPresent( text ); + } + + public boolean isLinkPresent( String text ) + { + return isElementPresent( "link=" + text ); + } + + public boolean isElementPresent( String locator ) + { + return getSelenium().isElementPresent( locator ); + } + + public void waitPage() + { + getSelenium().waitForPageToLoad( maxWaitTimeInMs ); + } + + public String getFieldValue( String fieldName ) + { + return getSelenium().getValue( fieldName ); + } + + public String getCellValueFromTable( String tableElement, int row, int column ) + { + return getSelenium().getTable( tableElement + "." + row + "." + column ); + } + + public void selectValue( String locator, String value ) + { + getSelenium().select( locator, "label=" + value ); + } + + public void assertOptionPresent( String selectField, String[] options ) + { + assertElementPresent( selectField ); + String[] optionsPresent = getSelenium().getSelectOptions( selectField ); + List expected = Arrays.asList( options ); List present = Arrays.asList( optionsPresent ); - Assert.assertTrue( present.containsAll( expected ), "Options expected are not included in present options" ); - } - - public void assertSelectedValue( String value, String fieldName ) - { - assertElementPresent( fieldName ); - String optionsPresent = getSelenium().getSelectedLabel( value ); - Assert.assertEquals( optionsPresent, value ); - } - - public void submit() - { - clickLinkWithXPath( "//input[@type='submit']" ); - } - - public void assertButtonWithValuePresent( String text ) - { - Assert.assertTrue( isButtonWithValuePresent( text ), "'" + text + "' button isn't present" ); - } - - public void assertButtonWithIdPresent( String id ) - { - Assert.assertTrue( isButtonWithIdPresent( id ), "'Button with id =" + id + "' isn't present" ); - } - - public void assertButtonWithValueNotPresent( String text ) - { - Assert.assertFalse( isButtonWithValuePresent( text ), "'" + text + "' button is present" ); - } - - public boolean isButtonWithValuePresent( String text ) - { - return isElementPresent( "//button[@value='" + text + "']" ) - || isElementPresent( "//input[@value='" + text + "']" ); - } - - public boolean isButtonWithIdPresent( String text ) - { - return isElementPresent( "//button[@id='" + text + "']" ) || isElementPresent( "//input[@id='" + text + "']" ); - } - - public void clickButtonWithValue( String text ) - { - clickButtonWithValue( text, true ); - } - - public void clickButtonWithValue( String text, boolean wait ) - { - assertButtonWithValuePresent( text ); - - if ( isElementPresent( "//button[@value='" + text + "']" ) ) - { - clickLinkWithXPath( "//button[@value='" + text + "']", wait ); - } - else - { - clickLinkWithXPath( "//input[@value='" + text + "']", wait ); - } - } - - public void clickSubmitWithLocator( String locator ) - { - clickLinkWithLocator( locator ); - } - - public void clickSubmitWithLocator( String locator, boolean wait ) - { - clickLinkWithLocator( locator, wait ); - } - - public void clickImgWithAlt( String alt ) - { - clickLinkWithLocator( "//img[@alt='" + alt + "']" ); - } - - public void clickLinkWithText( String text ) - { - clickLinkWithText( text, true ); - } - - public void clickLinkWithText( String text, boolean wait ) - { - clickLinkWithLocator( "link=" + text, wait ); - } - - public void clickLinkWithXPath( String xpath ) - { - clickLinkWithXPath( xpath, true ); - } - - public void clickLinkWithXPath( String xpath, boolean wait ) - { - clickLinkWithLocator( "xpath=" + xpath, wait ); - } - - public void clickLinkWithLocator( String locator ) - { - clickLinkWithLocator( locator, true ); - } - - public void clickLinkWithLocator( String locator, boolean wait ) - { - assertElementPresent( locator ); - getSelenium().click( locator ); - if ( wait ) - { - waitPage(); - } - } - - public void setFieldValues( Map fieldMap ) - { - Map.Entry entry; - - for ( Iterator> entries = fieldMap.entrySet().iterator(); entries.hasNext(); ) - { - entry = entries.next(); - - getSelenium().type( entry.getKey(), entry.getValue() ); - } - } - - public void setFieldValue( String fieldName, String value ) - { - getSelenium().type( fieldName, value ); - } - - public void checkField( String locator ) - { - getSelenium().check( locator ); - } - - public void uncheckField( String locator ) - { - getSelenium().uncheck( locator ); - } - - public boolean isChecked( String locator ) - { - return getSelenium().isChecked( locator ); - } - - public void assertIsChecked( String locator ) - { - Assert.assertTrue( getSelenium().isChecked( locator ) ); - } - - public void assertIsNotChecked( String locator ) - { - Assert.assertFalse( getSelenium().isChecked( locator ) ); - } - -} + Assert.assertTrue( present.containsAll( expected ), "Options expected are not included in present options" ); + } + + public void assertSelectedValue( String value, String fieldName ) + { + assertElementPresent( fieldName ); + String optionsPresent = getSelenium().getSelectedLabel( value ); + Assert.assertEquals( optionsPresent, value ); + } + + public void submit() + { + clickLinkWithXPath( "//input[@type='submit']" ); + } + + public void assertButtonWithValuePresent( String text ) + { + Assert.assertTrue( isButtonWithValuePresent( text ), "'" + text + "' button isn't present" ); + } + + public void assertButtonWithIdPresent( String id ) + { + Assert.assertTrue( isButtonWithIdPresent( id ), "'Button with id =" + id + "' isn't present" ); + } + + public void assertButtonWithValueNotPresent( String text ) + { + Assert.assertFalse( isButtonWithValuePresent( text ), "'" + text + "' button is present" ); + } + + public boolean isButtonWithValuePresent( String text ) + { + return isElementPresent( "//button[@value='" + text + "']" ) + || isElementPresent( "//input[@value='" + text + "']" ); + } + + public boolean isButtonWithIdPresent( String text ) + { + return isElementPresent( "//button[@id='" + text + "']" ) || isElementPresent( "//input[@id='" + text + "']" ); + } + + public void clickButtonWithValue( String text ) + { + clickButtonWithValue( text, true ); + } + + public void clickButtonWithValue( String text, boolean wait ) + { + assertButtonWithValuePresent( text ); + + if ( isElementPresent( "//button[@value='" + text + "']" ) ) + { + clickLinkWithXPath( "//button[@value='" + text + "']", wait ); + } + else + { + clickLinkWithXPath( "//input[@value='" + text + "']", wait ); + } + } + + public void clickSubmitWithLocator( String locator ) + { + clickLinkWithLocator( locator ); + } + + public void clickSubmitWithLocator( String locator, boolean wait ) + { + clickLinkWithLocator( locator, wait ); + } + + public void clickImgWithAlt( String alt ) + { + clickLinkWithLocator( "//img[@alt='" + alt + "']" ); + } + + public void clickLinkWithText( String text ) + { + clickLinkWithText( text, true ); + } + + public void clickLinkWithText( String text, boolean wait ) + { + clickLinkWithLocator( "link=" + text, wait ); + } + + public void clickLinkWithXPath( String xpath ) + { + clickLinkWithXPath( xpath, true ); + } + + public void clickLinkWithXPath( String xpath, boolean wait ) + { + clickLinkWithLocator( "xpath=" + xpath, wait ); + } + + public void clickLinkWithLocator( String locator ) + { + clickLinkWithLocator( locator, true ); + } + + public void clickLinkWithLocator( String locator, boolean wait ) + { + assertElementPresent( locator ); + getSelenium().click( locator ); + if ( wait ) + { + waitPage(); + } + } + + public void setFieldValues( Map fieldMap ) + { + Map.Entry entry; + + for ( Iterator> entries = fieldMap.entrySet().iterator(); entries.hasNext(); ) + { + entry = entries.next(); + + getSelenium().type( entry.getKey(), entry.getValue() ); + } + } + + public void setFieldValue( String fieldName, String value ) + { + getSelenium().type( fieldName, value ); + } + + public void checkField( String locator ) + { + getSelenium().check( locator ); + } + + public void uncheckField( String locator ) + { + getSelenium().uncheck( locator ); + } + + public boolean isChecked( String locator ) + { + return getSelenium().isChecked( locator ); + } + + public void assertIsChecked( String locator ) + { + Assert.assertTrue( getSelenium().isChecked( locator ) ); + } + + public void assertIsNotChecked( String locator ) + { + Assert.assertFalse( getSelenium().isChecked( locator ) ); + } + +} \ No newline at end of file -- 2.39.5