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 2014/05/20 16:02:06 UTC
svn commit: r1596252 [1/4] - in /continuum/trunk: ./
continuum-buildagent/continuum-buildagent-webapp/src/appserver-base/conf/
continuum-jetty/ continuum-jetty/src/main/assembly/ continuum-webapp-test/
continuum-webapp-test/src/appserver-base/conf/ con...
Author: brett
Date: Tue May 20 14:02:03 2014
New Revision: 1596252
URL: http://svn.apache.org/r1596252
Log:
Merge CONTINUUM-2713 branch - upgrade Struts
Added:
continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction-validation.xml
- copied unchanged from r1596246, continuum/branches/CONTINUUM-2713/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction-validation.xml
Removed:
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/components/Data.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/components/SubmitCancel.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/view/jsp/ui/DataTag.java
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/view/jsp/ui/SubmitCancelTag.java
continuum/trunk/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction-configuration-validation.xml
continuum/trunk/continuum-webapp/src/main/resources/template/default/a-close.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/a.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/actionerror.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/actionmessage.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/checkbox.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/checkboxlist.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/combobox.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/controlfooter.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/controlheader-core.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/controlheader.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/data.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/datepicker.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/debug.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/doubleselect.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/empty.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/file.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/form-close-validate.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/form-close.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/form-validate.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/form.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/head.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/hidden.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/label.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/optiontransferselect.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/password.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/radiomap.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/reset.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/richtexteditor.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/select.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/styles.css
continuum/trunk/continuum-webapp/src/main/resources/template/default/submit.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/submitCancel.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/text.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/textarea.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/theme.properties
continuum/trunk/continuum-webapp/src/main/resources/template/default/tooltip.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/updownselect.ftl
continuum/trunk/continuum-webapp/src/main/resources/template/default/validation.js
continuum/trunk/continuum-webapp/src/main/resources/template/profile/select.ftl
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/AdapterRegistry.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/debug.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/debug/Firebug.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/debug/arrow_hide.gif
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/debug/arrow_show.gif
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/debug/console.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/debug/deep.html
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/debug/spacer.gif
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/dojo.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/dom.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/event/__package__.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/event/browser.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/event/common.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/event/topic.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/string/Builder.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/string/__package__.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/string/common.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/string/extras.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/text/__package__.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/text/textDirectory.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/__package__.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/check.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/common.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/creditCard.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/datetime.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/de.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/jp.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/us.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojo/validate/web.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/dojoRequire.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/optiontransferselect.js
continuum/trunk/continuum-webapp/src/main/webapp/struts/validation.js
Modified:
continuum/trunk/ (props changed)
continuum/trunk/continuum-buildagent/continuum-buildagent-webapp/src/appserver-base/conf/continuum-buildagent.xml
continuum/trunk/continuum-jetty/pom.xml
continuum/trunk/continuum-jetty/src/main/assembly/bin.xml
continuum/trunk/continuum-webapp-test/Readme.txt
continuum/trunk/continuum-webapp-test/pom.xml
continuum/trunk/continuum-webapp-test/src/appserver-base/conf/continuum-buildagent.xml
continuum/trunk/continuum-webapp-test/src/test/resources/testng.properties
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
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/BuildEnvironmentTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/CSRFSecurityTest.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/DistributedReleaseTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/UserRolesManagementTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/CaptureScreenShotsListener.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/AbstractBuildDefinitionTemplateTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractContinuumTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractInstallationTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractPurgeTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractSeleniumTest.java
continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractUserRolesManagementTest.java
continuum/trunk/continuum-webapp/pom.xml
continuum/trunk/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/BuildAgentAction.java (contents, props changed)
continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction.java
continuum/trunk/continuum-webapp/src/main/resources/struts.properties
continuum/trunk/continuum-webapp/src/main/resources/struts.xml
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/continuum.tld
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/about.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addMavenOneProject.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addMavenTwoProject.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addProject.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildDefinitionTemplateSummary.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configuration.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/configurationEdit.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteBuildAgent.jsp (contents, props changed)
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteBuildAgentGroup.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteBuildDefinitionAsTemplate.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteBuildDefinitionTemplate.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteBuildEnv.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteBuildQueue.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteDistributedPurgeConfiguration.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteInstallation.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeleteLocalRepository.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/confirmDeletePurgeConfiguration.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/distributedPurgeConfigurationsList.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editAppearance.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editBuildAgent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editBuildAgentGroup.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editBuildDefinitionAsTemplate.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editBuildDefinitionTemplate.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editDistributedPurgeConfiguration.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editInstallation.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editLocalRepository.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editParallelBuilds.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPom.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editProfile.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPurgeConfiguration.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/installationsList.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/installationsTypeChoice.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/parallelbuilds.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/profilesList.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/purgeConfigurationsList.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/viewBuildAgent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/viewDistributedBuilds.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildDefinitionEdit.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildResult.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionGroupSummaryComponent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionSummaryComponent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/failureComponent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectGroupNotifierSummaryComponent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectGroupTabComponent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectNotifierSummaryComponent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectSummaryComponent.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/confirmBuildDefinitionRemoval.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/confirmBuildResultsRemoval.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/confirmDeleteProjects.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/confirmGroupRemoval.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/confirmReleaseResultsRemoval.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/confirmScheduleRemoval.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/deleteBuildDefinition.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/deleteProject.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/editSchedule.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/groupSummary.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/Menu.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/ProjectMenu.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/deleteNotifier.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierIrc.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierJabber.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierMail.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierMsn.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierSelectType.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/notifier/notifierWagon.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectEdit.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupAdd.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupBuildDefinition.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupEdit.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupMembers.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupNotifier.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupReleaseResults.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectView.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/releasePerform.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/releasePerformFromScm.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/releasePrepare.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/releaseViewResult.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/scmResult.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/surefireReport.jsp
continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/web.xml
continuum/trunk/continuum-webapp/src/main/webapp/css/tigris.css
continuum/trunk/pom.xml
Propchange: continuum/trunk/
------------------------------------------------------------------------------
Merged /continuum/branches/CONTINUUM-2713:r1534881-1596246
Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-webapp/src/appserver-base/conf/continuum-buildagent.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-webapp/src/appserver-base/conf/continuum-buildagent.xml?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-webapp/src/appserver-base/conf/continuum-buildagent.xml (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-webapp/src/appserver-base/conf/continuum-buildagent.xml Tue May 20 14:02:03 2014
@@ -22,5 +22,5 @@
<continuumServerUrl>http://localhost:9090/master-xmlrpc</continuumServerUrl>
<buildOutputDirectory>target/data/build-agent/build-output-directory</buildOutputDirectory>
<workingDirectory>target/data/build-agent/working-directory</workingDirectory>
- <sharedSecretPassword>abc123</sharedSecretPassword>
+ <sharedSecretPassword>continuum1234</sharedSecretPassword>
</continuum-buildagent-configuration>
Modified: continuum/trunk/continuum-jetty/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-jetty/pom.xml?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-jetty/pom.xml (original)
+++ continuum/trunk/continuum-jetty/pom.xml Tue May 20 14:02:03 2014
@@ -185,6 +185,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
+ <version>2.4</version>
<executions>
<execution>
<phase>package</phase>
Modified: continuum/trunk/continuum-jetty/src/main/assembly/bin.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-jetty/src/main/assembly/bin.xml?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-jetty/src/main/assembly/bin.xml (original)
+++ continuum/trunk/continuum-jetty/src/main/assembly/bin.xml Tue May 20 14:02:03 2014
@@ -40,6 +40,7 @@
<exclude>maven-metadata-appassembler.xml</exclude>
</excludes>
<fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
</fileSet>
<fileSet>
<directory>target/generated-resources/appassembler/jsw/continuum/logs</directory>
Modified: continuum/trunk/continuum-webapp-test/Readme.txt
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/Readme.txt?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/Readme.txt (original)
+++ continuum/trunk/continuum-webapp-test/Readme.txt Tue May 20 14:02:03 2014
@@ -19,9 +19,14 @@ The tests require Ant and Maven to be on
* mvn clean install -Dplexus.system.path=/path/to/apache-maven-3.0.4/bin:/path/to/apache-ant-1.8.1/bin
Run Selenium tests against an existing Continuum instance
- * mvn clean install -DbaseUrl=http://localhost:9090/continuum
+ * mvn clean install -DbaseUrl=http://localhost:9090 -DbuildAgentUrl=http://localhost:9191/xmlrpc \
+ -DappserverBase=$PWD/../continuum-webapp/target/appserver-base
- (This skips the Cargo plugin configuration that starts a container with the Continuum webapp deployed)
+ This skips the Cargo plugin configuration that starts a container with the
+ Continuum webapp deployed. Note that you will need to have set this on the
+ existing Continuum instance:
+
+ -Dsvn.base.url=file://localhost${PWD}/../continuum-webapp-test/target/example-svn
Run Selenium tests in an alternate browser
* mvn clean install -Ptomcat7x -Dbrowser=iexplore (or -Dbrowser=safari or -Dbrowser=other -DbrowserPath=/path/to/browser)
@@ -47,6 +52,14 @@ To attach a debugger to the same process
mvn -Ptomcat7x,debug test-compile selenium:start-server cargo:run
+You can also run the Selenium server against your development instance, so
+that you can run the tests in your IDE:
+
+ mvn -Ptomcat7x,debug test-compile selenium:start-server cargo:run -DbaseUrl=http://localhost:9090
+
+The remaining properties appserverBase and buildAgentUrl need to be supplied to the running tests, along with the same
+baseUrl value.
+
Note, the tests currently fail with "Illegal value" errors under newer
versions of Selenium and Firefox. The tests run successfully with Selenium
2.21.0 and Firefox 17.
Modified: continuum/trunk/continuum-webapp-test/pom.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/pom.xml?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/pom.xml (original)
+++ continuum/trunk/continuum-webapp-test/pom.xml Tue May 20 14:02:03 2014
@@ -76,7 +76,10 @@
</goals>
<configuration>
<tasks>
- <copy todir="${project.build.directory}">
+ <copy todir="${project.build.directory}" overwrite="true">
+ <filterchain>
+ <expandproperties />
+ </filterchain>
<fileset dir="src/appserver-base"/>
</copy>
<delete dir="${project.build.directory}/example-svn"/>
@@ -91,7 +94,9 @@
</path>
<pathconvert refid="svn.repo.dir" targetos="unix" property="svn.base.url"/>
<echo file="${project.build.directory}/filter.properties">
- svn.base.url=file://localhost/${svn.base.url}
+ svn.base.url=file://localhost${svn.base.url}
+ continuum.port=${continuum.port}
+ baseUrl=${baseUrl}
</echo>
</tasks>
</configuration>
@@ -168,6 +173,8 @@
<appserver.base>${project.build.directory}</appserver.base>
<derby.system.home>${project.build.directory}</derby.system.home>
<svn.base.url>${svn.base.url}</svn.base.url>
+ <continuum.port>${contiuum.port}</continuum.port>
+ <baseUrl>${baseUrl}</baseUrl>
<plexus.system.path>${plexus.system.path}</plexus.system.path>
</systemProperties>
<dependencies>
@@ -187,7 +194,7 @@
</container>
<configuration>
<properties>
- <cargo.servlet.port>9595</cargo.servlet.port>
+ <cargo.servlet.port>${continuum.port}</cargo.servlet.port>
<cargo.jvmargs>${cargo.jvmargs}</cargo.jvmargs>
<cargo.datasource.datasource.users>
cargo.datasource.driver=org.apache.derby.jdbc.EmbeddedDriver|
@@ -275,6 +282,14 @@
<value>${baseUrl}</value>
</property>
<property>
+ <name>buildAgentUrl</name>
+ <value>${buildAgentUrl}</value>
+ </property>
+ <property>
+ <name>appserverBase</name>
+ <value>${appserverBase}</value>
+ </property>
+ <property>
<name>browser</name>
<value>${browser}</value>
</property>
@@ -397,7 +412,16 @@
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
- <skip>true</skip>
+ <deployables>
+ <!-- Skip all but test resources -->
+ <deployable>
+ <location>${basedir}/src/test/example-projects</location>
+ <type>war</type>
+ <properties>
+ <context>example-projects</context>
+ </properties>
+ </deployable>
+ </deployables>
</configuration>
</plugin>
</plugins>
@@ -584,14 +608,14 @@
<properties>
<seleniumHost>localhost</seleniumHost>
<seleniumPort>4444</seleniumPort>
- <baseUrl>http://localhost:9595/continuum/</baseUrl>
+ <continuum.port>9595</continuum.port>
+ <baseUrl>http://localhost:${continuum.port}/continuum</baseUrl>
+ <buildAgentUrl>http://localhost:${continuum.port}/continuum-buildagent/xmlrpc</buildAgentUrl>
+ <appserverBase>${project.build.directory}</appserverBase>
<browser>*firefox</browser>
<browserPath/>
<cargo.jvmargs>-Xmx512m -XX:MaxPermSize=128m</cargo.jvmargs>
<plexus.system.path/>
-<!--
- <selenium.version>2.35.0</selenium.version>
--->
- <selenium.version>2.21.0</selenium.version>
+ <selenium.version>2.41.0</selenium.version>
</properties>
</project>
Modified: continuum/trunk/continuum-webapp-test/src/appserver-base/conf/continuum-buildagent.xml
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/appserver-base/conf/continuum-buildagent.xml?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/appserver-base/conf/continuum-buildagent.xml (original)
+++ continuum/trunk/continuum-webapp-test/src/appserver-base/conf/continuum-buildagent.xml Tue May 20 14:02:03 2014
@@ -19,7 +19,7 @@
-->
<continuum-buildagent-configuration>
- <continuumServerUrl>http://localhost:9595/continuum/master-xmlrpc</continuumServerUrl>
+ <continuumServerUrl>${baseUrl}/master-xmlrpc</continuumServerUrl>
<buildOutputDirectory>target/data/build-agent/build-output-directory</buildOutputDirectory>
<workingDirectory>target/data/build-agent/working-directory</workingDirectory>
<sharedSecretPassword>continuum1234</sharedSecretPassword>
Modified: continuum/trunk/continuum-webapp-test/src/test/resources/testng.properties
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/resources/testng.properties?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/resources/testng.properties (original)
+++ continuum/trunk/continuum-webapp-test/src/test/resources/testng.properties Tue May 20 14:02:03 2014
@@ -33,7 +33,7 @@ ADMIN_MAIL=admin@mail.com
# Maven 2 projects to load
-MAVEN2_POM_URL=http://localhost:9595/example-projects/simple-example/pom.xml
+MAVEN2_POM_URL=http://localhost:${continuum.port}/example-projects/simple-example/pom.xml
MAVEN2_POM_USERNAME=
MAVEN2_POM_PASSWORD=
MAVEN2_POM_PROJECT_NAME=Continuum Simple Example Project
@@ -43,20 +43,20 @@ MAVEN2_POM_PROJECT_GROUP_ID=org.apache.c
MAVEN2_POM_PROJECT_GROUP_DESCRIPTION=
MAVEN2_POM_PROJECT_GROUP_SCM_ROOT_URL=scm:svn:${svn.base.url}/trunk/simple-example
-MAVEN2_PROJECT_WITH_TAG_POM_URL=http://localhost:9595/example-projects/continuum-2437-example/pom.xml
+MAVEN2_PROJECT_WITH_TAG_POM_URL=http://localhost:${continuum.port}/example-projects/continuum-2437-example/pom.xml
MAVEN2_PROJECT_WITH_TAG_POM_PROJECT_NAME=Continuum 2437 Example Project
# values used for "Defined by POM" - tests should clean up this group afterwards if added
MAVEN2_PROJECT_WITH_TAG_POM_PROJECT_GROUP_NAME=Continuum 2437 Example Project
MAVEN2_PROJECT_WITH_TAG_POM_PROJECT_GROUP_ID=org.apache.continuum.examples
MAVEN2_PROJECT_WITH_TAG_POM_PROJECT_GROUP_DESCRIPTION=
-MAVEN2_FAILING_PROJECT_POM_URL=http://localhost:9595/example-projects/continuum-failing-project/pom.xml
+MAVEN2_FAILING_PROJECT_POM_URL=http://localhost:${continuum.port}/example-projects/continuum-failing-project/pom.xml
# values used for "Defined by POM" - tests should clean up this group afterwards if added
MAVEN2_FAILING_PROJECT_POM_PROJECT_GROUP_NAME=Continuum Sample Failing Project
MAVEN2_FAILING_PROJECT_POM_PROJECT_GROUP_ID=org.apache.continuum.failing.project
MAVEN2_FAILING_PROJECT_POM_PROJECT_GROUP_DESCRIPTION=Sample project that has a build failure
-MAVEN2_QUEUE_TEST_POM_URL=http://localhost:9595/example-projects/continuum-build-queue-test-data/pom.xml
+MAVEN2_QUEUE_TEST_POM_URL=http://localhost:${continuum.port}/example-projects/continuum-build-queue-test-data/pom.xml
MAVEN2_QUEUE_TEST_POM_USERNAME=
MAVEN2_QUEUE_TEST_POM_PASSWORD=
# values used for "Defined by POM" - tests should clean up this group afterwards if added
@@ -70,13 +70,13 @@ ANT_NAME=Sample 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://localhost:9595/example-projects/ant/
+ANT_SCM_URL=http://localhost:${continuum.port}/example-projects/ant/
ANT_SCM_USERNAME=
ANT_SCM_PASSWORD=
# Maven 1 projects to load
-MAVEN1_POM_URL=http://localhost:9595/example-projects/maven-one-projects/valid-project.xml
+MAVEN1_POM_URL=http://localhost:${continuum.port}/example-projects/maven-one-projects/valid-project.xml
MAVEN1_POM_USERNAME=
MAVEN1_POM_PASSWORD=
@@ -134,13 +134,13 @@ MAVEN1_PROJECT_GROUP_NAME=Maven One Proj
MAVEN1_PROJECT_GROUP_ID=maven-one-project
MAVEN1_PROJECT_GROUP_DESCRIPTION=This is a sample Maven One Project
-MAVEN1_MISSING_REPO_POM_URL=http://localhost:9595/example-projects/maven-one-projects/missing-repository-element-project.xml
-MAVEN1_EXTENDED_POM_URL=http://localhost:9595/example-projects/maven-one-projects/extend-element-project.xml
-MAVEN1_UNPARSEABLE_POM_URL=http://localhost:9595/example-projects/maven-one-projects/unparseable-content-project.xml
+MAVEN1_MISSING_REPO_POM_URL=http://localhost:${continuum.port}/example-projects/maven-one-projects/missing-repository-element-project.xml
+MAVEN1_EXTENDED_POM_URL=http://localhost:${continuum.port}/example-projects/maven-one-projects/extend-element-project.xml
+MAVEN1_UNPARSEABLE_POM_URL=http://localhost:${continuum.port}/example-projects/maven-one-projects/unparseable-content-project.xml
# Maven 2 test properties
-MAVEN2_SAME_LETTER_FLAT_POM_URL=http://localhost:9595/example-projects/flat-example/flat-parent/pom.xml
+MAVEN2_SAME_LETTER_FLAT_POM_URL=http://localhost:${continuum.port}/example-projects/flat-example/flat-parent/pom.xml
MAVEN2_SAME_LETTER_FLAT_PROJECT_GROUP_NAME=Flat Example
MAVEN2_SAME_LETTER_FLAT_PROJECT_GROUP_ID=com.example.flat
MAVEN2_SAME_LETTER_FLAT_PROJECT_GROUP_DESCRIPTION=
@@ -155,10 +155,10 @@ MAVEN2_MOVE_PROJECT_TARGET_PROJECT_GROUP
MAVEN2_MOVE_PROJECT_TARGET_PROJECT_GROUP_DESCRIPTION=
# SCM element is missing from pom
-MAVEN2_NO_SCM_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-scm-element-pom.xml
-MAVEN2_MISS_CONNECTION_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-connection-element-pom.xml
-MAVEN2_MISS_PARENT_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-parent-pom.xml
-MAVEN2_MISS_SUBPRO_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-modules-pom.xml
+MAVEN2_NO_SCM_POM_URL=http://localhost:${continuum.port}/example-projects/maven-two-projects/missing-scm-element-pom.xml
+MAVEN2_MISS_CONNECTION_POM_URL=http://localhost:${continuum.port}/example-projects/maven-two-projects/missing-connection-element-pom.xml
+MAVEN2_MISS_PARENT_POM_URL=http://localhost:${continuum.port}/example-projects/maven-two-projects/missing-parent-pom.xml
+MAVEN2_MISS_SUBPRO_POM_URL=http://localhost:${continuum.port}/example-projects/maven-two-projects/missing-modules-pom.xml
# Ant test properties
@@ -241,12 +241,12 @@ DEFAULT_PROJ_GRP_DESCRIPTION=Contains al
########################
# Properties for testAddMavenTwoProject
-M2_POM_URL=http://localhost:9595/example-projects/continuum-build-queue-test-data/pom.xml
+M2_POM_URL=http://localhost:${continuum.port}/example-projects/continuum-build-queue-test-data/pom.xml
M2_POM_USERNAME=
M2_POM_PASSWORD=
# Properties for testDeleteMavenTwoProject
-M2_DELETE_POM_URL=http://localhost:9595/example-projects/simple-example/pom.xml
+M2_DELETE_POM_URL=http://localhost:${continuum.port}/example-projects/simple-example/pom.xml
M2_DELETE_PROJ_GRP_NAME=Continuum Simple Example Project
M2_DELETE_PROJ_GRP_ID=org.apache.continuum.examples.simple
@@ -258,7 +258,7 @@ 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://localhost:9595/example-projects/shell/
+SHELL_SCM_URL=http://localhost:${continuum.port}/example-projects/shell/
SHELL_SCM_USERNAME=
SHELL_SCM_PASSWORD=
@@ -406,4 +406,4 @@ BUILD_AGENT_GROUPNAME=agent_groupname
########################
# appearance
########################
-APPEARANCE_SAVE_FOOTER_URL=http://localhost:9595/continuum/admin/saveFooter!saveFooter.action
+APPEARANCE_SAVE_FOOTER_URL=${baseUrl}/admin/saveFooter.action
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java Tue May 20 14:02:03 2014
@@ -20,6 +20,8 @@ package org.apache.continuum.web.test;
*/
import org.apache.continuum.web.test.parent.AbstractBuildDefinitionTemplateTest;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
@@ -30,12 +32,19 @@ import org.testng.annotations.Test;
public class BuildDefinitionTemplateTest
extends AbstractBuildDefinitionTemplateTest
{
+ private String templateName;
+
+ @BeforeClass
+ public void setUp()
+ {
+ templateName = getProperty( "TEMPLATE_NAME" );
+ }
+
public void testAddTemplate()
throws Exception
{
- String TEMPLATE_NAME = getProperty( "TEMPLATE_NAME" );
goToAddTemplate();
- addEditTemplate( TEMPLATE_NAME,
+ addEditTemplate( templateName,
new String[]{"Default Maven Build Definition", "Default Maven 1 Build Definition"},
new String[]{}, true );
}
@@ -60,22 +69,20 @@ public class BuildDefinitionTemplateTest
public void testEditTemplate()
throws Exception
{
- String TEMPLATE_NAME = getProperty( "TEMPLATE_NAME" );
String newName = "new_name";
- goToEditTemplate( TEMPLATE_NAME,
+ goToEditTemplate( templateName,
new String[]{"Default Maven Build Definition", "Default Maven 1 Build Definition"} );
addEditTemplate( newName, new String[]{"Default Shell Build Definition"},
new String[]{"Default Maven Build Definition"}, true );
goToEditTemplate( newName, new String[]{"Default Maven 1 Build Definition", "Default Shell Build Definition"} );
- addEditTemplate( TEMPLATE_NAME, new String[]{"Default Maven Build Definition"},
+ addEditTemplate( templateName, new String[]{"Default Maven Build Definition"},
new String[]{"Default Shell Build Definition"}, true );
}
@Test( dependsOnMethods = {"testEditTemplate"} )
public void testDeleteTemplate()
{
- String TEMPLATE_NAME = getProperty( "TEMPLATE_NAME" );
- removeTemplate( TEMPLATE_NAME );
+ removeTemplate( templateName );
}
public void testAddBuildDefinitionTemplate()
@@ -135,9 +142,13 @@ public class BuildDefinitionTemplateTest
public void testAddTemplateWithEmptyBuildDefinitions()
throws Exception
{
- String TEMPLATE_NAME = getProperty( "TEMPLATE_NAME" );
goToAddTemplate();
- addEditTemplate( TEMPLATE_NAME, new String[] {}, new String[] {}, false );
+ addEditTemplate( templateName, new String[] {}, new String[] {}, false );
}
+ @AfterClass
+ public void tearDown()
+ {
+ removeTemplate( templateName, false );
+ }
}
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=1596252&r1=1596251&r2=1596252&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 Tue May 20 14:02:03 2014
@@ -301,4 +301,45 @@ public class BuildDefinitionTest
assertTextPresent( "Ant build filename*:" );
assertTextPresent( "Targets:" );
}
+
+ public void testEditBuildDefinitionFromSummary()
+ throws Exception
+ {
+ goToProjectInformationPage( projectGroupName, projectName );
+ clickLinkWithLocator( "buildDefinition_0" ); // Add button for project build definition
+ String description = "testEditBuildDefinitionFromSummary";
+ addEditGroupBuildDefinition( null, buildDefinitionPomName, buildDefinitionGoals,
+ buildDefinitionArguments, description, false, false,
+ false, MAVEN_PROJECT_TYPE, true );
+
+ assertProjectInformationPage();
+ String xPath = "//preceding::td[text()='" + description + "']//following::img[@alt='Edit']";
+ clickLinkWithXPath( xPath );
+
+ addEditGroupBuildDefinition( null, buildDefinitionPomName, "new goals", buildDefinitionArguments,
+ description, false, false, false, MAVEN_PROJECT_TYPE, true );
+
+ assertProjectInformationPage();
+ assertTextPresent( "new goals" );
+ }
+
+ public void testEditGroupBuildDefinitionFromSummary()
+ throws Exception
+ {
+ goToGroupBuildDefinitionPage( projectGroupName, projectGroupId, projectGroupDescription );
+ clickButtonWithValue( "Add" );
+ String description = "testEditGroupBuildDefinitionFromSummary";
+ addEditGroupBuildDefinition( projectGroupName, buildDefinitionPomName, buildDefinitionGoals,
+ buildDefinitionArguments, description, false, false,
+ false, MAVEN_PROJECT_TYPE, true );
+
+ goToProjectInformationPage( projectGroupName, projectName );
+ String xPath = "//preceding::td[text()='" + description + "']//following::img[@alt='Edit']";
+ clickLinkWithXPath( xPath );
+
+ addEditGroupBuildDefinition( projectGroupName, buildDefinitionPomName, "new goals", buildDefinitionArguments,
+ description, false, false, false, MAVEN_PROJECT_TYPE, true );
+
+ assertTextPresent( "new goals" );
+ }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java Tue May 20 14:02:03 2014
@@ -19,7 +19,9 @@ package org.apache.continuum.web.test;
* under the License.
*/
-import org.apache.continuum.web.test.parent.AbstractAdminTest;
+import org.apache.continuum.web.test.parent.AbstractInstallationTest;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
@@ -28,13 +30,27 @@ import org.testng.annotations.Test;
*/
@Test( groups = { "buildEnvironment" } )
public class BuildEnvironmentTest
- extends AbstractAdminTest
+ extends AbstractInstallationTest
{
+
+ public static final String INSTALLATION_NAME = "varForBuildEnv";
+
+ private static final String INSTALLATION_BUILD_ENV = "installationBuildEnv";
+
+ private static final String NEW_BUILD_ENV = "NEW_BUILD_ENV";
+
+ private String buildEnvName;
+
+ @BeforeClass(alwaysRun = true)
+ public void setUp()
+ {
+ buildEnvName = getProperty( "BUILD_ENV_NAME" );
+ }
+
public void testAddBuildEnvironment()
{
- String BUILD_ENV_NAME = getProperty( "BUILD_ENV_NAME" );
goToAddBuildEnvironment();
- addBuildEnvironment( BUILD_ENV_NAME, new String[]{ }, true );
+ addBuildEnvironment( buildEnvName, new String[]{ }, true );
}
public void testAddInvalidBuildEnvironment()
@@ -54,8 +70,7 @@ public class BuildEnvironmentTest
@Test( dependsOnMethods = { "testAddBuildEnvironment" } )
public void testEditInvalidBuildEnvironment()
{
- String BUILD_ENV_NAME = getProperty( "BUILD_ENV_NAME" );
- goToEditBuildEnvironment( BUILD_ENV_NAME );
+ goToEditBuildEnvironment( buildEnvName );
editBuildEnvironment( "", new String[]{ }, false );
assertTextPresent( "You must define a name" );
}
@@ -63,41 +78,70 @@ public class BuildEnvironmentTest
@Test( dependsOnMethods = { "testAddBuildEnvironment" } )
public void testAddDuplicatedBuildEnvironment()
{
- String BUILD_ENV_NAME = getProperty( "BUILD_ENV_NAME" );
goToAddBuildEnvironment();
- addBuildEnvironment( BUILD_ENV_NAME, new String[]{ }, false );
+ addBuildEnvironment( buildEnvName, new String[]{ }, false );
assertTextPresent( "A Build Environment with the same name already exists" );
}
@Test( dependsOnMethods = { "testAddBuildEnvironment" } )
public void testEditBuildEnvironment()
{
- String BUILD_ENV_NAME = getProperty( "BUILD_ENV_NAME" );
String newName = "new_name";
- goToEditBuildEnvironment( BUILD_ENV_NAME );
+ goToEditBuildEnvironment( buildEnvName );
editBuildEnvironment( newName, new String[]{ }, true );
- // TODO: ADD INSTALLATIONS TO ENVIROTMENT
goToEditBuildEnvironment( newName );
- editBuildEnvironment( BUILD_ENV_NAME, new String[]{ }, true );
+ editBuildEnvironment( buildEnvName, new String[]{ }, true );
+ }
+
+ @Test( dependsOnMethods = { "testAddBuildEnvironment" })
+ public void testAddInstallationToBuildEnvironment()
+ {
+ addBuildEnvironment( INSTALLATION_BUILD_ENV, new String[]{ }, true );
+
+ goToInstallationPage();
+ if ( !isTextPresent( INSTALLATION_NAME ) )
+ {
+ goToAddInstallationVariable();
+ addInstallation( INSTALLATION_NAME, "VAR_BUILD_ENV", "var_value", false, false, true );
+ }
+
+ goToEditBuildEnvironment( INSTALLATION_BUILD_ENV );
+ editBuildEnvironment( INSTALLATION_BUILD_ENV, new String[] { INSTALLATION_NAME }, true );
+ }
+
+ @Test( dependsOnMethods = { "testAddInstallationToBuildEnvironment" })
+ public void testEditInstallationOnBuildEnvironment()
+ {
+ goToEditBuildEnvironment( INSTALLATION_BUILD_ENV );
+ clickLinkWithText( INSTALLATION_NAME );
+ assertEditInstallationVariablePage();
+ assert INSTALLATION_NAME.equals( getFieldValue( "installation.name" ) );
+ }
+
+ @Test( dependsOnMethods = { "testEditInstallationOnBuildEnvironment" })
+ public void testRemoveInstallationOnBuildEnvironment()
+ {
+ goToEditBuildEnvironment( INSTALLATION_BUILD_ENV );
+ assertLinkPresent( INSTALLATION_NAME );
+ clickImgWithAlt( "Delete" );
+ assertEditBuildEnvironmentPage( INSTALLATION_BUILD_ENV );
+ assertLinkNotPresent( INSTALLATION_NAME );
}
@Test( dependsOnMethods = { "testEditInvalidBuildEnvironment", "testEditBuildEnvironment",
"testAddDuplicatedBuildEnvironment", "testEditInvalidBuildEnvironment" } )
public void testDeleteBuildEnvironment()
{
- String BUILD_ENV_NAME = getProperty( "BUILD_ENV_NAME" );
- removeBuildEnvironment( BUILD_ENV_NAME );
+ removeBuildEnvironment( buildEnvName );
}
- @Test( dependsOnMethods = { "testAddBuildEnvironmentWithBuildAgentGroup" } )
+ @Test( dependsOnMethods = { "testAddBuildEnvironment" } )
public void testEditDuplicatedBuildEnvironmentParallelBuilds()
{
- String BUILD_ENV_NAME = getProperty( "BUILD_ENV_NAME" );
- String newName = "NEW_BUILD_ENV";
goToAddBuildEnvironment();
- addBuildEnvironment( newName, new String[]{ }, true );
- goToEditBuildEnvironment( newName );
- editBuildEnvironment( BUILD_ENV_NAME, new String[]{ }, false );
+ addBuildEnvironment( NEW_BUILD_ENV, new String[]{ }, true );
+ goToEditBuildEnvironment( NEW_BUILD_ENV );
+ editBuildEnvironment( buildEnvName, new String[]{ }, false );
assertTextPresent( "A Build Environment with the same name already exists" );
}
@@ -126,4 +170,12 @@ public class BuildEnvironmentTest
assertAddBuildEnvironmentPage();
}
}
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown()
+ {
+ removeBuildEnvironment( buildEnvName, false );
+ removeBuildEnvironment( INSTALLATION_BUILD_ENV, false );
+ removeBuildEnvironment( NEW_BUILD_ENV, false );
+ }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/CSRFSecurityTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/CSRFSecurityTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/CSRFSecurityTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/CSRFSecurityTest.java Tue May 20 14:02:03 2014
@@ -32,7 +32,7 @@ public class CSRFSecurityTest
public void testCSRFDeleteProject()
{
getSelenium().open( baseUrl );
- getSelenium().open( baseUrl + "/deleteProject!default.action?projectGroupId=2&projectId=2" );
+ getSelenium().open( baseUrl + "/deleteProject_default.action?projectGroupId=2&projectId=2" );
assertTextPresent( "Security Alert - Invalid Token Found" );
assertTextPresent( "Possible CSRF attack detected! Invalid token found in the request." );
}
@@ -91,7 +91,7 @@ public class CSRFSecurityTest
public void testCSRFSaveFooter()
{
getSelenium().open( baseUrl );
- getSelenium().open( baseUrl + "/admin/saveFooter!saveFooter.action?footer=testValue" );
+ getSelenium().open( baseUrl + "/admin/saveFooter.action?footer=testValue" );
assertTextPresent( "Security Alert - Invalid Token Found" );
assertTextPresent( "Possible CSRF attack detected! Invalid token found in the request." );
}
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=1596252&r1=1596251&r2=1596252&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 Tue May 20 14:02:03 2014
@@ -171,7 +171,7 @@ public class DistributedBuildTest
buildProjectForQueuePageTest( projectGroupName, projectGroupId, projectGroupDescription );
//check queue page while building
- getSelenium().open( "/continuum/admin/displayQueues!display.action" );
+ getSelenium().open( baseUrl + "/admin/displayQueues.action" );
assertPage( "Continuum - View Distributed Builds" );
assertTextPresent( "Current Build" );
assertTextPresent( "Build Queue" );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedReleaseTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedReleaseTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedReleaseTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/DistributedReleaseTest.java Tue May 20 14:02:03 2014
@@ -24,6 +24,8 @@ import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import java.io.BufferedReader;
@@ -37,11 +39,12 @@ import java.util.Arrays;
public class DistributedReleaseTest
extends AbstractReleaseTest
{
-
private static final String RELEASE_BUTTON_TEXT = "Release";
private static final String PROVIDE_RELEASE_PARAMETERS_TEXT = "Provide Release Parameters";
+ private String appserverBase;
+
private String projectGroupName;
private String projectGroupId;
@@ -63,8 +66,11 @@ public class DistributedReleaseTest
private String releaseProjectScmUrl;
@BeforeClass
- public void createAndBuildProject()
+ @Parameters( { "appserverBase" } )
+ public void createAndBuildProject( @Optional( "target" ) String appserverBase )
{
+ this.appserverBase = appserverBase;
+
projectGroupName = getProperty( "DIST_RELEASE_PROJECT_GROUP_NAME" );
projectGroupId = getProperty( "DIST_RELEASE_PROJECT_GROUP_ID" );
String description = "Distributed Release test projects";
@@ -80,7 +86,9 @@ public class DistributedReleaseTest
String pomPassword = getProperty( "MAVEN2_POM_PASSWORD" );
String projectName = getProperty( "MAVEN2_POM_PROJECT_NAME" );
- addProjectGroup( projectGroupName, projectGroupId, description, true, false );
+ removeProjectGroup( projectGroupName, false );
+
+ addProjectGroup( projectGroupName, projectGroupId, description, true );
clickLinkWithText( projectGroupName );
if ( !isLinkPresent( projectName ) )
@@ -105,7 +113,7 @@ public class DistributedReleaseTest
developmentVersion = getProperty( "DIST_RELEASE_PROJECT_DEVELOPMENT_VERSION" );
releaseProjectScmUrl = getProperty( "DIST_RELEASE_PROJECT_SCM_URL" );
- File file = new File( "target/conf/prepared-releases.xml" );
+ File file = getPreparedReleasesFile();
if ( file.exists() && !file.delete() )
{
@@ -420,7 +428,7 @@ public class DistributedReleaseTest
private String getPreparedReleasesContent()
throws IOException
{
- File file = new File( "target/conf/prepared-releases.xml" );
+ File file = getPreparedReleasesFile();
Assert.assertTrue( file.exists(), "prepared-releases.xml was not created" );
FileInputStream fis = null;
@@ -445,4 +453,9 @@ public class DistributedReleaseTest
IOUtils.closeQuietly( fis );
}
}
+
+ private File getPreparedReleasesFile()
+ {
+ return new File( appserverBase, "conf/prepared-releases.xml" );
+ }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LoginTest.java Tue May 20 14:02:03 2014
@@ -43,7 +43,7 @@ public class LoginTest
goToLoginPage();
getSelenium().type( "loginForm_username", "badUsername" );
getSelenium().type( "loginForm_username", getProperty( "ADMIN_PASSWORD" ) );
- getSelenium().click( "loginForm__login" );
+ getSelenium().click( "//input[@value='Login']" );
getSelenium().waitForPageToLoad( maxWaitTimeInMs );
assertTextPresent( "You have entered an incorrect username and/or password" );
}
@@ -58,7 +58,7 @@ public class LoginTest
{
goToLoginPage();
getSelenium().type( "loginForm_password", "password" );
- getSelenium().click( "loginForm__login" );
+ getSelenium().click( "//input[@value='Login']" );
getSelenium().waitForPageToLoad( maxWaitTimeInMs );
assertTextPresent( "User Name is required" );
}
@@ -67,7 +67,7 @@ public class LoginTest
{
goToLoginPage();
getSelenium().type( "loginForm_username", getProperty( "ADMIN_USERNAME" ) );
- getSelenium().click( "loginForm__login" );
+ getSelenium().click( "//input[@value='Login']" );
getSelenium().waitForPageToLoad( maxWaitTimeInMs );
assertTextPresent( "You have entered an incorrect username and/or password" );
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java Tue May 20 14:02:03 2014
@@ -72,7 +72,7 @@ public class MavenOneProjectTest
pomUrlUnparseableContent = getProperty( "MAVEN1_UNPARSEABLE_POM_URL" );
malformedPomUrl = "aaa";
- inaccessiblePomUrl = "http://localhost:9595/";
+ inaccessiblePomUrl = baseUrl + "/inaccessible-pom/";
}
@AfterMethod
@@ -81,6 +81,18 @@ public class MavenOneProjectTest
removeProjectGroup( projectGroupName, false );
}
+ public void testAddMavenOneProjectToProjectGroup()
+ throws Exception
+ {
+ goToProjectGroupsSummaryPage();
+ String defaultProjectGroupName = getProperty( "DEFAULT_PROJECT_GROUP_NAME" );
+ clickLinkWithText( defaultProjectGroupName );
+ selectValue( "preferredExecutor", "Add M1 Project" );
+ clickButtonWithValue( "Add" );
+ assertAddMavenOneProjectPage( defaultProjectGroupName );
+ // rest is tested by other methods
+ }
+
public void testAddMavenOneProjectWithNoDefaultBuildDefinitionFromTemplate()
throws Exception
{
@@ -220,8 +232,8 @@ public class MavenOneProjectTest
private void addMaven1Project( String groupName, String pomUrl, String pomUsername, String pomPassword )
{
- goToAddMavenOneProjectPage();
assertLinkNotPresent( groupName );
+ goToAddMavenOneProjectPage();
addMavenOneProject( pomUrl, pomUsername, pomPassword, null, true );
goToProjectGroupsSummaryPage();
assertLinkPresent( groupName );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java Tue May 20 14:02:03 2014
@@ -135,15 +135,19 @@ public class MavenTwoProjectTest
String targetGroupDescription = getProperty( "MAVEN2_MOVE_PROJECT_TARGET_PROJECT_GROUP_DESCRIPTION" );
addProjectGroup( targetGroupName, targetGroupId, targetGroupDescription, true );
- // Move the project
- moveProjectToProjectGroup( projectGroupName, projectGroupId, projectGroupDescription, projectName,
- targetGroupName );
- showProjectGroup( targetGroupName, targetGroupId, targetGroupDescription );
- assertTextPresent( "Member Projects" );
- assertTextPresent( projectName );
-
- showProjectGroup( projectGroupName, projectGroupId, projectGroupDescription );
- assertTextNotPresent( "Member Projects" );
+ try {
+ // Move the project
+ moveProjectToProjectGroup( projectGroupName, projectGroupId, projectGroupDescription, projectName,
+ targetGroupName );
+ showProjectGroup( targetGroupName, targetGroupId, targetGroupDescription );
+ assertTextPresent( "Member Projects" );
+ assertTextPresent( projectName );
+
+ showProjectGroup( projectGroupName, projectGroupId, projectGroupDescription );
+ assertTextNotPresent( "Member Projects" );
+ } finally {
+ removeProjectGroup( targetGroupName, false );
+ }
}
/**
@@ -230,7 +234,7 @@ public class MavenTwoProjectTest
public void testInaccessiblePomUrl()
throws Exception
{
- String pomUrl = "http://localhost:9595/";
+ String pomUrl = baseUrl + "/inaccessible-pom/";
submitAddMavenTwoProjectPage( pomUrl );
assertTextPresent(
"POM file does not exist. Either the POM you specified or one of its modules does not exist." );
@@ -262,6 +266,7 @@ public class MavenTwoProjectTest
// wait for project to finish checkout
waitForProjectCheckout();
+ waitPage();
clickLinkWithXPath( "//tbody/tr['0']/td['10']/a/img[@alt='Delete']" );
assertTextPresent( "Delete Continuum Project" );
@@ -286,6 +291,7 @@ public class MavenTwoProjectTest
//wait for project to finish checkout
waitForProjectCheckout();
+ waitPage();
checkField( "//tbody/tr['0']/td['0']/input[@name='selectedProjects']" );
clickButtonWithValue( "Delete Project(s)" );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java Tue May 20 14:02:03 2014
@@ -77,12 +77,13 @@ public class NotifierTest
String pomPassword = getProperty( "MAVEN2_POM_PASSWORD" );
loginAsAdmin();
- addProjectGroup( projectGroupName, projectGroupId, projectGroupDescription, true, false );
+
+ removeProjectGroup( projectGroupName, false );
+
+ addProjectGroup( projectGroupName, projectGroupId, projectGroupDescription, true, true );
clickLinkWithText( projectGroupName );
- if ( !isLinkPresent( projectName ) )
- {
- addMavenTwoProject( projectPomUrl, pomUsername, pomPassword, projectGroupName, true );
- }
+
+ addMavenTwoProject( projectPomUrl, pomUsername, pomPassword, projectGroupName, true );
}
@BeforeMethod
@@ -205,10 +206,8 @@ public class NotifierTest
String newHost = "new.test.com";
String newChannel = "new_test_channel";
goToProjectInformationPage( projectGroupName, projectName );
- editIrcNotifier( projectGroupName, projectName, ircNotifierHost, ircNotifierChannel, newHost, newChannel,
- true );
- editIrcNotifier( projectGroupName, projectName, newHost, newChannel, ircNotifierHost, ircNotifierChannel,
- true );
+ editIrcNotifier( projectGroupName, projectName, ircNotifierHost, ircNotifierChannel, newHost, newChannel, true );
+ editIrcNotifier( projectGroupName, projectName, newHost, newChannel, ircNotifierHost, ircNotifierChannel, true );
}
@Test( dependsOnMethods = { "testAddValidIrcProjectNotifier" } )
@@ -373,8 +372,7 @@ public class NotifierTest
throws Exception
{
goToProjectNotifier( projectGroupName, projectName );
- addMsnNotifier( projectGroupName, projectName, msnNotifierLogin, msnNotifierPassword, msnNotifierAddress,
- true );
+ addMsnNotifier( projectGroupName, projectName, msnNotifierLogin, msnNotifierPassword, msnNotifierAddress, true );
}
public void testAddMsnProjectNotifierWithInvalidValues()
@@ -572,6 +570,29 @@ public class NotifierTest
assertProjectInformationPage();
}
+ public void testDeleteProjectNotifierFromGroupNotifierPage()
+ throws Exception
+ {
+ String mailNotifierAddress = "testDeleteProjectNotifierFromGroupNotifierPage@test.com";
+
+ goToProjectGroupsSummaryPage();
+ goToProjectNotifier( projectGroupName, projectName );
+ addMailNotifier( projectGroupName, projectName, mailNotifierAddress, true );
+
+ showProjectGroup( projectGroupName, projectGroupId, projectGroupDescription );
+ clickLinkWithText( "Notifiers" );
+ assertGroupNotifierPage( projectGroupName );
+
+ // Delete
+ clickLinkWithXPath( "//preceding::td[text()='" + mailNotifierAddress + "']//following::img[@alt='Delete']" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
+ assertGroupNotifierPage( projectGroupName );
+
+ assertTextNotPresent( mailNotifierAddress );
+ }
+
protected void assertGroupNotifierPage( String projectGroupName )
{
assertTextPresent( "Project Group Notifiers of group " + projectGroupName );
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java Tue May 20 14:02:03 2014
@@ -34,6 +34,9 @@ import org.testng.annotations.Test;
public class ProjectGroupTest
extends AbstractAdminTest
{
+
+ public static final String TEST_PROJECT_NAME = "ContinuumBuildQueueTestData";
+
private String projectGroupName;
private String projectGroupId;
@@ -81,7 +84,11 @@ public class ProjectGroupTest
String groupId = "com.example.this-is-a-long-group-id";
String description = "";
- addProjectGroup( name, groupId, description, true );
+ try {
+ addProjectGroup( name, groupId, description, true );
+ } finally {
+ removeProjectGroup( name, false );
+ }
}
public void testAddProjectGroupWithPunctuation()
@@ -91,7 +98,11 @@ public class ProjectGroupTest
String groupId = "com.example.test";
String description = "";
- addProjectGroup( name, groupId, description, true );
+ try {
+ addProjectGroup( name, groupId, description, true );
+ } finally {
+ removeProjectGroup( name, false );
+ }
}
public void testAddProjectGroupWithEmptyString()
@@ -219,4 +230,31 @@ public class ProjectGroupTest
removeProjectGroup( name3 );
assertLinkNotPresent( name3 );
}
+
+ public void testRemoveProjectFromMembers()
+ {
+ goToProjectGroupsSummaryPage();
+ addProjectGroup( projectGroupName, projectGroupId, projectGroupDescription, true, false );
+ showProjectGroup( projectGroupName, projectGroupId, projectGroupDescription );
+
+ if ( !isLinkPresent( TEST_PROJECT_NAME ) )
+ {
+ clickButtonWithValue( "Add" );
+ assertAddMavenTwoProjectPage();
+ setFieldValue( "m2PomUrl", getProperty( "M2_POM_URL" ) );
+ clickButtonWithValue( "Add" );
+ waitAddProject( "Continuum - Project Group" );
+ assertTextPresent( TEST_PROJECT_NAME );
+ }
+
+ clickLinkWithText( "Members" );
+ assertTextPresent( TEST_PROJECT_NAME );
+ clickImgWithAlt( "Delete" );
+
+ assertTextPresent( "Delete Continuum Project" );
+ clickButtonWithValue( "Delete" );
+
+ assertProjectGroupSummaryPage( projectGroupName, projectGroupId, projectGroupDescription );
+ assertTextNotPresent( TEST_PROJECT_NAME );
+ }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/QueueTest.java Tue May 20 14:02:03 2014
@@ -20,6 +20,7 @@ package org.apache.continuum.web.test;
*/
import org.apache.continuum.web.test.parent.AbstractAdminTest;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -41,10 +42,17 @@ public class QueueTest
buildQueueName = getProperty( "BUILD_QUEUE_NAME" );
}
+ @AfterClass
+ protected void tearDown()
+ {
+ goToBuildQueuePage();
+ removeBuildQueue( buildQueueName );
+ }
+
public void testAddBuildQueue()
{
setMaxBuildQueue( 2 );
- addBuildQueue( buildQueueName, true );
+ addBuildQueue( buildQueueName );
}
public void testQueuePageWithoutBuild()
@@ -79,12 +87,16 @@ public class QueueTest
goToAddSchedule();
addEditSchedule( scheduleName, scheduleDescription, second, minute, hour, dayOfMonth, month, dayOfWeek, year,
maxTime, period, true, true );
- goToEditSchedule( scheduleName, scheduleDescription, second, minute, hour, dayOfMonth, month, dayOfWeek, year,
- maxTime, period );
-
- getSelenium().addSelection( "saveSchedule_availableBuildQueuesIds", "label=" + buildQueueName );
- getSelenium().click( "//input[@value='->']" );
- submit();
+ try {
+ goToEditSchedule( scheduleName, scheduleDescription, second, minute, hour, dayOfMonth, month, dayOfWeek, year,
+ maxTime, period );
+
+ getSelenium().addSelection( "saveSchedule_availableBuildQueuesIds", "label=" + buildQueueName );
+ getSelenium().click( "//input[@value='->']" );
+ submit();
+ } finally {
+ removeSchedule( scheduleName );
+ }
}
@Test( dependsOnMethods = { "testAddBuildQueue" } )
@@ -107,7 +119,7 @@ public class QueueTest
public void testAddEmptyBuildQueue()
{
setMaxBuildQueue( 3 );
- addBuildQueue( "", false );
+ addBuildQueue( "", false, false );
assertTextPresent( "You must define a name" );
}
@@ -116,7 +128,7 @@ public class QueueTest
setMaxBuildQueue( 3 );
goToBuildQueuePage();
String testBuildQueue = "test_build_queue";
- addBuildQueue( testBuildQueue, true );
+ addBuildQueue( testBuildQueue );
removeBuildQueue( testBuildQueue );
assertTextNotPresent( testBuildQueue );
@@ -134,15 +146,19 @@ public class QueueTest
String projectGroupId = getProperty( "MAVEN2_QUEUE_TEST_POM_PROJECT_GROUP_ID" );
String projectGroupDescription = getProperty( "MAVEN2_QUEUE_TEST_POM_PROJECT_GROUP_DESCRIPTION" );
- //build a project
- goToAddMavenTwoProjectPage();
- addMavenTwoProject( pomUrl, pomUsername, pomPassword, null, true );
+ goToProjectGroupsSummaryPage();
+ if ( !isLinkPresent( projectGroupName ) )
+ {
+ //build a project
+ goToAddMavenTwoProjectPage();
+ addMavenTwoProject( pomUrl, pomUsername, pomPassword, null, true );
+ }
buildProjectForQueuePageTest( projectGroupName, projectGroupId, projectGroupDescription );
String location = getSelenium().getLocation();
//check queue page while building
- getSelenium().open( "/continuum/admin/displayQueues!display.action" );
+ getSelenium().open( baseUrl + "/admin/displayQueues.action" );
assertPage( "Continuum - Build Queue" );
assertTextPresent( "Current Build" );
assertTextPresent( "Build Queue" );
@@ -195,21 +211,32 @@ public class QueueTest
assertButtonWithValuePresent( "Cancel" );
}
+ protected void addBuildQueue( String name )
+ {
+ addBuildQueue( name, true );
+ }
+
protected void addBuildQueue( String name, boolean success )
{
+ addBuildQueue( name, success, true );
+ }
+
+ protected void addBuildQueue( String name, boolean success, boolean waitForError )
+ {
goToBuildQueuePage();
assertBuildQueuePage();
submit();
assertAddBuildQueuePage();
setFieldValue( "name", name );
- submit();
if ( success )
{
+ submit();
assertBuildQueuePage();
assertTextPresent( name );
}
else
{
+ submit( waitForError );
assertAddBuildQueuePage();
}
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java Tue May 20 14:02:03 2014
@@ -163,17 +163,4 @@ public class ScheduleTest
String SCHEDULE_NAME = getProperty( "SCHEDULE_NAME" );
removeSchedule( SCHEDULE_NAME );
}
-
- protected void removeSchedule( String name )
- {
- goToSchedulePage();
- clickLinkWithXPath( "(//a[contains(@href,'removeSchedule.action') and contains(@href, '" + name + "')])//img" );
- assertPage( "Continuum - Delete Schedule" );
- assertTextPresent( "Delete Schedule" );
- assertTextPresent( "Are you sure you want to delete the schedule \"" + name + "\"?" );
- assertButtonWithValuePresent( "Delete" );
- assertButtonWithValuePresent( "Cancel" );
- clickButtonWithValue( "Delete" );
- assertSchedulePage();
- }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/UserRolesManagementTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/UserRolesManagementTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/UserRolesManagementTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/UserRolesManagementTest.java Tue May 20 14:02:03 2014
@@ -20,12 +20,22 @@ package org.apache.continuum.web.test;
*/
import org.apache.continuum.web.test.parent.AbstractUserRolesManagementTest;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
+import java.util.ArrayList;
+import java.util.List;
+
@Test( groups = {"userroles"}, sequential = true )
public class UserRolesManagementTest
extends AbstractUserRolesManagementTest
{
+
+ public static final String TEST_GROUP = "UserRoles Test Group";
+
+ private List<String> usernames = new ArrayList<String>();
+
public void testBasicAddDeleteUser()
{
username = getProperty( "GUEST_USERNAME" );
@@ -230,7 +240,7 @@ public class UserRolesManagementTest
// enable distributed build
clickLinkWithText( "Configuration" );
- clickLinkWithLocator( "configuration_distributedBuildEnabled", false );
+ checkField( "distributedBuildEnabled" );
clickButtonWithValue( "Save" );
clickLinkWithText( "Logout" );
@@ -246,7 +256,7 @@ public class UserRolesManagementTest
loginAsAdmin();
// disable distributed build
clickLinkWithText( "Configuration" );
- clickLinkWithLocator( "configuration_distributedBuildEnabled", false );
+ uncheckField( "distributedBuildEnabled" );
clickButtonWithValue( "Save" );
clickLinkWithText( "Logout" );
@@ -269,8 +279,8 @@ public class UserRolesManagementTest
assertTextNotPresent( "Project Groups list is empty." );
// test add project group
clickButtonWithValue( "Add Project Group" );
- setFieldValue( "name", "Test Group" );
- setFieldValue( "groupId", "Test Group" );
+ setFieldValue( "name", TEST_GROUP );
+ setFieldValue( "groupId", TEST_GROUP );
setFieldValue( "description", "testing project group" );
submit();
}
@@ -279,7 +289,7 @@ public class UserRolesManagementTest
public void testContinuumGroupProjectAdmin_AddProjectToProjectGroup()
throws Exception
{
- clickLinkWithText( "Test Group" );
+ clickLinkWithText( TEST_GROUP );
clickButtonWithValue( "Add" );
assertAddMavenTwoProjectPage();
setFieldValue( "m2PomUrl", getProperty( "M2_POM_URL" ) );
@@ -293,7 +303,7 @@ public class UserRolesManagementTest
public void testContinuumGroupProjectAdmin_BuildProject()
throws Exception
{
- buildProjectGroup( "Test Group", "Test Group", "testing project group", "ContinuumBuildQueueTestData", true );
+ buildProjectGroup( TEST_GROUP, TEST_GROUP, "testing project group", "ContinuumBuildQueueTestData", true );
}
@Test( dependsOnMethods = {"testContinuumGroupProjectAdmin_BuildProject"} )
@@ -303,7 +313,7 @@ public class UserRolesManagementTest
clickLinkWithText( "guest1" );
clickLinkWithText( "Edit Roles" );
checkUserRoleWithValue( "Guest" );
- checkResourceRoleWithValue( "Project Developer - Test Group" );
+ checkResourceRoleWithValue( "Project Developer - " + TEST_GROUP );
submit();
clickLinkWithText( "Logout" );
}
@@ -619,4 +629,28 @@ public class UserRolesManagementTest
clickLinkWithText( "Logout" );
}
+ @AfterMethod
+ public void trackUserToDelete()
+ {
+ // record to delete at end, as some are used across dependent tests
+ // TODO: refactor!
+ usernames.add( username );
+ }
+
+ @AfterClass
+ public void cleanup()
+ {
+ loginAsAdmin();
+ if ( !isTextPresent( "List of Users" ) )
+ {
+ clickLinkWithText( "Users" );
+ }
+
+ for ( String username : usernames )
+ {
+ deleteUser( username, false );
+ }
+
+ removeProjectGroup( TEST_GROUP, false );
+ }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/CaptureScreenShotsListener.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/CaptureScreenShotsListener.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/CaptureScreenShotsListener.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/listener/CaptureScreenShotsListener.java Tue May 20 14:02:03 2014
@@ -35,9 +35,16 @@ public class CaptureScreenShotsListener
extends TestListenerAdapter
{
@Override
+ public void onTestStart( ITestResult tr )
+ {
+ System.out.print( "Test " + tr.getName() + "... " );
+ super.onTestStart( tr );
+ }
+
+ @Override
public void onTestSkipped( ITestResult tr )
{
- System.out.println( "Test " + tr.getName() + " -> Skipped" );
+ System.out.println( "Skipped" );
super.onTestSkipped( tr );
}
@@ -45,14 +52,14 @@ public class CaptureScreenShotsListener
public void onTestFailure( ITestResult tr )
{
captureError( tr );
- System.out.println( "Test " + tr.getName() + " -> Failed" );
+ System.out.println( "Failed" );
super.onTestFailure( tr );
}
@Override
public void onTestSuccess( ITestResult tr )
{
- System.out.println( "Test " + tr.getName() + " -> Success" );
+ System.out.println( "Success" );
super.onTestFailure( tr );
}
@@ -103,6 +110,9 @@ public class CaptureScreenShotsListener
return;
}
String fileBaseName = methodName + "_" + className + ".java_" + lineNumber + "-" + time;
+
+ System.out.println( "Capturing screenshot at " + fileBaseName + ".png" );
+
try
{
selenium.windowMaximize();
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=1596252&r1=1596251&r2=1596252&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 Tue May 20 14:02:03 2014
@@ -21,6 +21,8 @@ package org.apache.continuum.web.test.pa
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
@@ -41,6 +43,8 @@ public abstract class AbstractAdminTest
if ( !getSelenium().isElementPresent( "//span[@class='username' and text()='" + username + "']" ) )
{
login( username, password );
+
+ assertElementPresent( "//span[@class='username' and text()='" + username + "']" );
}
}
@@ -217,22 +221,24 @@ public abstract class AbstractAdminTest
}
@BeforeClass( alwaysRun = true )
- public void initializeBuildAgent()
+ @Parameters( { "buildAgentUrl" } )
+ public void initializeBuildAgent(
+ @Optional( "http://localhost:9595/continuum-buildagent/xmlrpc" ) String buildAgentUrl )
{
- buildAgentUrl = baseUrl.substring( 0, baseUrl.indexOf( "/continuum" ) ) + "/continuum-buildagent/xmlrpc";
+ this.buildAgentUrl = buildAgentUrl;
}
protected void enableDistributedBuilds()
{
goToConfigurationPage();
setFieldValue( "numberOfAllowedBuildsinParallel", "2" );
- if ( !isChecked( "configuration_distributedBuildEnabled" ) )
+ if ( !isChecked( "distributedBuildEnabled" ) )
{
// must use click here so the JavaScript enabling the shared secret gets triggered
- click( "configuration_distributedBuildEnabled" );
+ click( "distributedBuildEnabled" );
}
- setFieldValue( "configuration_sharedSecretPassword", SHARED_SECRET );
- clickAndWait( "configuration_null" );
+ setFieldValue( "sharedSecretPassword", SHARED_SECRET );
+ clickAndWait( "css=input[value='Save']" );
assertTextPresent( "true" );
assertTextPresent( "Distributed Builds" );
assertElementPresent( "link=Build Agents" );
@@ -242,9 +248,9 @@ public abstract class AbstractAdminTest
{
goToConfigurationPage();
setFieldValue( "numberOfAllowedBuildsinParallel", "2" );
- if ( isChecked( "configuration_distributedBuildEnabled" ) )
+ if ( isChecked( "distributedBuildEnabled" ) )
{
- uncheckField( "configuration_distributedBuildEnabled" );
+ uncheckField( "distributedBuildEnabled" );
}
submit();
assertTextPresent( "false" );
@@ -349,4 +355,17 @@ public abstract class AbstractAdminTest
assertBuildAgentPage();
assertTextPresent( newDesc );
}
+
+ protected void removeSchedule( String name )
+ {
+ goToSchedulePage();
+ clickLinkWithXPath( "(//a[contains(@href,'removeSchedule.action') and contains(@href, '" + name + "')])//img" );
+ assertPage( "Continuum - Delete Schedule" );
+ assertTextPresent( "Delete Schedule" );
+ assertTextPresent( "Are you sure you want to delete the schedule \"" + name + "\"?" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
+ assertSchedulePage();
+ }
}
Modified: continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildDefinitionTemplateTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildDefinitionTemplateTest.java?rev=1596252&r1=1596251&r2=1596252&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildDefinitionTemplateTest.java (original)
+++ continuum/trunk/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildDefinitionTemplateTest.java Tue May 20 14:02:03 2014
@@ -38,7 +38,7 @@ public abstract class AbstractBuildDefin
assertTextPresent( "Available Templates" );
assertTextPresent( "Available Build Definitions" );
assertButtonWithIdPresent( "buildDefinitionTemplate_0" );
- assertButtonWithIdPresent( "buildDefinitionAsTemplate_0" );
+ assertButtonWithIdPresent( "buildDefinitionAsTemplate_input_0" );
}
protected void goToAddTemplate()
@@ -125,22 +125,30 @@ public abstract class AbstractBuildDefin
protected void removeTemplate( String name )
{
+ removeTemplate( name, true );
+ }
+
+ protected void removeTemplate( String name, boolean failIfMissing )
+ {
goToBuildDefinitionTemplatePage();
- clickLinkWithXPath(
- "(//a[contains(@href,'deleteDefinitionTemplate') and contains(@href, '" + name + "')])//img" );
- assertPage( "Continuum - Delete Build Definition Template" );
- assertTextPresent( "Delete Build Definition Template" );
- assertTextPresent( "Are you sure you want to delete build definition template \"" + name + "\"?" );
- assertButtonWithValuePresent( "Delete" );
- assertButtonWithValuePresent( "Cancel" );
- clickButtonWithValue( "Delete" );
- assertBuildDefinitionTemplatePage();
+ String xpath = "(//a[contains(@href,'deleteDefinitionTemplate') and contains(@href, '" + name + "')])//img";
+ if ( failIfMissing || isElementPresent( "xpath=" + xpath ) )
+ {
+ clickLinkWithXPath( xpath );
+ assertPage( "Continuum - Delete Build Definition Template" );
+ assertTextPresent( "Delete Build Definition Template" );
+ assertTextPresent( "Are you sure you want to delete build definition template \"" + name + "\"?" );
+ assertButtonWithValuePresent( "Delete" );
+ assertButtonWithValuePresent( "Cancel" );
+ clickButtonWithValue( "Delete" );
+ assertBuildDefinitionTemplatePage();
+ }
}
protected void goToAddBuildDefinitionTemplate()
{
goToBuildDefinitionTemplatePage();
- clickSubmitWithLocator( "buildDefinitionAsTemplate_0" );
+ clickSubmitWithLocator( "buildDefinitionAsTemplate_input_0" );
assertAddEditBuildDefinitionTemplatePage();
}