You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ct...@apache.org on 2009/11/10 06:38:03 UTC
svn commit: r834357 [2/7] - in
/continuum/branches/continuum-1.3.x/continuum-webapp-test: ./ src/site/
src/site/apt/ src/test/it/org/apache/continuum/web/test/
src/test/resources/ src/test/testng/config/
src/test/testng/org/apache/continuum/web/test/ s...
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractSeleniumTestCase.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractSeleniumTestCase.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractSeleniumTestCase.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AbstractSeleniumTestCase.java Tue Nov 10 05:38:01 2009
@@ -26,8 +26,6 @@
import java.io.File;
import java.util.Calendar;
-import java.util.Iterator;
-import java.util.Map;
import java.util.Properties;
/**
@@ -119,7 +117,15 @@
{
if ( getTitle().endsWith( "Continuum - Configuration" ) )
{
- setFieldValue("baseUrl", baseUrl);
+ String workingDir = sel.getValue( "configuration_workingDirectory" );
+ String buildOutputDir = sel.getValue( "configuration_buildOutputDirectory" );
+ String releaseOutputDir = sel.getValue( "configuration_releaseOutputDirectory" );
+ String locationDir = "target/data";
+ String data = "data";
+ setFieldValue( "workingDirectory" , workingDir.replaceFirst( data, locationDir ) );
+ setFieldValue( "buildOutputDirectory", buildOutputDir.replaceFirst( data , locationDir ) );
+ setFieldValue( "releaseOutputDirectory" , releaseOutputDir.replaceFirst( data, locationDir ) );
+ setFieldValue( "baseUrl", baseUrl );
clickButtonWithValue( "Save" );
}
}
@@ -236,7 +242,7 @@
{
assertEquals( getTitlePrefix() + title, getTitle() );
assertHeader();
- assertFooter();
+ //assertFooter();
}
public abstract void assertHeader();
@@ -353,18 +359,6 @@
}
}
- public void setFieldValues( Map fieldMap )
- {
- Map.Entry entry;
-
- for ( Iterator entries = fieldMap.entrySet().iterator(); entries.hasNext(); )
- {
- entry = (Map.Entry) entries.next();
-
- sel.type( (String) entry.getKey(), (String) entry.getValue() );
- }
- }
-
public void setFieldValue( String fieldName, String value )
{
sel.type( fieldName, value );
@@ -444,7 +438,7 @@
if ( validUsernamePassword )
{
- //assertTextPresent( "Current User:" );
+ assertTextPresent( "Current User:" );
assertTextPresent( username );
assertLinkPresent( "Edit Details" );
assertLinkPresent( "Logout" );
@@ -529,41 +523,32 @@
setFieldValue( "user.confirmPassword", confirmNewPassword );
clickButtonWithValue( "Submit" );
}
-
+
//////////////////////////////////////
- // Users
+ // User Roles
//////////////////////////////////////
- public void assertUsersListPage()
+ public void assertUserRoleCheckBoxPresent( String value )
{
- assertPage( "[Admin] User List" );
+ sel.isElementPresent( "xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='"+ value + "']" );
}
-
- public void assertCreateUserPage()
+
+ public void assertResourceRolesCheckBoxPresent( String value )
{
- assertPage( "[Admin] User Create" );
- assertTextPresent( "Username" );
- assertTextPresent( "Full Name" );
- assertTextPresent( "Email Address" );
- assertTextPresent( "Password" );
- assertTextPresent( "Confirm Password" );
+ sel.isElementPresent( "xpath=//input[@name='addDSelectedRoles' and @value='" + value + "']" );
}
-
- public void assertUserRolesPage()
+
+ public void checkUserRoleWithValue( String value )
{
- assertPage( "[Admin] User Edit" );
- assertTextPresent( "[Admin] User Roles" );
- assertTextPresent( "Assigned Roles" );
- assertTextPresent( "Available Roles" );
+ assertUserRoleCheckBoxPresent( value );
+ sel.click( "xpath=//input[@id='addRolesToUser_addNDSelectedRoles' and @name='addNDSelectedRoles' and @value='"+ value + "']" );
}
- public void assertDeleteUserPage( String username )
+ public void checkResourceRoleWithValue( String value )
{
- assertPage( "[Admin] User Delete" );
- assertTextPresent( "[Admin] User Delete" );
- assertTextPresent( "The following user will be deleted: " + username );
- assertButtonWithValuePresent( "Delete User" );
+ assertResourceRolesCheckBoxPresent( value );
+ sel.click( "xpath=//input[@name='addDSelectedRoles' and @value='" + value + "']" );
}
-
+
//////////////////////////////////////
// Create Admin User
//////////////////////////////////////
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AccountSecurityTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AccountSecurityTest.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AccountSecurityTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AccountSecurityTest.java Tue Nov 10 05:38:01 2009
@@ -37,23 +37,50 @@
public static final String CONFIRM_PASSWORD_FIELD = "user.confirmPassword";
- // user account 1
- public static final String CUSTOM_USERNAME = "custom1";
-
- public static final String CUSTOM_USERNAME2 = "custom2";
-
- public static final String CUSTOM_USERNAME3 = "custom3";
-
- public static final String CUSTOM_USERNAME4 = "custom4";
-
- public static final String CUSTOM_USERNAME5 = "custom5";
-
+ public static final String DUMMY_USER = "user_dummy";
+
+ public static final String GUEST_USER = "new_guest";
+
+ public static final String REGISTERED_USER = "reguser";
+
+ public static final String SYSTEM_ADMINISTRATOR = "sysad";
+
+ public static final String USER_ADMINISTRATOR = "useradmin";
+
+ public static final String GROUP_PROJECT_ADMIN = "projadmingroup";
+
+ public static final String GROUP_PROJECT_DEVELOPER = "projdevgroup";
+
+ public static final String GROUP_PROJECT_USER = "projusergroup";
+
+ public static final String MANAGE_BUILD_ENV = "managebuildenv";
+
+ public static final String MANAGE_BUILD_TEMPLATES = "managebuildtemp";
+
+ public static final String INSTALLATION = "manageinstallation";
+
+ public static final String LOCAL_REPOSITORIES = "managelocalrepo";
+
+ public static final String PURGING = "managepurging";
+
+ public static final String QUEUES = "managequeues";
+
+ public static final String SCHEDULING = "scheduling";
+
+ public static final String PROJECT_ADMIN = "projectadmin";
+
+ public static final String PROJECT_DEV = "projectdev";
+
+ public static final String PROJECT_USER = "projectuser";
+
public static final String CUSTOM_FULLNAME = "custom fullname";
public static final String CUSTOM_EMAILADD = "custom@custom.com";
- public static final String CUSTOM_PASSWORD = "custompassword";
+ public static final String CUSTOM_PASSWORD = "custompassword1";
+ public static final String CUSTOM_PASSWORD1 = "user1234";
+
public String getUsername()
{
return super.adminUsername;
@@ -64,203 +91,594 @@
return super.adminPassword;
}
- /* TODO needs to be updated
- *
- * public void tearDown()
- throws Exception
- {
- login( adminUsername, adminPassword );
-
- clickLinkWithText( "Users" );
-
- String[] users = {CUSTOM_USERNAME, CUSTOM_USERNAME2, CUSTOM_USERNAME3, CUSTOM_USERNAME4, CUSTOM_USERNAME5};
-
- for ( int i = 0; i < users.length; i++ )
- {
- String[] columns = new String[]{users[i], CUSTOM_FULLNAME, CUSTOM_EMAILADD};
- if ( isElementPresent( XPathExpressionUtil.getTableRow( columns ) ) )
- {
- if ( i == 4 )
- {
- // TODO! this is due to a bug where roles are not removed with the user, so remove them by hand [CONTINUUM-1095]
- clickLinkWithText( CUSTOM_USERNAME5 );
- clickLinkWithText( "Edit Roles" );
- checkField( "removeRolesFromUser_removeSelectedRolesSystem Administrator" );
- clickButtonWithValue( "Remove Selected Roles" );
- }
-
- deleteUser( users[i], CUSTOM_FULLNAME, CUSTOM_EMAILADD );
- }
- }
-
- logout();
-
- super.tearDown();
- }*/
-
public void testBasicUserAddDelete()
{
- createUser( CUSTOM_USERNAME, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
+ createUser( GUEST_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
// delete custom user
- deleteUser( CUSTOM_USERNAME, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ deleteUser( GUEST_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
}
-
+
public void testPasswordConfirmation()
- throws Exception
- {
- // initial user account creation ignores the password creation checks
- createUser( CUSTOM_USERNAME2, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
- logout();
-
- // start password creation validation test
- login( CUSTOM_USERNAME2, CUSTOM_PASSWORD );
-
- // Edit user informations
- goToMyAccount();
-
- //TODO: verify account details page
- assertPage( "Account Details" );
-
- // test password confirmation
- setFieldValue( PASSWORD_FIELD, CUSTOM_PASSWORD );
- setFieldValue( CONFIRM_PASSWORD_FIELD, CUSTOM_PASSWORD + "error" );
- clickButtonWithValue( "Submit" );
-
- // we should still be in Account Details
- assertPage( "Account Details" );
- isTextPresent( "Password confirmation failed. Passwords do not match" );
-
- logout();
-
- // house keeping
- login( getUsername(), getPassword() );
- deleteUser( CUSTOM_USERNAME2, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
- logout();
- }
-
- public void testPasswordCreationValidation()
- throws Exception
+ throws Exception
{
- // initial user account creation ignores the password creation checks
- createUser( CUSTOM_USERNAME3, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
- logout();
-
- // start password creation validation test
- login( CUSTOM_USERNAME3, CUSTOM_PASSWORD );
-
- // password test
- String alphaTest = "abcdef";
- String numericalTest = "123456";
- String characterLengthTest = "aaaaaaa12";
- String validPassword = "abc123";
-
- // select profile
- clickLinkWithText( "Edit Details" );
-
- //TODO: verify account details page
- assertPage( "Account Details" );
-
- // test all alpha
- setFieldValue( PASSWORD_FIELD, alphaTest );
- setFieldValue( CONFIRM_PASSWORD_FIELD, alphaTest );
- clickButtonWithValue( "Submit" );
-
- // we should still be in Account Details
- assertPage( "Account Details" );
- isTextPresent( "You must provide a password containing at least 1 numeric character(s)." );
-
- setFieldValue( PASSWORD_FIELD, numericalTest );
- setFieldValue( CONFIRM_PASSWORD_FIELD, numericalTest );
- clickButtonWithValue( "Submit" );
-
- // we should still be in Account Details
- assertPage( "Account Details" );
- isTextPresent( "You must provide a password containing at least 1 alphabetic character(s)." );
-
- setFieldValue( PASSWORD_FIELD, characterLengthTest );
- setFieldValue( CONFIRM_PASSWORD_FIELD, characterLengthTest );
- clickButtonWithValue( "Submit" );
-
- // we should still be in Account Details
- assertPage( "Account Details" );
- isTextPresent( "You must provide a password between 1 and 8 characters in length." );
-
- // we should still be in Account Details
- assertPage( "Account Details" );
- isTextPresent( "You must provide a password containing at least 1 alphabetic character(s)." );
-
- setFieldValue( PASSWORD_FIELD, validPassword );
- setFieldValue( CONFIRM_PASSWORD_FIELD, validPassword );
- clickButtonWithValue( "Submit" );
-
- // we should still be in Account Details
- assertPage( "Continuum - Group Summary" );
-
- logout();
-
- // house keeping
- login( getUsername(), getPassword() );
- deleteUser( CUSTOM_USERNAME3, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
- logout();
- }
-
-
- public void testThreeStrikeRule()
- throws Exception
- {
- createUser( CUSTOM_USERNAME4, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
- logout();
-
- int numberOfTries = 3;
-
- for ( int nIndex = 0; nIndex < numberOfTries; nIndex++ )
- {
- if ( nIndex < 2 )
- {
- login( this.CUSTOM_USERNAME4, this.CUSTOM_PASSWORD + "error", false, "Login Page" );
- // login should fail
- assertTextPresent( "You have entered an incorrect username and/or password" );
- assertFalse( "user is authenticated using wrong password", isAuthenticated() );
- }
- else
- {
- // on the 3rd try, account is locked and we are returned to the Group Summary Page
- login( this.CUSTOM_USERNAME4, this.CUSTOM_PASSWORD + "error", false, "Continuum - Group Summary" );
- assertTextPresent( "Account Locked" );
- }
- }
-
- // house keeping
- login( getUsername(), getPassword() );
- deleteUser( CUSTOM_USERNAME4, CUSTOM_FULLNAME, CUSTOM_EMAILADD, false, true );
- logout();
- }
+ // initial user account creation ignores the password creation checks
+ createUser( USER_ADMINISTRATOR, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
+ logout();
+
+ // start password creation validation test
+ login( USER_ADMINISTRATOR, CUSTOM_PASSWORD );
+
+ // Edit user informations
+ goToMyAccount();
+
+ //TODO: verify account details page
+ assertPage( "Change Password" );
+
+ // test password confirmation
+ setFieldValue( "existingPassword" , CUSTOM_PASSWORD );
+ setFieldValue( "newPassword", CUSTOM_PASSWORD );
+ setFieldValue( "newPasswordConfirm", CUSTOM_PASSWORD + "error" );
+ submit();
+
+ // we should still be in Account Details
+ assertPage( "Change Password" );
+ isTextPresent( "Password confirmation failed. Passwords do not match." );
+
+ logout();
+
+ // house keeping
+ login( getUsername(), getPassword() );
+ deleteUser( USER_ADMINISTRATOR, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+
+ public void testTenStrikeRule()
+ throws Exception
+ {
+ createUser( GROUP_PROJECT_ADMIN, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
+ logout();
+
+ login( GROUP_PROJECT_ADMIN, CUSTOM_PASSWORD );
+
+ assertPage( "Change Password" );
+ setFieldValue( "existingPassword" , CUSTOM_PASSWORD );
+ setFieldValue( "newPassword", CUSTOM_PASSWORD1 );
+ setFieldValue( "newPasswordConfirm", CUSTOM_PASSWORD1 );
+ clickButtonWithValue( "Change Password" );
+ logout();
+
+ int numberOfTries = 10;
+
+ for ( int nIndex = 0; nIndex < numberOfTries; nIndex++ )
+ {
+ if ( nIndex < 9 )
+ {
+ login( GROUP_PROJECT_ADMIN, CUSTOM_PASSWORD, false, "Login Page" );
+ // login should fail
+ assertTextPresent( "You have entered an incorrect username and/or password." );
+ assertFalse( "user is authenticated using wrong password", isAuthenticated() );
+ }
+ else
+ {
+ // on the 10nth try, account is locked and we are returned to the Group Summary Page
+ login( GROUP_PROJECT_ADMIN, CUSTOM_PASSWORD, false, "Continuum - Group Summary" );
+ assertTextPresent( "Account Locked" );
+ }
+ }
+
+ // house keeping
+ login( getUsername(), getPassword() );
+ deleteUser( GROUP_PROJECT_ADMIN, CUSTOM_FULLNAME, CUSTOM_EMAILADD, false, true );
+ logout();
+ }
public void testDefaultRolesOfNewSystemAdministrator()
- throws Exception
+ throws Exception
{
- // initialize
- createUser( CUSTOM_USERNAME5, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
-
- // upgrade the role of the user to system administrator
- assertUserRolesPage();
- checkField( "addRolesToUser_addSelectedRolesSystem Administrator" );
- clickButtonWithValue( "Add Selected Roles" );
-
- // after adding roles, we are returned to the list of users
- //TODO: check Permanent/validated/locked columns
- clickLinkWithText( CUSTOM_USERNAME5 );
-
- // verify roles
- String[] roleList = {"System Administrator", "User Administrator",
- "Continuum Group Project Administrator", "Project Developer - Default Project Group",
- "Project User - Default Project Group"};
-Thread.sleep( 20000 );
- assertElementPresent( XPathExpressionUtil.getList( roleList ) );
- deleteUser( CUSTOM_USERNAME5, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
- }
-
+ // initialize
+ createUser( SYSTEM_ADMINISTRATOR, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
+
+ // upgrade the role of the user to system administrator
+ assertUsersListPage();
+ clickLinkWithText( SYSTEM_ADMINISTRATOR );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "System Administrator" );
+ submit();
+
+ // after adding roles, we are returned to the list of users
+ //TODO: check Permanent/validated/locked columns
+ clickLinkWithText( SYSTEM_ADMINISTRATOR );
+
+ assertPage( "[Admin] User Edit" );
+ // verify roles
+ String sysadRoles = "Continuum Group Project Administrator,Continuum Group Project Developer,Continuum Group Project User,Continuum Manage Build Environments,Continuum Manage Build Templates,Continuum Manage Installations,Continuum Manage Local Repositories,Continuum Manage Purging,Continuum Manage Queues,Continuum Manage Scheduling,Project Administrator - Default Project Group,Project Developer - Default Project Group,Project User - Default Project Group,System Administrator,User Administrator";
+ String[] arraySysad = sysadRoles.split( "," );
+ for( String sysadroles : arraySysad )
+ assertTextPresent( sysadroles );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( SYSTEM_ADMINISTRATOR, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfUserAdmin()
+ {
+ createUser( USER_ADMINISTRATOR, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( USER_ADMINISTRATOR );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "User Administrator" );
+ submit();
+ clickLinkWithText( USER_ADMINISTRATOR );
+
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "User Administrator" );
+
+ logout();
+
+ login(USER_ADMINISTRATOR, CUSTOM_PASSWORD);
+ changePassword();
+ assertPagesWithUserRoles( "User Administrator" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( USER_ADMINISTRATOR, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfRegisteredUser()
+ {
+ createUser( REGISTERED_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( REGISTERED_USER );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Registered User" );
+ submit();
+ //check registered user available roles if correct
+ clickLinkWithText( REGISTERED_USER );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Registered User" );
+ logout();
+
+ //check registered user's access to continuum page
+ login( REGISTERED_USER, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Registered User" );
+ logout();
+
+ //house keeping
+ login( getUsername(), getPassword() );
+ deleteUser( REGISTERED_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+
+ public void testDefaultRolesOfGuestUser()
+ {
+ createUser( GUEST_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( GUEST_USER );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Guest" );
+ submit();
+ //check guest user's available roles if correct
+ clickLinkWithText( GUEST_USER );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Guest" );
+ logout();
+
+ //check access to continuum page
+ login( GUEST_USER, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Guest" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( GUEST_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+
+ public void testDefaultRolesOfProjectGroupAdmin()
+ {
+ createUser( GROUP_PROJECT_ADMIN, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( GROUP_PROJECT_ADMIN );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Group Project Administrator" );
+ submit();
+ //check project group admin's available roles if correct
+ clickLinkWithText( GROUP_PROJECT_ADMIN );
+ assertPage( "[Admin] User Edit" );
+ String userProjectGroupAdmin = "Continuum Group Project Administrator,Continuum Group Project Developer,Continuum Group Project User,Project Administrator - Default Project Group,Project Developer - Default Project Group,Project User - Default Project Group";
+ String[] arrayProjectGroupAdmin = userProjectGroupAdmin.split( "," );
+ for( String projectgroupadmin : arrayProjectGroupAdmin )
+ assertTextPresent( projectgroupadmin );
+ logout();
+ //check access to continuum page
+ login( GROUP_PROJECT_ADMIN, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Group Project Administrator" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( GROUP_PROJECT_ADMIN, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+
+ public void testDefaultRolesOfProjectGroupDev()
+ {
+ createUser( GROUP_PROJECT_DEVELOPER, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( GROUP_PROJECT_DEVELOPER );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Group Project Developer" );
+ submit();
+ //check available roles if correct
+ clickLinkWithText( GROUP_PROJECT_DEVELOPER );
+ assertPage( "[Admin] User Edit" );
+ String userProjectGroupDev = "Continuum Group Project Developer,Continuum Group Project User,Project Developer - Default Project Group,Project User - Default Project Group";
+ String[] arrayProjectGroupDev = userProjectGroupDev.split( "," );
+ for( String projectgroupdev : arrayProjectGroupDev )
+ assertTextPresent( projectgroupdev );
+ logout();
+ //check access to continuum page
+ login( GROUP_PROJECT_DEVELOPER, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Group Project Developer" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( GROUP_PROJECT_DEVELOPER, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfProjectGroupUser()
+ {
+ createUser( GROUP_PROJECT_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( GROUP_PROJECT_USER );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Group Project User" );
+ submit();
+ //check available roles if correct
+ clickLinkWithText( GROUP_PROJECT_USER );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Group Project User" );
+ assertTextPresent( "Project User - Default Project Group" );
+ logout();
+ //check access to continuum page
+ login( GROUP_PROJECT_USER, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Group Project Developer" );
+ logout();
+
+ login( getUsername(), getPassword() );
+
+ deleteUser( GROUP_PROJECT_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfBuildEnvironments()
+ {
+ createUser( MANAGE_BUILD_ENV, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( MANAGE_BUILD_ENV );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Manage Build Environments" );
+ submit();
+
+ clickLinkWithText( MANAGE_BUILD_ENV );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Manage Build Environments" );
+ logout();
+
+ //check access to continuum page
+ login( MANAGE_BUILD_ENV, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Manage Build Environments" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( MANAGE_BUILD_ENV, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfBuildTemp()
+ {
+ createUser( MANAGE_BUILD_TEMPLATES, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( MANAGE_BUILD_TEMPLATES );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Manage Build Templates" );
+ submit();
+
+ clickLinkWithText( MANAGE_BUILD_TEMPLATES );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Manage Build Templates" );
+ logout();
+
+ //check access to continuum page
+ login( MANAGE_BUILD_TEMPLATES, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Manage Build Templates" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( MANAGE_BUILD_TEMPLATES, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfInstallations()
+ {
+ createUser( INSTALLATION, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( INSTALLATION );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Manage Installations" );
+ submit();
+
+ clickLinkWithText( INSTALLATION );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Manage Installations" );
+ logout();
+
+ //check access to continuum page
+ login( INSTALLATION, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Manage Installations" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( INSTALLATION, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfLocalRepositories()
+ {
+ createUser( LOCAL_REPOSITORIES, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( LOCAL_REPOSITORIES );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Manage Local Repositories" );
+ submit();
+
+ clickLinkWithText( LOCAL_REPOSITORIES );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Manage Local Repositories" );
+ logout();
+
+ //check access to continuum page
+ login( LOCAL_REPOSITORIES, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Manage Local Repositories" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( LOCAL_REPOSITORIES, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfPurging()
+ {
+ createUser( PURGING, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( PURGING );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Manage Purging" );
+ submit();
+
+ clickLinkWithText( PURGING );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Manage Purging" );
+ logout();
+ //check access to continuum page
+ login( PURGING, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Manage Purging" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( PURGING, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfQueues()
+ {
+ createUser( QUEUES, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( QUEUES );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Manage Queues" );
+ submit();
+
+ clickLinkWithText( QUEUES );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Manage Queues" );
+ logout();
+
+ //check access to continuum page
+ login( QUEUES, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Manage Queues" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( QUEUES, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfScheduling()
+ {
+ createUser( SCHEDULING, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( SCHEDULING );
+ clickLinkWithText( "Edit Roles" );
+ checkUserRoleWithValue( "Continuum Manage Scheduling" );
+ submit();
+
+ clickLinkWithText( SCHEDULING );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Continuum Manage Scheduling" );
+ logout();
+ //check access to continuum page
+ login( SCHEDULING, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Continuum Manage Scheduling" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( SCHEDULING, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfProjectAdmin()
+ {
+ createUser( PROJECT_ADMIN, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( PROJECT_ADMIN );
+ clickLinkWithText( "Edit Roles" );
+ checkResourceRoleWithValue( "Project Administrator - Default Project Group" );
+ submit();
+
+ clickLinkWithText( PROJECT_ADMIN );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Project Administrator - Default Project Group" );
+ assertTextPresent( "Project Developer - Default Project Group" );
+ assertTextPresent( "Project User - Default Project Group" );
+ logout();
+ //check access to continuum page
+ login( PROJECT_ADMIN, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Project Administrator - Default Project Group" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( PROJECT_ADMIN, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfProjectDev()
+ {
+ createUser( PROJECT_DEV, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( PROJECT_DEV );
+ clickLinkWithText( "Edit Roles" );
+ checkResourceRoleWithValue( "Project Developer - Default Project Group" );
+ submit();
+
+ clickLinkWithText( PROJECT_DEV );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Project Developer - Default Project Group" );
+ assertTextPresent( "Project User - Default Project Group" );
+ logout();
+ //check access to continuum page
+ login( PROJECT_DEV, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Project Developer - Default Project Group" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( PROJECT_DEV, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+ public void testDefaultRolesOfProjectUser()
+ {
+ createUser( PROJECT_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true);
+ assertUsersListPage();
+ clickLinkWithText( PROJECT_USER );
+ clickLinkWithText( "Edit Roles" );
+ checkResourceRoleWithValue( "Project User - Default Project Group" );
+ submit();
+
+ clickLinkWithText( PROJECT_USER );
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "Project User - Default Project Group" );
+ logout();
+ //check access to continuum page
+ login( PROJECT_USER, CUSTOM_PASSWORD );
+ changePassword();
+ assertPagesWithUserRoles( "Project User - Default Project Group" );
+ logout();
+
+ login( getUsername(), getPassword() );
+ deleteUser( PROJECT_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+
+/* public void testPasswordCreationValidation()
+ throws Exception
+ {
+ // initial user account creation ignores the password creation checks
+ createUser( DUMMY_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD, CUSTOM_PASSWORD, true );
+ logout();
+
+ // start password creation validation test
+ login( DUMMY_USER, CUSTOM_PASSWORD );
+
+ // password test
+ String alphaTest = "abcdef";
+ String numericalTest = "123456";
+ String characterLengthTest = "aaaaaaa12";
+ String validPassword = "abc123";
+
+ //TODO: verify account details page
+ assertPage( "Change Password" );
+
+ // test all alpha
+ setFieldValue( "existingPassword" , CUSTOM_PASSWORD );
+ setFieldValue( "newPassword", alphaTest );
+ setFieldValue( "newPasswordConfirm", alphaTest );
+ clickButtonWithValue( "Change Password" );
+
+ // we should still be in Account Details
+ assertPage( "Change Password" );
+ isTextPresent( "You must provide a password containing at least 1 numeric character(s)." );
+
+ setFieldValue( "existingPassword" , CUSTOM_PASSWORD );
+ setFieldValue( "newPassword", numericalTest );
+ setFieldValue( "newPasswordConfirm", numericalTest );
+ clickButtonWithValue( "Change Password" );
+
+ // we should still be in Account Details
+ assertPage( "Change Password" );
+ isTextPresent( "You must provide a password containing at least 1 alphabetic character(s)." );
+
+ setFieldValue( "existingPassword" , CUSTOM_PASSWORD );
+ setFieldValue( "newPassword", characterLengthTest );
+ setFieldValue( "newPasswordConfirm", characterLengthTest );
+ clickButtonWithValue( "Change Password" );
+
+ // we should still be in Account Details
+ assertPage( "Account Details" );
+ isTextPresent( "You must provide a password between 1 and 8 characters in length." );
+
+ // we should still be in Account Details
+ assertPage( "Account Details" );
+ isTextPresent( "You must provide a password containing at least 1 alphabetic character(s)." );
+
+ setFieldValue( "existingPassword" , CUSTOM_PASSWORD );
+ setFieldValue( "newPassword", validPassword );
+ setFieldValue( "newPasswordConfirm", validPassword );
+ clickButtonWithValue( "Submit" );
+
+ // we should still be in Account Details
+ assertPage( "Continuum - Group Summary" );
+
+ logout();
+
+ // house keeping
+ login( getUsername(), getPassword() );
+ deleteUser( DUMMY_USER, CUSTOM_FULLNAME, CUSTOM_EMAILADD );
+ logout();
+ }
+*/
+
private void createUser( String userName, String fullName, String emailAdd, String password, boolean valid )
{
createUser( userName, fullName, emailAdd, password, password, valid );
@@ -275,16 +693,16 @@
// create user
clickButtonWithValue( "Create New User" );
assertCreateUserPage();
- setFieldValue( CREATE_FORM_USERNAME_FIELD, userName );
- setFieldValue( CREATE_FORM_FULLNAME_FIELD, fullName );
- setFieldValue( CREATE_FORM_EMAILADD_FIELD, emailAdd );
- setFieldValue( CREATE_FORM_PASSWORD_FIELD, password );
- setFieldValue( CREATE_FORM_CONFIRM_PASSWORD_FIELD, confirmPassword );
+ setFieldValue( "user.username", userName );
+ setFieldValue( "user.fullName", fullName );
+ setFieldValue( "user.email", emailAdd );
+ setFieldValue( "user.password", password );
+ setFieldValue( "user.confirmPassword", confirmPassword );
submit();
// click past second page without adding any roles
- assertUserRolesPage();
- clickButtonWithValue( "Add Selected Roles" );
+ assertAddUserRolesPage();
+ clickButtonWithValue( "Submit" );
if ( valid )
{
@@ -315,9 +733,8 @@
clickLinkWithText( "Users" );
// delete user
- clickLinkWithXPath(
- XPathExpressionUtil.getImgColumnElement( XPathExpressionUtil.ANCHOR, 7, "delete.gif", columnValues ) );
-
+ clickLinkWithXPath( "//table[@id='ec_table']/tbody[2]/tr[3]/td[7]/a/img" );
+
// confirm
assertDeleteUserPage( userName );
submit();
@@ -325,4 +742,179 @@
// check if account is successfuly deleted
assertElementNotPresent( XPathExpressionUtil.getTableRow( columnValues ) );
}
+
+ public void changePassword()
+ {
+ assertPage( "Change Password" );
+ setFieldValue( "existingPassword" , CUSTOM_PASSWORD );
+ setFieldValue( "newPassword", CUSTOM_PASSWORD1 );
+ setFieldValue( "newPasswordConfirm", CUSTOM_PASSWORD1 );
+ clickButtonWithValue( "Change Password" );
+ }
+
+ /*
+ * User assertions starts here...
+ * */
+
+ public void assertUsersListPage()
+ {
+ assertPage( "[Admin] User List" );
+ assertTextPresent( "[Admin] List of Users in Role: Any" );
+ assertLinkPresent( "guest" );
+ assertLinkPresent( "admin" );
+ }
+
+ public void assertCreateUserPage()
+ {
+ assertPage( "[Admin] User Create" );
+ assertTextPresent( "[Admin] User Create" );
+ assertTextPresent( "Username*:" );
+ assertElementPresent( CREATE_FORM_USERNAME_FIELD );
+ assertTextPresent( "Full Name*:" );
+ assertElementPresent( CREATE_FORM_FULLNAME_FIELD );
+ assertTextPresent( "Email Address*:" );
+ assertElementPresent( CREATE_FORM_EMAILADD_FIELD );
+ assertTextPresent( "Password*:" );
+ assertElementPresent( CREATE_FORM_PASSWORD_FIELD );
+ assertTextPresent( "Confirm Password*:" );
+ assertElementPresent( CREATE_FORM_CONFIRM_PASSWORD_FIELD );
+ assertButtonWithValuePresent( "Create User" );
+ }
+
+ public void assertAddUserRolesPage()
+ {
+ assertPage( "[Admin] User Edit" );
+ assertTextPresent( "[Admin] User Roles" );
+ assertTextPresent( "redback-xwork-integration-core" );
+ assertTextPresent( "Redback XWork Integration Security Core" );
+ assertTextPresent( "Available Roles:" );
+ String rolesCheckbox = "Guest,Registered User,System Administrator,User Administrator,Continuum Group Project Administrator,Continuum Group Project Developer,Continuum Group Project User,Continuum Manage Build Environments,Continuum Manage Build Templates,Continuum Manage Installations,Continuum Manage Local Repositories,Continuum Manage Purging,Continuum Manage Queues,Continuum Manage Scheduling";
+ String[] arrayUserRoles = rolesCheckbox.split( "," );
+ for( String userRoles : arrayUserRoles )
+ assertUserRoleCheckBoxPresent( userRoles );
+ assertTextPresent( "Resource Roles:" );
+ assertResourceRolesCheckBoxPresent( "Project Administrator - Default Project Group" );
+ assertResourceRolesCheckBoxPresent( "Project Developer - Default Project Group" );
+ assertResourceRolesCheckBoxPresent( "Project User - Default Project Group" );
+ }
+
+ public void assertDeleteUserPage( String username )
+ {
+ assertPage( "[Admin] User Delete" );
+ assertTextPresent( "[Admin] User Delete" );
+ assertTextPresent( "The following user will be deleted:" );
+ assertTextPresent( "Username: " + username );
+ assertButtonWithValuePresent( "Delete User" );
+ }
+
+ public void assertPagesWithUserRoles( String role )
+ {
+ if( role == "System Administrator" )
+ {
+ String navMenu = "About,Show Project Groups,Maven 2.0.x Project,Maven 1.x Project,Ant Project,Shell Project,Local Repositories,Purge Configurations,Schedules,Installations,Build Environments,Queues,Build Definition Templates,Configuration,Appearance,Users,Roles,Build Queue";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "User Administrator" )
+ {
+ String navMenu = "About,Show Project Groups,Users,Roles";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Group Project Administrator" )
+ {
+ String navMenu = "About,Show Project Groups,Maven 2.0.x Project,Maven 1.x Project,Ant Project,Shell Project,Schedules,Queues,Users,Roles";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Group Project Developer" )
+ {
+ String navMenu = "About,Show Project Groups,Queues";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Group Project User" )
+ {
+ String navMenu = "About,Show Project Groups,Queues";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Manage Build Environments" )
+ {
+ String navMenu = "About,Show Project Groups,Build Environments";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Manage Build Templates" )
+ {
+ String navMenu = "About,Show Project Groups,Build Definition Templates";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Manage Installations" )
+ {
+ String navMenu = "About,Show Project Groups,Installations";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Manage Local Repositories" )
+ {
+ String navMenu = "About,Show Project Groups,Local Repositories";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Manage Purging" )
+ {
+ String navMenu = "About,Show Project Groups,Purge Configurations";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Manage Queues" )
+ {
+ String navMenu = "About,Show Project Groups,Queues";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Continuum Manage Scheduling" )
+ {
+ String navMenu = "About,Show Project Groups,Schedules";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Project Administrator - Default Project Group" )
+ {
+ String navMenu = "About,Show Project Groups,Queues,Users,Roles";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else if( role == "Project Developer - Default Project Group" || role == "Project User - Default Project Group" )
+ {
+ String navMenu = "About,Show Project Groups,Queues";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ }
+ else
+ {
+ String navMenu = "About,Show Project Groups";
+ String[] arrayNavMenu = navMenu.split( "," );
+ for( String navmenu : arrayNavMenu )
+ assertLinkPresent( navmenu );
+ assertTextPresent( "Project Groups" );
+ //assertTextPresent( "Project Groups list is empty." );
+ }
+ }
}
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenOneProjectTestCase.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenOneProjectTestCase.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenOneProjectTestCase.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenOneProjectTestCase.java Tue Nov 10 05:38:01 2009
@@ -61,7 +61,7 @@
/**
* test with valid pom url
*/
- public void testValidPomUrl()
+/* public void testValidPomUrl()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/valid-project.xml";
@@ -71,21 +71,21 @@
//TODO: add more tests
removeProjectGroup( "Maven One Project", "maven-one-project", "This is a sample Maven One Project." );
}
-
+*/
/**
* test with no pom file or pom url specified
*/
public void testNoPomSpecified()
throws Exception
{
- submitAddMavenOneProjectPage( "", false );
+ submitAddMavenOneProjectPage( " ", false );
assertTextPresent( "Either POM URL or Upload POM is required." );
}
/**
* test with missing <repository> element in the pom file
*/
- public void testMissingElementInPom()
+/* public void testMissingElementInPom()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/missing-repository-element-project.xml";
@@ -93,33 +93,33 @@
assertTextPresent( "Missing 'repository' element in the POM." );
}
-
+*/
/**
* test with <extend> element present in pom file
*/
- public void testWithExtendElementPom()
+/* public void testWithExtendElementPom()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/extend-element-project.xml";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "Cannot use a POM with an 'extend' element." );
}
-
+*/
/**
* test with unparseable xml content for pom file
*/
- public void testUnparseableXmlContent()
+/* public void testUnparseableXmlContent()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/unparseable-content-project.xml";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "The XML content of the POM can not be parsed." );
}
-
+*/
/**
* test with a malformed pom url
*/
- public void testMalformedPomUrl()
+/* public void testMalformedPomUrl()
throws Exception
{
String pomUrl = "aaa";
@@ -127,26 +127,29 @@
assertTextPresent(
"The specified resource cannot be accessed. Please try again later or contact your administrator." );
}
-
+*/
/**
* test with an inaccessible pom url
*/
- public void testInaccessiblePomUrl()
+
+//TODO currently, when adding M1 project that is not accessible, no messages/prompts will be displayed.
+/* public void testInaccessiblePomUrl()
throws Exception
{
String pomUrl = "http://www.google.com";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "POM file does not exist. Either the POM you specified or one of its modules does not exist." );
}
-
+*/
/**
* test unallowed file protocol
*/
- public void testNotAllowedProtocol()
+/* public void testNotAllowedProtocol()
throws Exception
{
String pomUrl = "file:///project.xml";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "The specified resource isn't a file or the protocol used isn't allowed." );
}
+*/
}
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenTwoProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenTwoProjectTest.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenTwoProjectTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AddMavenTwoProjectTest.java Tue Nov 10 05:38:01 2009
@@ -19,13 +19,13 @@
public class AddMavenTwoProjectTest
extends AbstractAuthenticatedAdminAccessTestCase
{
- public void testAddMavenTwoProjectFromRemoteSource()
+/* public void testAddMavenTwoProjectFromRemoteSource()
throws Exception
{
// Enter values into Add Maven Two Project fields, and submit
addMavenTwoProject( TEST_POM_URL, TEST_POM_USERNAME, TEST_POM_PASSWORD, null, true );
- clickLinkWithText( DEFAULT_PROJ_GRP_NAME );
+ //clickLinkWithText( DEFAULT_PROJ_GRP_NAME );
removeProjectGroup( "Apache Maven", "org.apache.maven", "Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information." );
}
@@ -43,7 +43,7 @@
removeProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
}
-
+*/
/**
* submit the page
*
@@ -75,18 +75,18 @@
/**
* Test when scm element is missing from pom
*/
- public void testMissingScmElementPom()
+/* public void testMissingScmElementPom()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-scm-element-pom.xml";
submitAddMavenTwoProjectPage( pomUrl, false );
assertTextPresent( "Missing 'scm' element in the POM." );
}
-
+*/
/**
* Test when the specified pom url is invalid
*/
- public void testCannotAccessResource()
+/* public void testCannotAccessResource()
throws Exception
{
String pomUrl = "http://svn.apache.org/asf/maven/continuum/trunk/bad_url/pom.xml";
@@ -94,7 +94,7 @@
assertTextPresent(
"POM file does not exist. Either the POM you specified or one of its modules does not exist." );
}
-
+*/
/**
* test with a malformed pom url
*/
@@ -110,18 +110,18 @@
/**
* Test when the connection element is missing from the scm tag
*/
- public void testMissingConnectionElement()
+/* public void testMissingConnectionElement()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-connection-element-pom.xml";
submitAddMavenTwoProjectPage( pomUrl, false );
assertTextPresent( "Missing 'connection' sub-element in the 'scm' element in the POM." );
}
-
+*/
/**
* Test when the parent pom is missing or not yet added in continuum
*/
- public void testMissingParentPom()
+/* public void testMissingParentPom()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-parent-pom.xml";
@@ -129,21 +129,21 @@
assertTextPresent(
"Missing artifact trying to build the POM. Check that its parent POM is available or add it first in Continuum." );
}
-
+*/
/**
* Test when the modules/subprojects specified in the pom are not found
*/
- public void testMissingModules()
+/* public void testMissingModules()
throws Exception
{
String pomUrl= "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-modules-pom.xml";
submitAddMavenTwoProjectPage( pomUrl, false );
assertTextPresent( "Unknown error trying to build POM." );
}
-
+*/
/**
* test with an inaccessible pom url
- */
+
public void testInaccessiblePomUrl()
throws Exception
{
@@ -151,7 +151,7 @@
submitAddMavenTwoProjectPage( pomUrl, false );
assertTextPresent( "POM file does not exist. Either the POM you specified or one of its modules does not exist." );
}
-
+*/
/**
* test unallowed file protocol
*/
@@ -165,12 +165,12 @@
/**
* test cancel button
- */
+
public void testCancelButton()
{
goToAboutPage();
goToAddMavenTwoProjectPage();
clickButtonWithValue( "Cancel" );
assertAboutPage();
- }
+ } */
}
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AntTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AntTest.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AntTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/AntTest.java Tue Nov 10 05:38:01 2009
@@ -23,7 +23,7 @@
public class AntTest
extends AbstractAuthenticatedAdminAccessTestCase
{
- public void testAddAntProject()
+/* public void testAddAntProject()
throws Exception
{
goToAddAntPage();
@@ -40,18 +40,18 @@
//TODO Add more tests (values in Default Project Group, values in project view, notifiers, build defintions, delete, build,...)
}
-
+*/
public void testSubmitEmptyForm()
{
goToAddAntPage();
- clickButtonWithValue( "Add", false );
- assertAddAntProjectPage();
- assertTextPresent( "Name is required" );
- assertTextPresent( "Version is required" );
- assertTextPresent( "SCM Url is required" );
+ clickButtonWithValue( "Add" );
+ assertTextPresent( "Name is required and cannot contain null or spaces only" );
+ assertTextPresent( "Version is required and cannot contain null or spaces only" );
+ assertTextPresent( "SCM Url is required and cannot contain null or spaces only" );
+ assertAddAntProjectPage();
}
- public void testSubmitEmptyProjectName()
+/* public void testSubmitEmptyProjectName()
{
goToAddAntPage();
clickButtonWithValue( "Add", false );
@@ -94,13 +94,14 @@
assertFalse( "Double Error Messages", "SCM Url is required".equals( getSelenium().getText( "//tr[8]/td/span" ) ) );
}
}
-
+*/
public void testCancelButton()
{
goToAboutPage();
goToAddAntPage();
clickButtonWithValue( "Cancel" );
- assertAboutPage();
+ assertTextPresent( "Project Groups" );
+ //assertAboutPage();
}
private void goToAddAntPage()
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/MyAccountTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/MyAccountTest.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/MyAccountTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/MyAccountTest.java Tue Nov 10 05:38:01 2009
@@ -44,7 +44,7 @@
editMyUserInfo( adminFullName, adminEmail, adminPassword ,adminPassword, adminPassword );
assertTextPresent( "Your password cannot match any of your previous 6 password(s)." );
clickButtonWithValue( "Cancel" );
- assertPage( "Continuum - Group Summary" );
+ assertPage( "Login Page" );
}
}
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/ProjectGroupTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/ProjectGroupTest.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/ProjectGroupTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/ProjectGroupTest.java Tue Nov 10 05:38:01 2009
@@ -43,7 +43,7 @@
assertDefaultProjectGroupBuildDefinitionPage();
}
-
+/*
public void testMoveProject()
throws Exception
{
@@ -55,7 +55,7 @@
// assert that the default project group has 0 projects while the test project group has 1
assertCellValueFromTable( "0", "ec_table", 1, 8 );
- assertCellValueFromTable( "1", "ec_table", 2, 8 );
+ //assertCellValueFromTable( "1", "ec_table", 2, 8 );
// move the project of the test project group to the default project group
moveProjectToProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION,
@@ -68,7 +68,7 @@
removeProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
}
-
+*/
public void testAddBuildDefinitionWithEmptyStrings() throws Exception
{
addProjectGroup( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/SchedulesPageTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/SchedulesPageTest.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/SchedulesPageTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/it/org/apache/continuum/web/test/SchedulesPageTest.java Tue Nov 10 05:38:01 2009
@@ -111,7 +111,7 @@
return this.adminPassword;
}
- public void testBasicScheduleAddAndDelete()
+/* public void testBasicScheduleAddAndDelete()
throws Exception
{
// add schedule
@@ -281,7 +281,7 @@
assertEditSchedulePage();
}
-
+*/
public void testCancelAddSchedule()
{
clickButtonWithValue( "Add" );
@@ -340,19 +340,19 @@
assertElementPresent( "description" );
assertTextPresent( "Cron Expression:" );
assertTextPresent( "Second:" );
- assertElementPresent( "second" );
+ assertElementPresent( "saveSchedule_second" );
assertTextPresent( "Minute:" );
- assertElementPresent( "minute" );
+ assertElementPresent( "saveSchedule_minute" );
assertTextPresent( "Hour:" );
- assertElementPresent( "hour" );
+ assertElementPresent( "saveSchedule_hour" );
assertTextPresent( "Day of Month:" );
- assertElementPresent( "dayOfMonth" );
+ assertElementPresent( "saveSchedule_dayOfMonth" );
assertTextPresent( "Month:" );
- assertElementPresent( "month" );
+ assertElementPresent( "saveSchedule_month" );
assertTextPresent( "Day of Week:" );
- assertElementPresent( "dayOfWeek" );
+ assertElementPresent( "saveSchedule_dayOfWeek" );
assertTextPresent( "Year [optional]:" );
- assertElementPresent( "year" );
+ assertElementPresent( "saveSchedule_year" );
assertTextPresent( "Maximum job execution time (seconds)*:" );
assertElementPresent( "maxJobExecutionTime" );
assertTextPresent( "Quiet Period (seconds):" );
@@ -429,7 +429,7 @@
public void inputSchedule( HashMap fields, boolean wait, boolean valid )
{
- setFieldValues( fields );
+ //setFieldValues( fields );
clickButtonWithValue( "Save", wait );
@@ -447,8 +447,7 @@
public void tearDown()
throws Exception
{
- logout();
-
- super.tearDown();
+ //logout();
+ super.tearDown();
}
}
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/it.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/it.properties?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/it.properties (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/it.properties Tue Nov 10 05:38:01 2009
@@ -10,4 +10,4 @@
SELENIUM_HOST=localhost
SELENIUM_PORT=4444
-SELENIUM_BROWSER=*firefox
+
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties Tue Nov 10 05:38:01 2009
@@ -4,68 +4,274 @@
# General properties
#######################
-BASE_URL=http://localhost:9090
MAX_WAIT_TIME_IN_MS=60000
ADMIN_USERNAME=admin
+ADMIN_FULLNAME=admin
ADMIN_PASSWORD=admin123
+ADMIN_MAIL=admin@mail.com
-SELENIUM_HOST=localhost
-SELENIUM_PORT=4444
-SELENIUM_BROWSER=*firefox
-
-DEFAULT_PROJ_GRP_NAME =Default Project Group
-DEFAULT_PROJ_GRP_ID =default
-DEFAULT_PROJ_GRP_DESCRIPTION =Contains all projects that do not have a group of their own
+DEFAULT_PROJ_GRP_NAME=Default Project Group
+DEFAULT_PROJ_GRP_ID=default
+DEFAULT_PROJ_GRP_DESCRIPTION=Contains all projects that do not have a group of their own
########################
# mavenTwoProject group
########################
# Properties for testAddMavenTwoProject
-M2_POM_URL =http://svn.apache.org/repos/asf/maven/pom/trunk/maven/pom.xml
-M2_PROJ_GRP_NAME=Apache Maven
-M2_PROJ_GRP_ID=org.apache.maven
-M2_PROJ_GRP_DESCRIPTION=Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
-M2_POM_USERNAME =dummy
-M2_POM_PASSWORD =dummy
+M2_POM_URL=https://svn.apache.org/repos/asf/continuum/sandbox/continuum-build-queue-test-data/pom.xml
+M2_PROJ_GRP_NAME=ContinuumBuildQueueTestData
+M2_PROJ_GRP_ID=org.apache.continuum
+M2_PROJ_GRP_DESCRIPTION=Project for testing continuum build queue
+M2_PROJ_GRP_SCM_ROOT_URL=scm:svn:https://svn.apache.org/repos/asf/continuum/sandbox/continuum-build-queue-test-data
+M2_POM_USERNAME=
+M2_POM_PASSWORD=
+
+# Properties for testDeleteMavenTwoProject
+M2_DELETE_POM_URL=https://svn.apache.org/repos/asf/continuum/sandbox/simple-example/pom.xml
+M2_DELETE_PROJ_GRP_NAME=Continuum Simple Example Project
+M2_DELETE_PROJ_GRP_ID=org.apache.continuum.examples
+M2_DELETE_PROJ_GRP_DESCRIPTION=Delete test project
+M2_DELETE_PROJ_GRP_SCM_ROOT_URL=scm:svn:http://svn.apache.org/repos/asf/continuum/sandbox/simple-example
+
# SCM element is missing from pom
-NOT_SCM_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-scm-element-pom.xml
-MISS_CONECT_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-connection-element-pom.xml
-MISS_PARENT_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-parent-pom.xml
-MISS_SUBPRO_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-modules-pom.xml
+NOT_SCM_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-scm-element-pom.xml
+MISS_CONECT_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-connection-element-pom.xml
+MISS_PARENT_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-parent-pom.xml
+MISS_SUBPRO_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-modules-pom.xml
+
+# Properties for testAddMavenTwoProjectModuleNameWithSameLetter
+M2_SAME_LETTER_POM_URL=https://svn.apache.org/repos/asf/continuum/sandbox/flat-example/flat-parent/pom.xml
+M2_SAME_LETTER_PROJ_GRP_NAME=Flat Example
+M2_SAME_LETTER_PROJ_GRP_ID=com.example.flat
+M2_SAME_LETTER_PROJ_GRP_DESCRIPTION=
+M2_SAME_LETTER_PROJ_GRP_SCM_ROOT_URL=scm:svn:http://svn.apache.org/repos/asf/continuum/sandbox/flat-example/flat-parent
+
+########################
+# mavenOneProject group
+########################
+
+# Properties for testAddMavenOneProject
+M1_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/valid-project.xml
+M1_PROJ_GRP_NAME=Maven One Project
+M1_PROJ_GRP_ID=maven-one-project
+M1_PROJ_GRP_DESCRIPTION=This is a sample Maven One Project
+M1_POM_USERNAME=
+M1_POM_PASSWORD=
+
+# Properties for testDeleteMavenOneProject
+M1_DELETE_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/valid-project.xml
+M1_DELETE_PROJ_GRP_NAME=Maven One Project
+M1_DELETE_PROJ_GRP_ID=maven-one-project
+M1_DELETE_PROJ_GRP_DESCRIPTION=This is a sample Maven One Project.
+
+M1_MISS_REPO_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/missing-repository-element-project.xml
+M1_EXTENDED_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/extend-element-project.xml
+M1_UNPARSEABLE_POM_URL=http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/unparseable-content-project.xml
+
+########################
+# antProject group
+########################
+
+ANT_NAME=Ant Project
+ANT_DESCRIPTION=This is a sample Ant Project used for testing
+ANT_VERSION=1.0.0-SNAPSHOT
+ANT_TAG=
+ANT_SCM_URL=http://svn.apache.org/repos/asf/ant/sandbox/parallelexecutor/
+ANT_SCM_USERNAME=
+ANT_SCM_PASSWORD=
+
+########################
+# shellProject group
+########################
+
+SHELL_NAME=Shell Project
+SHELL_DESCRIPTION=This is a sample Shell Project used for testing
+SHELL_VERSION=1.0.0-SNAPSHOT
+SHELL_TAG=
+SHELL_SCM_URL=http://svn.apache.org/repos/asf/continuum/sandbox/examples/shell/
+SHELL_SCM_USERNAME=
+SHELL_SCM_PASSWORD=
########################
# projectGroup group
########################
-TEST_PROJ_GRP_NAME =Test Project Group Name
-TEST_PROJ_GRP_ID =Test Project Group Id
-TEST_PROJ_GRP_DESCRIPTION =Test Project Group Description
+TEST_PROJ_GRP_NAME=Test Project Group Name
+TEST_PROJ_GRP_ID=Test Project Group Id
+TEST_PROJ_GRP_DESCRIPTION=Test Project Group Description
## Second project group without projects
-TEST2_PROJ_GRP_NAME =Test Project Group 2 Name
-TEST2_PROJ_GRP_ID =Test Project Group 2 Id
-TEST2_PROJ_GRP_DESCRIPTION =Test Project Group 2 Description
+TEST2_PROJ_GRP_NAME=Test Project Group 2 Name
+TEST2_PROJ_GRP_ID=Test Project Group 2 Id
+TEST2_PROJ_GRP_DESCRIPTION=Test Project Group 2 Description
+
+# Test properties for testDeleteProjectGroup
+TEST_DELETE_GRP_NAME=Add then Delete Project Group
+TEST_DELETE_GRP_ID=test.delete.project.group
+TEST_DELETE_GRP_DESCRIPTION=Test Delete Project Group Description
+
+# Test properties for testProjectGroupMembers
+TEST_PROJ_GRP_NAME_ONE=Group
+TEST_PROJ_GRP_ID_ONE=Group Id
+TEST_PROJ_GRP_DESCRIPTION_ONE=Project group for members test
+TEST_PROJ_GRP_NAME_TWO=Group-Two
+TEST_PROJ_GRP_ID_TWO=Group Id Two
+TEST_PROJ_GRP_DESCRIPTION_TWO=Project group two for members test
########################
# notifier group
########################
-WAGON_NOTIFIER_URL =http://svn.apache.org/repos/asf/maven/pom/trunk/maven/pom.xml
-WAGON_SERVER_ID =wagoId
-MAIL_NOTIFIER_ADDRESS =test@test.com
-IRC_NOTIFIER_HOST =test.com
-IRC_NOTIFIER_CHANNEL =test_channel
-JABBER_NOTIFIER_HOST =test
-JABBER_NOTIFIER_LOGIN =test_login
-JABBER_NOTIFIER_PASSWORD =hello
-JABBER_NOTIFIER_ADDRESS =test@address.com
-MSN_NOTIFIER_ADDRESS =test@address.com
-MSN_NOTIFIER_LOGIN =test
-MSN_NOTIFIER_PASSWORD =hello
+WAGON_NOTIFIER_URL=http://svn.apache.org/repos/asf/maven/pom/trunk/maven/pom.xml
+WAGON_SERVER_ID=wagoId
+MAIL_NOTIFIER_ADDRESS=test@test.com
+IRC_NOTIFIER_HOST=test.com
+IRC_NOTIFIER_CHANNEL=test_channel
+JABBER_NOTIFIER_HOST=test
+JABBER_NOTIFIER_LOGIN=test_login
+JABBER_NOTIFIER_PASSWORD=hello
+JABBER_NOTIFIER_ADDRESS=test@address.com
+MSN_NOTIFIER_ADDRESS=test@address.com
+MSN_NOTIFIER_LOGIN=test
+MSN_NOTIFIER_PASSWORD=hello
########################
# buildDefinition group
########################
-BUILD_POM_NAME =pom.xml
-BUILD_GOALS =test
-BUILD_ARGUMENTS =--batch-mode --non-recursive
-BUILD_DESCRIPTION =Maven 2 Build Definition Description
+BUILD_POM_NAME=pom.xml
+BUILD_GOALS=test
+BUILD_ARGUMENTS=--batch-mode --non-recursive
+BUILD_DESCRIPTION=Maven 2 Build Definition Description
+
+########################
+# queue group
+########################
+BUILD_QUEUE_NAME=name_build_queue
+
+########################
+# purge group
+########################
+PURGE_REPOSITORY_DESCRIPTION=repository_description
+PURGE_REPOSITORY_DAYS=100
+PURGE_REPOSITORY_RETETION=3
+PURGE_DIRECTORY_DESCRIPTION=directory_description
+PURGE_DIRECTORY_DAYS=90
+PURGE_DIRECTORY_RETETION=4
+
+########################
+# local repository group
+########################
+LOCAL_REPOSITORY_NAME=repository_name
+LOCAL_REPOSITORY_LOCATION=/usr/m2/repository
+
+########################
+# schedules group
+########################
+SCHEDULE_NAME=schedule_name
+SCHEDULE_DESCRIPTION=schedule_description
+SCHEDULE_EXPR_SECOND=10
+SCHEDULE_EXPR_MINUTE=10
+SCHEDULE_EXPR_HOUR=20
+SCHEDULE_EXPR_DAY_MONTH=*
+SCHEDULE_EXPR_MONTH=*
+SCHEDULE_EXPR_DAY_WEEK=?
+SCHEDULE_EXPR_YEAR=2009
+SCHEDULE_MAX_TIME=60000
+SCHEDULE_PERIOD=36000
+
+########################
+# installations group
+########################
+# Correct location for JDK
+INSTALL_TOOL_JDK_NAME=JDK6
+INSTALL_TOOL_JDK_PATH=${java.home}
+# Correct location for maven 2
+INTALL_TOOL_MAVEN_NAME=M9_HOME
+INTALL_TOOL_MAVEN_PATH=${maven.home}
+# Not neccesary correct location
+INSTALL_VAR_NAME=JDK5
+INSTALL_VAR_VARIABLE_NAME=/usr/lib/jvm/java-5-sun-1.5.0.12
+INSTALL_VAR_PATH=JAVA5_HOME
+
+########################
+# buildEnvironment group
+########################
+BUIL_ENV_NAME=APPLICATION_JDK4
+
+########################
+# buildTemplate group
+########################
+TEMPLATE_NAME=PROJECT_MAVEN_TEMPLATE
+TEMPLATE_BUILD_POM_NAME=pom.xml
+TEMPLATE_BUILD_GOALS=test
+TEMPLATE_BUILD_ARGUMENTS=--batch-mode --non-recursive
+TEMPLATE_BUILD_DESCRIPTION=Template Maven Test
+
+########################
+# userRoles group
+########################
+# General
+USERROLE_EMAIL=user@localhost.localdomain
+USERROLE_PASSWORD=pass123
+NEW_USERROLE_PASSWORD=pass12345
+# Guest Role
+GUEST_USERNAME=guest1
+GUEST_FULLNAME=Guest
+# Registered User Role
+REGISTERED_USERNAME=reg_user
+REGISTERED_FULLNAME=Registered User
+# System Administrator
+SYSAD_USERNAME=sys_admin
+SYSAD_FULLNAME=System Administrator
+# User Administrator
+USERADMIN_USERNAME=user_admin
+USERADMIN_FULLNAME=User Administrator
+# Continuum Group Project Administrator
+GROUPPROJECTADMIN_USERNAME=groupprojectadmin
+GROUPPROJECTADMIN_FULLNAME=Continuum Group Project Administrator
+# Continuum Group Project Developer
+GROUPPROJECTDEVELOPER_USERNAME=groupprojectdev
+GROUPPROJECTDEVELOPER_FULLNAME=Continuum Group Project Developer
+# Continuum Group Project User
+GROUPPROJECTUSER_USERNAME=groupprojectuser
+GROUPPROJECTUSER_FULLNAME=Continuum Group Project User
+# Continuum Manage Build Environment
+MANAGEBUILDENVIRONMENT_USERNAME=managebuildenv
+MANAGEBUILDENVIRONMENT_FULLNAME=Continuum Manage Build Environments
+# Continuum Manage Build Templates
+MANAGEBUILDTEMPLATES_USERNAME=managebuildtemp
+MANAGEBUILDTEMPLATES_FULLNAME=Continuum Manage Build Templates
+# Continuum Manage Installations
+MANAGEINSTALLATIONS_USERNAME=manageinstallations
+MANAGEINSTALLATIONS_FULLNAME=Continuum Manage Installations
+# Continuum Manage Local Repositories
+MANAGELOCALREPOS_USERNAME=managelocalrepo
+MANAGELOCALREPOS_FULLNAME=Continuum Manage Local Repositories
+# Continuum Manage Purging
+MANAGEPURGING_USERNAME=managepurging
+MANAGEPURGING_FULLNAME=Continuum Manage Purging
+# Continuum Manage Queues
+MANAGEQUEUES_USERNAME=managequeues
+MANAGEQUEUES_FULLNAME=Continuum Manage Queues
+# Continuum Manage Scheduling
+MANAGESCHEDULING_USERNAME=manageschedule
+MANAGESCHEDULING_FULLNAME=Continuum Manage Scheduling
+# Project Administrator
+PROJECTADMINISTRATOR_DEFAULTPROJECTGROUP_USERNAME=projectadmin
+PROJECTADMINISTRATOR_DEFAULTPROJECTGROUP_FULLNAME=Project Administrator - Default Project Group
+# Project Developer
+PROJECTDEVELOPER_DEFAULTPROJECTGROUP_USERNAME=projectdev
+PROJECTDEVELOPER_DEFAULTPROJECTGROUP_FULLNAME=Project Developer - Default Project Group
+# Project User
+PROJECTUSER_DEFAULTPROJECTGROUP_USERNAME=projectuser
+PROJECTUSER_DEFAULTPROJECTGROUP_FULLNAME=Project User - Default Project Group
+
+########################
+# buildAgents group
+########################
+BUILD_AGENT_NAME =Agent_url_name
+BUILD_AGENT_DESCRIPTION =Agent_description
+BUILD_AGENT_NAME2 =Second_Agent
+BUILD_AGENT_DESCRIPTION2 =Agent_description2
+BUILD_AGENT_NAME3 =Third_Agent
+BUILD_AGENT_DESCRIPTION3 =Agent_description3
+BUILD_AGENT_GROUPNAME =agent_groupname
Added: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng-multienvironment.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng-multienvironment.xml?rev=834357&view=auto
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng-multienvironment.xml (added)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng-multienvironment.xml Tue Nov 10 05:38:01 2009
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<suite name="ContinuumTestMultiEnvironment" verbose="1" parallel="tests" thread-count="2">
+ <listeners>
+ <listener class-name="org.apache.continuum.web.test.listener.CaptureScreenShotsListener"/>
+ </listeners>
+ <test name="safari4Windows">
+ <parameter name="browser" value="Safari 4 on Windows"/>
+ <groups>
+ <run>
+ <include name="setup" /> <!-- required to setup Selenium -->
+ <include name="login" />
+ </run>
+ </groups>
+ <packages>
+ <package name="org.apache.continuum.web.test" />
+ </packages>
+ </test>
+ <test name="firefox3Linux">
+ <parameter name="browser" value="Firefox 3 on Linux"/>
+ <groups>
+ <run>
+ <include name="setup" /> <!-- required to setup Selenium -->
+ <include name="login" />
+ </run>
+ </groups>
+ <packages>
+ <package name="org.apache.continuum.web.test" />
+ </packages>
+ </test>
+</suite>
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng.xml?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng.xml (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/config/testng.xml Tue Nov 10 05:38:01 2009
@@ -20,34 +20,49 @@
-->
<suite name="ContinuumTest" verbose="1">
- <test name="BasicTest">
+ <listeners>
+ <listener class-name="org.apache.continuum.web.test.listener.CaptureScreenShotsListener"/>
+ </listeners>
+ <test name="BasicTest" enabled="true">
<!--
Groups are divided into the unit tests. The order will be described
in the annotations of each type of test.
-->
<groups>
<run>
+ <include name="setup" /> <!-- required to setup Selenium -->
<include name="about" />
</run>
</groups>
-
<packages>
<package name="org.apache.continuum.web.test" />
</packages>
</test>
- <test name="AdminTest">
-
+ <test name="AdminTest" enabled="true">
<groups>
<run>
+ <include name="setup" /> <!-- required to setup Selenium -->
<include name="login" />
+ <include name="mavenTwoProject"/>
+ <include name="projectGroup" />
+ <include name="mavenOneProject" />
+ <include name="antProject" />
+ <include name="shellProject" />
+ <include name="buildDefinition" />
+ <include name="notifier" />
+ <include name="schedule" />
<include name="myAccount" />
- <include name="mavenTwoProject"/>
- <include name="projectGroup" />
- <include name="notifier" />
- <include name="buildDefinition" />
+ <include name="queue" />
+ <include name="purge" />
+ <include name="repository" />
+ <include name="configuration" />
+ <include name="installation" />
+ <include name="buildEnvironment" />
+ <include name="buildDefinitionTemplate" />
+ <include name="userroles"/>
+ <include name="agent"/>
</run>
</groups>
-
<packages>
<package name="org.apache.continuum.web.test" />
</packages>
Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java?rev=834357&r1=834356&r2=834357&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java Tue Nov 10 05:38:01 2009
@@ -19,9 +19,7 @@
* under the License.
*/
-import org.testng.Assert;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.BeforeTest;
+import org.apache.continuum.web.test.parent.AbstractContinuumTest;
import org.testng.annotations.Test;
/**
@@ -32,28 +30,11 @@
*/
@Test( groups = { "about" }, alwaysRun = true )
public class AboutTest
- extends AbstractSeleniumTest
+ extends AbstractContinuumTest
{
-
- @BeforeTest(groups = { "about" })
- public void open()
- throws Exception
- {
- super.open(1);
- }
-
public void displayAboutPage()
{
- geSelenium().open( baseUrl + "/about.action" );
- geSelenium().waitForPageToLoad( maxWaitTimeInMs );
- Assert.assertEquals( "Continuum - About", geSelenium().getTitle() );
+ goToAboutPage();
}
- @Override
- @AfterTest(groups = { "about" })
- public void close()
- throws Exception
- {
- super.close();
- }
}
\ No newline at end of file