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/11/21 13:15:39 UTC
svn commit: r1412074 - in /continuum/trunk:
continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/
continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/
continuum-webapp/src/main/webapp/WEB-INF/jsp/
Author: brett
Date: Wed Nov 21 12:15:38 2012
New Revision: 1412074
URL: http://svn.apache.org/viewvc?rev=1412074&view=rev
Log:
[CONTINUUM-2692] if Ant build definition validation fails, return to correct screen
executor is only populated on the original input, but buildDefinitionType is always present. Conservative fix that checks either, though executor could probably be removed. Need to confirm if there are edge cases where it might differ.
Modified:
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildDefinitionEdit.jsp
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java?rev=1412074&r1=1412073&r2=1412074&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java Wed Nov 21 12:15:38 2012
@@ -191,7 +191,7 @@ public class BuildDefinitionTest
clickButtonWithValue( "Add" );
addEditGroupBuildDefinition( projectGroupName, buildDefinitionPomName, buildDefinitionGoals,
buildDefinitionArguments, buildDefinitionDescription, true, false, true,
- MAVEN_PROJECT_TYPE );
+ MAVEN_PROJECT_TYPE, true );
}
public void testAddNotDefaultGroupBuildDefinition()
@@ -201,7 +201,7 @@ public class BuildDefinitionTest
clickButtonWithValue( "Add" );
addEditGroupBuildDefinition( projectGroupName, buildDefinitionPomName, buildDefinitionGoals,
buildDefinitionArguments, buildDefinitionDescription, false, false, false,
- MAVEN_PROJECT_TYPE );
+ MAVEN_PROJECT_TYPE, true );
}
@Test( dependsOnMethods = {"testAddNotDefaultGroupBuildDefinition"} )
@@ -215,15 +215,15 @@ public class BuildDefinitionTest
goToGroupBuildDefinitionPage( projectGroupName, projectGroupId, projectGroupDescription );
clickImgWithAlt( "Edit" );
addEditGroupBuildDefinition( projectGroupName, newPom, newGoals, newArguments, newDescription, false, false,
- false, MAVEN_PROJECT_TYPE );
+ false, MAVEN_PROJECT_TYPE, true );
clickImgWithAlt( "Edit" );
addEditGroupBuildDefinition( projectGroupName, buildDefinitionPomName, buildDefinitionGoals,
buildDefinitionArguments, buildDefinitionDescription, true, true, false,
- MAVEN_PROJECT_TYPE );
+ MAVEN_PROJECT_TYPE, true );
clickImgWithAlt( "Edit" );
addEditGroupBuildDefinition( projectGroupName, buildDefinitionPomName, buildDefinitionGoals,
buildDefinitionArguments, buildDefinitionDescription, false, true, false,
- MAVEN_PROJECT_TYPE );
+ MAVEN_PROJECT_TYPE, true );
}
@Test( dependsOnMethods = {"testEditGroupBuildDefinition"} )
@@ -244,7 +244,7 @@ public class BuildDefinitionTest
goToProjectInformationPage( projectGroupName, projectName );
clickLinkWithXPath( "//input[contains(@id,'buildDefinition')]" );
addEditGroupBuildDefinition( null, buildDefinitionPomName, buildDefinitionGoals, buildDefinitionArguments,
- buildDefinitionDescription, false, false, false, MAVEN_PROJECT_TYPE );
+ buildDefinitionDescription, false, false, false, MAVEN_PROJECT_TYPE, true );
String value = getSelenium().getAttribute(
"xpath=(//a[contains(@href,'removeProjectBuildDefinition')])[last()]/@href" );
Matcher m = Pattern.compile( "^.*buildDefinitionId=([0-9]+).*$" ).matcher( value );
@@ -260,7 +260,7 @@ public class BuildDefinitionTest
addEditGroupBuildDefinition( null, buildDefinitionPomName,
"clean org.apache.maven.plugins:maven-compile-plugin:2.4:compile",
buildDefinitionArguments, buildDefinitionDescription, false, false, false,
- MAVEN_PROJECT_TYPE );
+ MAVEN_PROJECT_TYPE, true );
}
@Test( dependsOnMethods = {"testAddNotDefaultProjectBuildDefinition"} )
@@ -284,8 +284,8 @@ public class BuildDefinitionTest
{
goToProjectInformationPage( projectGroupName, antProjectName );
clickLinkWithXPath( "//input[contains(@id,'buildDefinition')]" );
- addEditGroupBuildDefinition( null, "build-other.xml", "package", "", "other build file", false, false,
- false, ANT_PROJECT_TYPE );
+ addEditGroupBuildDefinition( null, "build-other.xml", "package", "", "other build file", false, false, false,
+ ANT_PROJECT_TYPE, true );
}
public void testAddNotDefaultProjectBuildDefinitionAntWithPathBuildFile()
@@ -294,18 +294,16 @@ public class BuildDefinitionTest
goToProjectInformationPage( projectGroupName, antProjectName );
clickLinkWithXPath( "//input[contains(@id,'buildDefinition')]" );
addEditGroupBuildDefinition( null, "Quartz/path\\build.xml", "package", "", "build file with path", false,
- false, false, ANT_PROJECT_TYPE );
+ false, false, ANT_PROJECT_TYPE, true );
}
- // TODO: needs to be fixed
- @Test(enabled = false)
public void testAddNotDefaultProjectBuildDefinitionAntWithInvalidBuildFile()
throws Exception
{
goToProjectInformationPage( projectGroupName, antProjectName );
clickLinkWithXPath( "//input[contains(@id,'buildDefinition')]" );
addEditGroupBuildDefinition( null, "<script>alert('xss');</script>", "package", "", "invalid build file",
- false, false, false, ANT_PROJECT_TYPE );
+ false, false, false, ANT_PROJECT_TYPE, false );
assertTextPresent( "Build file contains invalid characters" );
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=1412074&r1=1412073&r2=1412074&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 Nov 21 12:15:38 2012
@@ -453,7 +453,7 @@ public abstract class AbstractContinuumT
protected void addEditGroupBuildDefinition( String groupName, String buildFile, String goals, String arguments,
String description, boolean buildFresh, boolean alwaysBuild,
- boolean isDefault, String type )
+ boolean isDefault, String type, boolean success )
{
assertAddEditBuildDefinitionPage( type );
@@ -509,13 +509,20 @@ public abstract class AbstractContinuumT
submit();
- if ( groupName != null )
+ if ( !success )
{
- assertGroupBuildDefinitionPage( groupName );
+ assertAddEditBuildDefinitionPage( type );
}
else
{
- assertProjectInformationPage();
+ if ( groupName != null )
+ {
+ assertGroupBuildDefinitionPage( groupName );
+ }
+ else
+ {
+ assertProjectInformationPage();
+ }
}
}
Modified: continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildDefinitionEdit.jsp
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildDefinitionEdit.jsp?rev=1412074&r1=1412073&r2=1412074&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildDefinitionEdit.jsp (original)
+++ continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildDefinitionEdit.jsp Wed Nov 21 12:15:38 2012
@@ -45,20 +45,20 @@
<c:when test="${empty actionErrors}">
<table>
<tbody>
- <s:if test="executor == 'ant'">
+ <s:if test="executor == 'ant' or buildDefinitionType == 'ant'">
<s:textfield label="%{getText('buildDefinition.buildFile.ant.label')}" name="buildFile" required="true"/>
</s:if>
- <s:elseif test="executor == 'shell'">
+ <s:elseif test="executor == 'shell' or buildDefinitionType == 'shell'">
<s:textfield label="%{getText('buildDefinition.buildFile.shell.label')}" name="buildFile" required="true"/>
</s:elseif>
<s:else>
<s:textfield label="%{getText('buildDefinition.buildFile.maven.label')}" name="buildFile" required="true"/>
</s:else>
- <s:if test="executor == 'ant'">
+ <s:if test="executor == 'ant' or buildDefinitionType == 'ant'">
<s:textfield label="%{getText('buildDefinition.goals.ant.label')}" name="goals"/>
</s:if>
- <s:elseif test="executor == 'shell'">
+ <s:elseif test="executor == 'shell' or buildDefinitionType == 'shell'">
</s:elseif>
<s:else>
<s:textfield label="%{getText('buildDefinition.goals.maven.label')}" name="goals"/>
@@ -79,7 +79,7 @@
<s:select label="%{getText('buildDefinition.profile.label')}" name="profileId" list="profiles" listValue="name"
listKey="id" headerKey="-1" headerValue=""/>
<s:select label="%{getText('buildDefinition.type.label')}" name="buildDefinitionType" list="buildDefinitionTypes"/>
- <s:if test="executor != 'ant' || executor != 'shell'">
+ <s:if test="executor != 'ant' && executor != 'shell'">
<s:select label="%{getText('buildDefinition.updatePolicy.label')}" name="updatePolicy" list="buildDefinitionUpdatePolicies"/>
</s:if>
<s:textfield label="%{getText('buildDefinition.description.label')}" name="description" />