Author: evenisse Date: Sat Dec 23 02:33:20 2006 New Revision: 489877 URL: http://svn.apache.org/viewvc?view=rev&rev=489877 Log: Add more security methods and create a default admin user
Modified: maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java Modified: maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java?view=diff&rev=489877&r1=489876&r2=489877 ============================================================================== --- maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java (original) +++ maven/shared/trunk/maven-web-ui-tests/src/main/java/org/apache/maven/shared/web/test/AbstractSeleniumTestCase.java Sat Dec 23 02:33:20 2006 @@ -34,12 +34,26 @@ public abstract class AbstractSeleniumTestCase extends TestCase { - final public static String CHECKBOX_CHECK = "on"; + private static final int ONE_SECOND = 1000; - final public static String CHECKBOX_UNCHECK = "off"; + private static final int ONE_MINUTE = 60 * ONE_SECOND; + + private static final int LONG_WAIT = 5 * ONE_MINUTE; + + public static final String CHECKBOX_CHECK = "on"; + + public static final String CHECKBOX_UNCHECK = "off"; private Selenium sel; + protected String adminUsername = "admin"; + + protected String adminPassword = "admin1"; + + protected String adminFullName = "Continuum Admin"; + + protected String adminEmail = "[EMAIL PROTECTED]"; + public void setUp() throws Exception { @@ -67,7 +81,28 @@ public abstract String getBaseUrl(); - protected abstract void initialize(); + /** + * We create an admin user if it doesn't exist + */ + protected void initialize() + { + getSelenium().setTimeout( String.valueOf( 5 * ONE_MINUTE ) ); + open( "/continuum" ); + + if ( "Create Admin User".equals( getTitle() ) ) + { + assertCreateAdminUserPage(); + submitCreateAdminUserPage( adminFullName, adminEmail, adminPassword, adminPassword ); + assertLoginPage(); + submitLoginPage( adminUsername, adminPassword ); + postAdminUserCreation(); + logout(); + } + } + + protected void postAdminUserCreation() + { + } protected abstract String getApplicationName(); @@ -173,10 +208,8 @@ public void assertFooter() { - assertTrue( - sel.getText( "xpath=//[EMAIL PROTECTED]'footer']/table/tbody/tr/td" ).startsWith( getApplicationName() + " " ) ); int currentYear = Calendar.getInstance().get( Calendar.YEAR ); - assertTrue( sel.getText( "xpath=//[EMAIL PROTECTED]'footer']/table/tbody/tr/td" ).endsWith( + assertTrue( getSelenium().getText( "xpath=//[EMAIL PROTECTED]'footer']/div" ).endsWith( " " + getInceptionYear() + "-" + currentYear + " Apache Software Foundation" ) ); } @@ -477,6 +510,35 @@ assertTextPresent( "[Admin] User Delete" ); assertTextPresent( "The following user will be deleted: " + username ); assertButtonWithValuePresent( "Delete User" ); + } + + ////////////////////////////////////// + // Create Admin User + ////////////////////////////////////// + public void assertCreateAdminUserPage() + { + assertPage( "Create Admin User" ); + assertTextPresent( "Create Admin User" ); + 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" ); + } + + public void submitCreateAdminUserPage( String fullName, String email, String password, String confirmPassword ) + { + setFieldValue( "user.fullName", fullName ); + setFieldValue( "user.email", email ); + setFieldValue( "user.password", password ); + setFieldValue( "user.confirmPassword", confirmPassword ); + submit(); + waitPage(); } public String getBasedir()