From 22a95e9e347bcb9ec9de43ae228e1ccd638fd30b Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Wed, 29 Feb 2012 22:06:12 +0000 Subject: [PATCH] start to cleanup it test for webapp js git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1295309 13f79535-47bb-0310-9956-ffa450edef68 --- .../archiva-webapp-test-js/pom.xml | 2 + .../archiva/web/test/ArchivaAdminTest.java | 59 --------------- .../apache/archiva/web/test/LoginTest.java | 12 ++- .../archiva/web/test/RolesManagementTest.java | 4 +- .../archiva/web/test/UserManagementTest.java | 2 +- .../web/test/parent/AbstractArchivaTest.java | 73 ++++++++++++++++++- archiva-modules/archiva-web/pom.xml | 2 +- 7 files changed, 84 insertions(+), 70 deletions(-) diff --git a/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml b/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml index ea5783216..d774fe92b 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml +++ b/archiva-modules/archiva-web/archiva-webapp-test-js/pom.xml @@ -233,6 +233,8 @@ ${selenium.browser} ${baseUrl} ${maxWaitTimeInMs} + ${seleniumHost} + ${seleniumPort} diff --git a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java index 49387032f..721d8ba39 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/ArchivaAdminTest.java @@ -20,71 +20,12 @@ package org.apache.archiva.web.test; */ import org.apache.archiva.web.test.parent.AbstractArchivaTest; -import org.testng.Assert; -import org.testng.annotations.AfterTest; -import org.testng.annotations.BeforeSuite; -import org.testng.annotations.BeforeTest; -import org.testng.annotations.Optional; -import org.testng.annotations.Parameters; import org.testng.annotations.Test; public class ArchivaAdminTest extends AbstractArchivaTest { - @Override - @AfterTest - public void close() - throws Exception - { - super.close(); - } - - @Override - @BeforeSuite - public void open() - throws Exception - { - super.open(); - } - - @BeforeTest - @Parameters( { "baseUrl", "browser", "maxWaitTimeInMs", "seleniumHost", "seleniumPort" } ) - public void initializeArchiva( String baseUrl, String browser, int maxWaitTimeInMs, - @Optional( "localhost" ) String seleniumHost, @Optional( "4444" ) int seleniumPort ) - throws Exception - { - - super.open( baseUrl, browser, seleniumHost, seleniumPort, Integer.toString( maxWaitTimeInMs ) ); - - getSelenium().open( baseUrl ); - - waitPage(); - - // if not admin user created create one - if ( isElementVisible( "create-admin-link" ) ) - { - Assert.assertFalse( getSelenium().isVisible( "login-link-a" ) ); - Assert.assertFalse( getSelenium().isVisible( "register-link-a" ) ); - clickLinkWithLocator( "create-admin-link-a", false ); - assertCreateAdmin(); - String fullname = getProperty( "ADMIN_FULLNAME" ); - String username = getProperty( "ADMIN_USERNAME" ); - String mail = getProperty( "ADMIN_EMAIL" ); - String password = getProperty( "ADMIN_PASSWORD" ); - submitAdminData( fullname, mail, password ); - assertUserLoggedIn( username ); - clickLinkWithLocator( "logout-link-a" ); - } - else - { - Assert.assertTrue( getSelenium().isVisible( "login-link-a" ) ); - Assert.assertTrue( getSelenium().isVisible( "register-link-a" ) ); - login( getAdminUsername(), getAdminPassword() ); - } - - } - @Test( groups = { "about" }, alwaysRun = true ) public void testHome() { diff --git a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/LoginTest.java b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/LoginTest.java index e0df61b07..29ba5ef0c 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/LoginTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/LoginTest.java @@ -35,7 +35,7 @@ import org.testng.annotations.Test; public class LoginTest extends AbstractArchivaTest { - @Test( alwaysRun = true ) + @Test public void testWithBadUsername() { goToLoginPage(); @@ -45,7 +45,7 @@ public class LoginTest } - @Test( dependsOnMethods = { "testWithBadUsername" }, alwaysRun = true ) + @Test public void testWithBadPassword() { goToLoginPage(); @@ -55,27 +55,25 @@ public class LoginTest assertTextPresent( "You have entered an incorrect username and/or password" ); } - @Test( dependsOnMethods = { "testWithBadPassword" }, alwaysRun = true ) + @Test public void testWithEmptyUsername() { goToLoginPage(); setFieldValue( "user-login-form-password", "password" ); clickLinkWithLocator( "modal-login-ok", true ); - //assertTextPresent( "User Name is required" ); assertTextPresent( "This field is required." ); } - @Test( dependsOnMethods = { "testWithEmptyUsername" }, alwaysRun = true ) + @Test( alwaysRun = true ) public void testWithEmptyPassword() { goToLoginPage(); setFieldValue( "user-login-form-username", getProperty( "ADMIN_USERNAME" ) ); clickLinkWithLocator( "modal-login-ok", true ); - //assertTextPresent( "You have entered an incorrect username and/or password" ); assertTextPresent( "This field is required." ); } - @Test( groups = { "loginSuccess" }, dependsOnMethods = { "testWithEmptyPassword" }, alwaysRun = true ) + @Test public void testWithCorrectUsernamePassword() { goToLoginPage(); diff --git a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/RolesManagementTest.java b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/RolesManagementTest.java index e4b948f24..388eb5f37 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/RolesManagementTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/RolesManagementTest.java @@ -26,13 +26,15 @@ import org.testng.annotations.Test; /** * @author Olivier Lamy */ -@Test( groups = { "usermanagement" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) +@Test( groups = { "usermanagement" }, dependsOnGroups = "about" ) public class RolesManagementTest extends AbstractArchivaTest { + @Test public void testReadRolesAndUpdateDescription() throws Exception { + login( getAdminUsername(), getAdminPassword() ); clickLinkWithLocator( "menu-roles-list-a", true ); assertTextPresent( "Archiva System Administrator " ); Assert.assertTrue( StringUtils.isEmpty( getText( "role-description-Guest" ) ) ); diff --git a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/UserManagementTest.java b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/UserManagementTest.java index 61136caa3..3478c1365 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/UserManagementTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/UserManagementTest.java @@ -24,7 +24,7 @@ import org.testng.annotations.Test; /** * @author Olivier Lamy */ -@Test( groups = { "usermanagement" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } ) +@Test( groups = { "usermanagement" }, dependsOnGroups = { "about" } ) public class UserManagementTest extends AbstractArchivaTest { diff --git a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java index fa7590025..5cfc89a12 100644 --- a/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java +++ b/archiva-modules/archiva-web/archiva-webapp-test-js/src/test/testng/org/apache/archiva/web/test/parent/AbstractArchivaTest.java @@ -1,6 +1,11 @@ package org.apache.archiva.web.test.parent; import org.testng.Assert; +import org.testng.annotations.AfterTest; +import org.testng.annotations.BeforeSuite; +import org.testng.annotations.BeforeTest; +import org.testng.annotations.Optional; +import org.testng.annotations.Parameters; import java.io.File; import java.io.IOException; @@ -31,6 +36,67 @@ public abstract class AbstractArchivaTest protected String fullname; + @Override + @AfterTest + public void close() + throws Exception + { + super.close(); + } + + @Override + @BeforeSuite + public void open() + throws Exception + { + super.open(); + } + + public void assertAdminCreated() + throws Exception + { + initializeArchiva( System.getProperty( "baseUrl" ), System.getProperty( "browser" ), + Integer.getInteger( "maxWaitTimeInMs" ), System.getProperty( "seleniumHost" ), + Integer.getInteger( "seleniumPort" ) ); + } + + @BeforeTest + @Parameters( { "baseUrl", "browser", "maxWaitTimeInMs", "seleniumHost", "seleniumPort" } ) + public void initializeArchiva( String baseUrl, String browser, int maxWaitTimeInMs, + @Optional( "localhost" ) String seleniumHost, @Optional( "4444" ) int seleniumPort ) + throws Exception + { + + super.open( baseUrl, browser, seleniumHost, seleniumPort, Integer.toString( maxWaitTimeInMs ) ); + + getSelenium().open( baseUrl ); + + waitPage(); + + // if not admin user created create one + if ( isElementVisible( "create-admin-link" ) ) + { + Assert.assertFalse( getSelenium().isVisible( "login-link-a" ) ); + Assert.assertFalse( getSelenium().isVisible( "register-link-a" ) ); + clickLinkWithLocator( "create-admin-link-a", false ); + assertCreateAdmin(); + String fullname = getProperty( "ADMIN_FULLNAME" ); + String username = getAdminUsername(); + String mail = getProperty( "ADMIN_EMAIL" ); + String password = getProperty( "ADMIN_PASSWORD" ); + submitAdminData( fullname, mail, password ); + assertUserLoggedIn( username ); + clickLinkWithLocator( "logout-link-a" ); + } + else + { + Assert.assertTrue( getSelenium().isVisible( "login-link-a" ) ); + Assert.assertTrue( getSelenium().isVisible( "register-link-a" ) ); + login( getAdminUsername(), getAdminPassword() ); + } + + } + protected static String getErrorMessageText() { return getSelenium().getText( "//ul[@class='errorMessage']/li/span" ); @@ -487,7 +553,7 @@ public abstract class AbstractArchivaTest public void goToHomePage() { - getSelenium().open( "" ); + getSelenium().open( baseUrl ); } // Upload Artifact @@ -729,4 +795,9 @@ public abstract class AbstractArchivaTest assertLinkNotVisible( "Logout" ); assertLinkVisible( "Login" ); } + + protected String getAdminUserName() + { + return getProperty( "ADMIN_FULLNAME" ); + } } \ No newline at end of file diff --git a/archiva-modules/archiva-web/pom.xml b/archiva-modules/archiva-web/pom.xml index 174ad6777..4b2cbeb7a 100644 --- a/archiva-modules/archiva-web/pom.xml +++ b/archiva-modules/archiva-web/pom.xml @@ -57,7 +57,7 @@ org.testng testng - 6.2.1 + 6.4 test -- 2.39.5