You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by br...@apache.org on 2012/08/01 07:50:36 UTC
svn commit: r1367862 - in
/continuum/trunk/continuum-webapp-test/src/test/testng: config/
org/apache/continuum/web/test/ org/apache/continuum/web/test/parent/
Author: brett
Date: Wed Aug 1 05:50:35 2012
New Revision: 1367862
URL: http://svn.apache.org/viewvc?rev=1367862&view=rev
Log:
fix distributed build tests
Modified:
continuum/trunk/continuum-webapp-test/src/test/testng/config/testng.xml
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedBuildTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractAdminTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/config/testng.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/config/testng.xml?rev=1367862&r1=1367861&r2=1367862&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/config/testng.xml (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/config/testng.xml Wed Aug 1 05:50:35 2012
@@ -62,6 +62,7 @@ under the License.
<include name="buildDefinitionTemplate" />
<include name="userroles"/>
<include name="csrf"/>
+ <include name="distributed"/>
</run>
</groups>
<packages>
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java?rev=1367862&r1=1367861&r2=1367862&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java Wed Aug 1 05:50:35 2012
@@ -89,8 +89,11 @@ public class BuildAgentsTest
@Test( dependsOnMethods = { "testAddBuildAgent" } )
public void testEditBuildAgent()
{
- String BUILD_AGENT_NAME = getBuildAgentUrl();
String BUILD_AGENT_DESCRIPTION = getProperty( "BUILD_AGENT_DESCRIPTION" );
+
+ addBuildAgent( getBuildAgentUrl(), BUILD_AGENT_DESCRIPTION );
+
+ String BUILD_AGENT_NAME = getBuildAgentUrl();
String new_agentDescription = "new_agentDescription";
goToEditBuildAgent( BUILD_AGENT_NAME, BUILD_AGENT_DESCRIPTION );
@@ -99,7 +102,7 @@ public class BuildAgentsTest
addEditBuildAgent( BUILD_AGENT_NAME, BUILD_AGENT_DESCRIPTION );
}
- @Test( dependsOnMethods = { "testAddAnExistingBuildAgent" } )
+ @Test( dependsOnMethods = { "testAddAnExistingBuildAgent", "testDeleteBuildAgentGroup" } )
public void testDeleteBuildAgent()
throws Exception
{
@@ -107,8 +110,6 @@ public class BuildAgentsTest
String BUILD_AGENT_NAME = getBuildAgentUrl();
removeBuildAgent( BUILD_AGENT_NAME );
assertTextNotPresent( BUILD_AGENT_NAME );
-
- testAddBuildAgent();
}
@Test( dependsOnMethods = { "testDeleteBuildAgent" } )
@@ -125,6 +126,8 @@ public class BuildAgentsTest
public void testBuildSuccessWithDistributedBuildsAfterDisableEnableOfBuildAgent()
throws Exception
{
+ addBuildAgent( getBuildAgentUrl() );
+
String BUILD_AGENT_NAME = getBuildAgentUrl();
String BUILD_AGENT_DESCRIPTION = getProperty( "BUILD_AGENT_DESCRIPTION" );
String M2_PROJ_GRP_NAME = getProperty( "M2_DELETE_PROJ_GRP_NAME" );
@@ -159,6 +162,8 @@ public class BuildAgentsTest
public void testAddBuildAgentGroupXSS()
throws Exception
{
+ addBuildAgent( getBuildAgentUrl() );
+
goToAddBuildAgentGroup();
addEditBuildAgentGroup( "%3Cscript%3Ealert%28%27xss%27%29%3C/script%3E", new String[]{}, new String[] {}, false );
assertTextPresent( "Build agent group name contains invalid characters" );
@@ -170,10 +175,11 @@ public class BuildAgentsTest
Assert.assertFalse( getSelenium().isAlertPresent() );
}
- @Test( dependsOnMethods = { "testAddBuildAgent", "testDeleteBuildAgent" } )
public void testAddBuildAgentGroup()
throws Exception
{
+ addBuildAgent( getBuildAgentUrl() );
+
String BUILD_AGENT_NAME = getBuildAgentUrl();
String BUILD_AGENT_GROUPNAME = getProperty( "BUILD_AGENT_GROUPNAME" );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedBuildTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedBuildTest.java?rev=1367862&r1=1367861&r2=1367862&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedBuildTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedBuildTest.java Wed Aug 1 05:50:35 2012
@@ -19,7 +19,7 @@ package org.apache.continuum.web.test;
* under the License.
*/
-import org.apache.continuum.web.test.parent.AbstractAdminTest;
+import org.apache.continuum.web.test.parent.AbstractBuildAgentsTest;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -32,38 +32,51 @@ import org.testng.annotations.Test;
*/
@Test( groups = { "distributed" } )
public class DistributedBuildTest
- extends AbstractAdminTest
+ extends AbstractBuildAgentsTest
{
+
+ private String projectGroupName;
+
@BeforeMethod
public void setUp()
{
enableDistributedBuilds();
+
+ projectGroupName = null;
}
@AfterMethod
public void tearDown()
+ throws Exception
{
+ if ( projectGroupName != null )
+ {
+ removeProjectGroup( projectGroupName, false );
+ }
+
disableDistributedBuilds();
}
+ @Test( dependsOnMethods = { "testDeleteBuildAgentGroup" } )
public void testBuildProjectGroupNoBuildAgentConfigured()
throws Exception
{
+ goToBuildAgentPage();
+ removeBuildAgent( getBuildAgentUrl(), false );
+
String M2_PROJ_GRP_NAME = getProperty( "M2_DELETE_PROJ_GRP_NAME" );
String M2_PROJ_GRP_ID = getProperty( "M2_DELETE_PROJ_GRP_ID" );
+ projectGroupName = M2_PROJ_GRP_NAME;
- addMaven2Project( M2_PROJ_GRP_NAME );
- clickLinkWithText( M2_PROJ_GRP_NAME );
+ addMaven2Project( projectGroupName );
+ clickLinkWithText( projectGroupName );
assertPage( "Continuum - Project Group" );
- showProjectGroup( M2_PROJ_GRP_NAME, M2_PROJ_GRP_ID, "" );
+ showProjectGroup( projectGroupName, M2_PROJ_GRP_ID, "" );
clickButtonWithValue( "Build all projects" );
assertTextPresent( "Unable to build projects because no build agent is configured" );
-
- removeProjectGroup( M2_PROJ_GRP_NAME );
- assertLinkNotPresent( M2_PROJ_GRP_NAME );
}
public void testProjectGroupAllBuildSuccessWithDistributedBuilds()
@@ -71,6 +84,7 @@ public class DistributedBuildTest
{
String M2_PROJ_GRP_NAME = getProperty( "M2_DELETE_PROJ_GRP_NAME" );
String M2_PROJ_GRP_ID = getProperty( "M2_DELETE_PROJ_GRP_ID" );
+ projectGroupName = M2_PROJ_GRP_NAME;
addBuildAgent( getBuildAgentUrl() );
@@ -83,6 +97,9 @@ public class DistributedBuildTest
clickButtonWithValue( "Build all projects" );
buildProjectGroup( M2_PROJ_GRP_NAME, M2_PROJ_GRP_ID, "", M2_PROJ_GRP_NAME, true );
+
+ removeProjectGroup( M2_PROJ_GRP_NAME );
+ assertLinkNotPresent( M2_PROJ_GRP_NAME );
}
@Test( dependsOnMethods = { "testAddBuildAgentGroupWithEmptyBuildAgent", "testAddBuildEnvironmentWithBuildAgentGroup" } )
@@ -92,6 +109,7 @@ public class DistributedBuildTest
String M2_PROJ_GRP_NAME = getProperty( "M2_DELETE_PROJ_GRP_NAME" );
String M2_PROJ_GRP_ID = getProperty( "M2_DELETE_PROJ_GRP_ID" );
String BUILD_ENV_NAME = getProperty( "BUILD_ENV_NAME" );
+ projectGroupName = M2_PROJ_GRP_NAME;
addMaven2Project( M2_PROJ_GRP_NAME );
clickLinkWithText( M2_PROJ_GRP_NAME );
@@ -125,15 +143,14 @@ public class DistributedBuildTest
String M2_PROJ_GRP_ID = getProperty( "M2_PROJ_WITH_TAG_PROJ_GRP_ID" );
String M2_PROJ_GRP_DESCRIPTION = "";
+ projectGroupName = M2_PROJ_GRP_NAME;
+
addBuildAgent( getBuildAgentUrl() );
addMavenTwoProject( M2_POM_URL, M2_POM_USERNAME, M2_POM_PASSWORD, null, true );
assertProjectGroupSummaryPage( M2_PROJ_GRP_NAME, M2_PROJ_GRP_ID, M2_PROJ_GRP_DESCRIPTION );
buildProjectGroup( M2_PROJ_GRP_NAME, M2_PROJ_GRP_ID, M2_PROJ_GRP_DESCRIPTION, M2_PROJ_GRP_NAME, true );
-
- removeProjectGroup( M2_PROJ_GRP_NAME );
- assertLinkNotPresent( M2_PROJ_GRP_NAME );
}
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractAdminTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractAdminTest.java?rev=1367862&r1=1367861&r2=1367862&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractAdminTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractAdminTest.java Wed Aug 1 05:50:35 2012
@@ -45,6 +45,11 @@ public abstract class AbstractAdminTest
protected void addBuildAgent( String buildAgentUrl )
{
+ addBuildAgent( buildAgentUrl, "Default description" );
+ }
+
+ protected void addBuildAgent( String buildAgentUrl, String description )
+ {
goToBuildAgentPage();
assertBuildAgentPage();
@@ -55,7 +60,7 @@ public abstract class AbstractAdminTest
assertAddEditBuildAgentPage( true );
setFieldValue( "saveBuildAgent_buildAgent_url", buildAgentUrl );
- setFieldValue( "saveBuildAgent_buildAgent_description", "Default description" );
+ setFieldValue( "saveBuildAgent_buildAgent_description", description );
checkField( "saveBuildAgent_buildAgent_enabled" );
submit();
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java?rev=1367862&r1=1367861&r2=1367862&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java Wed Aug 1 05:50:35 2012
@@ -1,7 +1,5 @@
package org.apache.continuum.web.test.parent;
-import org.testng.annotations.BeforeClass;
-
import java.net.URLEncoder;
/*
@@ -29,14 +27,25 @@ public abstract class AbstractBuildAgent
public void removeBuildAgent( String agentName )
throws Exception
{
- clickLinkWithXPath( "//a[contains(@href,'deleteBuildAgent.action') and contains(@href, '" + URLEncoder.encode( agentName, "UTF-8" ) + "')]/img" );
- assertPage("Continuum - Delete Build Agent");
- assertTextPresent( "Delete Build Agent" );
- assertTextPresent( "Are you sure you want to delete build agent " + agentName + " ?" );
- assertButtonWithValuePresent( "Delete" );
- assertButtonWithValuePresent( "Cancel" );
- clickButtonWithValue( "Delete" );
- assertBuildAgentPage();
+ removeBuildAgent( agentName, true );
+ }
+
+ public void removeBuildAgent( String agentName, boolean failIfMissing )
+ throws Exception
+ {
+ String deleteButton = "//a[contains(@href,'deleteBuildAgent.action') and contains(@href, '" + URLEncoder.encode(
+ agentName, "UTF-8" ) + "')]/img";
+ if ( failIfMissing || isElementPresent( deleteButton ) )
+ {
+ clickLinkWithXPath( deleteButton );
+ assertPage("Continuum - Delete Build Agent");
+ assertTextPresent( "Delete Build Agent" );
+ assertTextPresent( "Are you sure you want to delete build agent " + agentName + " ?" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
+ assertBuildAgentPage();
+ }
}
public void addBuildAgent( String agentURL, String description, boolean success, boolean enabled, boolean pingOk )
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java?rev=1367862&r1=1367861&r2=1367862&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java Wed Aug 1 05:50:35 2012
@@ -71,6 +71,7 @@ public abstract class AbstractConfigurat
setFieldValue( "deploymentRepositoryDirectory", deploymentRepository );
setFieldValue( "baseUrl", baseUrl );
setFieldValue( "numberOfAllowedBuildsinParallel", numberBuildParallel );
+ setFieldValue( "sharedSecretPassword", SHARED_SECRET );
if ( distributed )
{
checkField( "distributedBuildEnabled" );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java?rev=1367862&r1=1367861&r2=1367862&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java Wed Aug 1 05:50:35 2012
@@ -25,6 +25,8 @@ import org.testng.annotations.BeforeSuit
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
+import static org.testng.Assert.assertEquals;
+
/**
* Based on AbstractContinuumTestCase of Emmanuel Venisse test.
*
@@ -35,6 +37,8 @@ public abstract class AbstractContinuumT
extends AbstractSeleniumTest
{
+ protected static final String SHARED_SECRET = "continuum1234";
+
// ////////////////////////////////////
// Create Admin User
// ////////////////////////////////////
@@ -312,16 +316,25 @@ public abstract class AbstractContinuumT
clickButtonWithValue( "Save" );
assertProjectGroupsSummaryPage();
}
-
+
public void removeProjectGroup( String groupName )
throws Exception
{
+ removeProjectGroup( groupName, true );
+ }
+
+ public void removeProjectGroup( String groupName, boolean failIfMissing )
+ throws Exception
+ {
goToProjectGroupsSummaryPage();
- clickLinkWithText( groupName );
- clickButtonWithValue( "Delete Group" );
- assertTextPresent( "Project Group Removal" );
- clickButtonWithValue( "Delete" );
- assertProjectGroupsSummaryPage();
+ if ( failIfMissing || isLinkPresent( groupName ) )
+ {
+ clickLinkWithText( groupName );
+ clickButtonWithValue( "Delete Group" );
+ assertTextPresent( "Project Group Removal" );
+ clickButtonWithValue( "Delete" );
+ assertProjectGroupsSummaryPage();
+ }
}
public void editProjectGroup(String name,String groupId,String description,String newName,String newDescription )
@@ -383,6 +396,7 @@ public abstract class AbstractContinuumT
}
clickLinkWithText( projectName );
+ waitForElementPresent( "link=Builds" );
clickLinkWithText( "Builds" );
clickLinkWithText( "Result" );
@@ -853,7 +867,7 @@ public abstract class AbstractContinuumT
waitForCondition( condition );
}
- Assert.assertEquals( getTitle(), title );
+ assertEquals( getTitle(), title );
}
public void createAndAddUserAsDeveloperToGroup( String username, String name, String email, String password, String groupName )
@@ -1049,9 +1063,10 @@ public abstract class AbstractContinuumT
setFieldValue( "numberOfAllowedBuildsinParallel", "2" );
if ( !isChecked( "configuration_distributedBuildEnabled" ) )
{
- checkField( "configuration_distributedBuildEnabled" );
+ // must use click here so the JavaScript enabling the shared secret gets triggered
+ click( "configuration_distributedBuildEnabled" );
}
- setFieldValue( "configuration_sharedSecretPassword", "continuum1234" );
+ setFieldValue( "configuration_sharedSecretPassword", SHARED_SECRET );
clickAndWait( "configuration_" );
assertTextPresent( "true" );
assertTextPresent( "Distributed Builds" );