You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ct...@apache.org on 2011/05/11 00:46:25 UTC

svn commit: r1101669 [1/4] - in /continuum/branches/continuum-1.3.x: ./ continuum-webapp-test/src/test/resources/ continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/p...

Author: ctan
Date: Tue May 10 22:46:21 2011
New Revision: 1101669

URL: http://svn.apache.org/viewvc?rev=1101669&view=rev
Log:
[CONTINUUM-2620] merge changes in trunk

Added:
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/continuum/web/action/admin/BuildAgentAction-saveBuildAgentGroup-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectGroupAction-addProjectGroup-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectGroupAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectGroupAction_de.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectGroupAction_en.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectGroupAction_fr.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectGroupAction_pt_BR.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ProfileAction-saveBuildEnv-validation.xml
Removed:
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/IrcNotifierEditAction-ircNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/IrcNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/IrcNotifierEditAction_de.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/IrcNotifierEditAction_en.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/IrcNotifierEditAction_fr.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/IrcNotifierEditAction_pt_BR.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/JabberNotifierEditAction-jabberNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/JabberNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/JabberNotifierEditAction_de.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/JabberNotifierEditAction_en.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/JabberNotifierEditAction_fr.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/JabberNotifierEditAction_pt_BR.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MailNotifierEditAction-mailNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MailNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MailNotifierEditAction_de.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MailNotifierEditAction_en.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MailNotifierEditAction_fr.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MailNotifierEditAction_pt_BR.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MsnNotifierEditAction-msnNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MsnNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MsnNotifierEditAction_de.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MsnNotifierEditAction_en.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MsnNotifierEditAction_fr.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/MsnNotifierEditAction_pt_BR.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ProfileAction-saveProfile-validation.xml
Modified:
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractNotifierTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractUserRolesManagementTest.java
    continuum/branches/continuum-1.3.x/continuum-webapp/pom.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/ScmResultAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/BuildAgentAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/LocalRepositoryAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/PurgeConfigurationAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/util/GenerateRecipentNotifier.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddProjectGroupAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/AbstractFooterAction.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/localization/Continuum.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/continuum/web/action/admin/BuildAgentAction-saveBuildAgent-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/continuum/web/action/admin/BuildAgentAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/continuum/web/action/admin/LocalRepositoryAction-saveRepository-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/continuum/web/action/admin/LocalRepositoryAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/continuum/web/action/admin/PurgeConfigurationAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectAction-addProject-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/AddProjectAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/BuildDefinitionAction-saveBuildDefinition-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/BuildDefinitionAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ProjectEditAction-projectSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ProjectEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ProjectGroupAction-saveProjectGroup-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ProjectGroupAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ScheduleAction-saveSchedule-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ScheduleAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ScheduleAction_de.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ScheduleAction_fr.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/ScheduleAction_pt_BR.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction-saveBuildDefinitionAsTemplate-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction-saveBuildDefinitionTemplate-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction_de.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction_fr.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildDefinitionTemplateAction_pt_BR.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildQueueAction-saveBuildQueue-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/BuildQueueAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction-configuration-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigurationAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/InstallationAction-saveInstallation-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/InstallationAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/admin/ProfileAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/IrcGroupNotifierEditAction-ircProjectGroupNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/IrcGroupNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/IrcProjectNotifierEditAction-ircProjectNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/IrcProjectNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/JabberGroupNotifierEditAction-jabberProjectGroupNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/JabberGroupNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/JabberProjectNotifierEditAction-jabberProjectNotifierSave-validation.xml
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/resources/org/apache/maven/continuum/web/action/notifier/JabberProjectNotifierEditAction.properties
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/addMavenOneProject.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/addMavenTwoProject.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildAgentsList.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildDefinitionTemplateSummary.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/buildQueueView.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/localRepositoriesList.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/parallelbuilds.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/purgeConfigurationsList.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/viewDistributedBuilds.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildResult.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/buildResults.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionGroupSummaryComponent.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/buildDefinitionSummaryComponent.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/companyLogo.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectGroupNotifierSummaryComponent.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/projectSummaryComponent.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/groupSummary.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/ProjectMenu.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupAdd.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupBuildDefinition.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupEdit.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupMembers.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupNotifier.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupReleaseResults.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectGroupSummary.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/projectView.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/releases.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/main/webapp/WEB-INF/jsp/schedules.jsp
    continuum/branches/continuum-1.3.x/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/AddProjectActionTest.java
    continuum/branches/continuum-1.3.x/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java
    continuum/branches/continuum-1.3.x/pom.xml

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/resources/testng.properties Tue May 10 22:46:21 2011
@@ -198,8 +198,8 @@ INSTALL_TOOL_MAVEN_NAME=M9_HOME
 INSTALL_TOOL_MAVEN_PATH=${maven.home}
 # Not neccesary correct location
 INSTALL_VAR_NAME=JDK5
-INSTALL_VAR_VARIABLE_NAME=/usr/lib/jvm/java-5-sun-1.5.0.12
-INSTALL_VAR_PATH=JAVA5_HOME
+INSTALL_VAR_VARIABLE_NAME=JAVA5_HOME
+INSTALL_VAR_PATH=/usr/lib/jvm/java-5-sun-1.5.0.12
 
 ########################
 # buildEnvironment group 
@@ -279,8 +279,8 @@ PROJECTUSER_DEFAULTPROJECTGROUP_FULLNAME
 ########################
 BUILD_AGENT_NAME2=http://localhost:9595/continuum-buildagent/xmlrpc
 BUILD_AGENT_DESCRIPTION2=Agent_description2
-BUILD_AGENT_NAME =Agent_url_name
+BUILD_AGENT_NAME =http://localhost:9090
 BUILD_AGENT_DESCRIPTION =Agent_description
-BUILD_AGENT_NAME3 =Third_Agent
+BUILD_AGENT_NAME3 =http://localhost:9191/xmlrpc
 BUILD_AGENT_DESCRIPTION3 =Agent_description3
 BUILD_AGENT_GROUPNAME =agent_groupname

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java Tue May 10 22:46:21 2011
@@ -51,6 +51,30 @@ public class AntProjectTest
                     false, TEST_PROJ_GRP_NAME, null, true, "ant" );
         assertProjectGroupSummaryPage( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
     }
+    
+    @Test( dependsOnMethods = { "testAddProjectGroup" } )
+    public void testAddAntProjectWithInvalidValues()
+        throws Exception
+    {
+        String ANT_NAME = "!@#$<>?etc";
+        String ANT_DESCRIPTION = "![]<>'^&etc";
+        String ANT_VERSION = "<>whitespaces!#etc";
+        String ANT_TAG = "!<>*%etc";
+        String ANT_SCM_URL = "!<>*%etc";
+        String ANT_SCM_USERNAME = getProperty( "ANT_SCM_USERNAME" );
+        String ANT_SCM_PASSWORD = getProperty( "ANT_SCM_PASSWORD" );
+        String DEFAULT_PROJ_GRP_NAME = getProperty( "DEFAULT_PROJ_GRP_NAME" );
+        String DEFAULT_PROJ_GRP_ID = getProperty( "DEFAULT_PROJ_GRP_ID" );
+        String DEFAULT_PROJ_GRP_DESCRIPTION = getProperty( "DEFAULT_PROJ_GRP_DESCRIPTION" );
+        goToAddAntProjectPage();
+        addProject( ANT_NAME, ANT_DESCRIPTION, ANT_VERSION, ANT_SCM_URL, ANT_SCM_USERNAME,
+                    ANT_SCM_PASSWORD, ANT_TAG, false, DEFAULT_PROJ_GRP_NAME, null, false, "ant" );
+        assertTextPresent( "Name contains invalid characters." );
+        assertTextPresent( "Description contains invalid characters." );
+        assertTextPresent( "Version contains invalid characters." );
+        assertTextPresent( "SCM Url contains invalid characters." );
+        assertTextPresent( "SCM Tag contains invalid characters." );
+    }
 
     public void testSubmitEmptyForm()
     {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildAgentsTest.java Tue May 10 22:46:21 2011
@@ -22,6 +22,7 @@ package org.apache.continuum.web.test;
 //import org.apache.continuum.web.test.parent.AbstractBuildQueueTest;
 import org.testng.annotations.Test;
 import org.apache.continuum.web.test.parent.AbstractBuildAgentsTest;
+import org.testng.Assert;
 
 
 @Test( groups = { "agent" }, dependsOnMethods = { "testWithCorrectUsernamePassword" } )//dependsOnMethods = { "testDeleteBuildDefinitionTemplate" } )
@@ -48,7 +49,39 @@ public class BuildAgentsTest
         disableDistributedBuilds();
 	}
 
-	@Test( dependsOnMethods = { "testEditBuildAgent" } )
+    public void testAddBuildAgentWithXSS()
+    {
+        try
+        {
+            String invalidUrl = "http://sampleagent/<script>alert('gotcha')</script>";
+            String invalidDescription = "blah blah <script>alert('gotcha')</script> blah blah";
+            enableDistributedBuilds();
+            goToAddBuildAgent();
+            addBuildAgent( invalidUrl, invalidDescription, false, true, false );
+
+            assertTextPresent( "Build agent url is invalid." );
+            assertTextPresent( "Build agent description contains invalid characters." );
+        }
+        finally
+        {
+            disableDistributedBuilds();
+        }
+    }
+
+    public void testViewBuildAgentInstallationXSS()
+    {
+        getSelenium().open( baseUrl + "/security/viewBuildAgent.action?buildAgent.url=test%3Cscript%3Ealert%28%27xss%27%29%3C/script%3E" );
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "<script>alert('xss')</script>" );
+    }       
+
+    public void testEditBuildAgentXSS()
+    {
+        getSelenium().open( baseUrl + "/security/editBuildAgent.action?buildAgent.url=test%3Cscript%3Ealert%28%27xss%27%29%3C/script%3E" );
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+    }
+
+    @Test( dependsOnMethods = { "testEditBuildAgent" } )
     public void testAddAnExistingBuildAgent()
     {
 		String BUILD_AGENT_NAME = getProperty( "BUILD_AGENT_NAME" );
@@ -79,7 +112,7 @@ public class BuildAgentsTest
 
 	@Test( dependsOnMethods = { "testAddAnExistingBuildAgent" } )
     public void testDeleteBuildAgent()
-
+        throws Exception
     {
 	    enableDistributedBuilds();
         goToBuildAgentPage();
@@ -104,6 +137,29 @@ public class BuildAgentsTest
 //TESTS FOR BUILD AGENT GROUPS
 
     @Test( dependsOnMethods = { "testAddBuildAgent" } )
+    public void testAddBuildAgentGroupXSS()
+        throws Exception
+    {
+        try
+        {   
+            enableDistributedBuilds();
+            goToAddBuildAgentGroup();  
+            addEditBuildAgentGroup( "%3Cscript%3Ealert%28%27xss%27%29%3C/script%3E", new String[]{}, new String[] {}, false );
+            assertTextPresent( "Build agent group name contains invalid characters" );
+        }
+        finally
+        {
+            disableDistributedBuilds();
+        }
+    }
+
+    public void testEditBuildAgentGroupXSS()
+    {
+        getSelenium().open( baseUrl + "/security/editBuildAgentGroup.action?buildAgentGroup.name=test%3Cscript%3Ealert%28%27xss%27%29%3C/script%3E" );
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+    }
+
+    @Test( dependsOnMethods = { "testAddBuildAgent" } )
     public void testAddBuildAgentGroup()
     throws Exception
     {
@@ -158,7 +214,7 @@ public class BuildAgentsTest
         enableDistributedBuilds();
     	goToAddBuildAgentGroup();
     	addEditBuildAgentGroup( "", new String[] {}, new String[] {}, false );
-		assertTextPresent( "Build agent group name required." );
+		assertTextPresent( "Build agent group name is required." );
 		disableDistributedBuilds();
     }
 

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java Tue May 10 22:46:21 2011
@@ -47,6 +47,14 @@ public class BuildDefinitionTemplateTest
         assertTextPresent( "Name is required" );
     }
 
+    public void testAddTemplateWithXSS()
+        throws Exception
+    {
+        goToAddTemplate();
+        addEditTemplate( "Name <script>alert('gotcha')</script>", new String[] {}, new String[] {}, false );
+        assertTextPresent( "Name contains invalid characters" );
+    }
+
     @Test( dependsOnMethods = { "testAddTemplate" } )
     public void testEditTemplate()
         throws Exception
@@ -91,6 +99,18 @@ public class BuildDefinitionTemplateTest
         assertTextPresent( "Description is required" );
     }
 
+    public void testAddBuildDefinitionTemplateWithXSS()
+        throws Exception
+    {
+        String invalidString = "<script>alert('gotcha')</script>";
+        goToAddBuildDefinitionTemplate();
+        addEditBuildDefinitionTemplate( invalidString, invalidString, invalidString, invalidString, true, true, true, false );
+        assertTextPresent( "BuildFile contains invalid characters" );
+        assertTextPresent( "Description contains invalid characters" );
+        assertTextPresent( "Goals contain invalid characters" );
+        assertTextPresent( "Arguments contain invalid characters" );
+    }
+
     @Test( dependsOnMethods = { "testAddBuildDefinitionTemplate" } )
     public void testEditBuildDefinitionTemplate()
         throws Exception

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTest.java Tue May 10 22:46:21 2011
@@ -79,6 +79,22 @@ public class BuildDefinitionTest
         clickButtonWithValue( "Save" );
         assertTextPresent( "Build file is required and cannot contain spaces only" );
     }
+    
+    @Test( dependsOnMethods = { "testAddProjectGroup2" } )
+    public void testAddGroupBuildDefinitionWithXSS()
+        throws Exception
+    {
+        String TEST2_PROJ_GRP_NAME = getProperty( "TEST2_PROJ_GRP_NAME" );
+        String TEST2_PROJ_GRP_ID = getProperty( "TEST2_PROJ_GRP_ID" );
+        String TEST2_PROJ_GRP_DESCRIPTION = getProperty( "TEST2_PROJ_GRP_DESCRIPTION" );
+        goToGroupBuildDefinitionPage( TEST2_PROJ_GRP_NAME, TEST2_PROJ_GRP_ID, TEST2_PROJ_GRP_DESCRIPTION );
+        clickButtonWithValue( "Add" );
+        setFieldValue( "buildFile", "<script>alert('xss')</script>" );
+        setFieldValue( "description", "<script>alert('xss')</script>" );
+        clickButtonWithValue( "Save" );
+        assertTextPresent( "Build file contains invalid characters." );
+        assertTextPresent( "Description contains invalid characters." );
+    }
 
     @Test( dependsOnMethods = { "testAddProjectGroup2" } )
     public void testBuildFromGroupBuildDefinition()

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildEnvironmentTest.java Tue May 10 22:46:21 2011
@@ -44,6 +44,13 @@ public class BuildEnvironmentTest
         assertTextPresent( "You must define a name" );
     }
 
+    public void testAddBuildEnvironmentWithXSS()
+    {
+        goToAddBuildEnvironment();
+        addBuildEnvironment( "<script>alert('gotcha')</script>", new String[] {}, false );
+        assertTextPresent( "Build environment name contains invalid characters." );
+    }
+
     @Test( dependsOnMethods = { "testAddBuildEnvironment" } )
     public void testEditInvalidBuildEnvironment()
     {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ConfigurationTest.java Tue May 10 22:46:21 2011
@@ -21,6 +21,7 @@ package org.apache.continuum.web.test;
 
 import org.apache.continuum.web.test.parent.AbstractConfigurationTest;
 import org.testng.annotations.Test;
+import org.testng.Assert;
 
 /**
  * @author José Morales Martínez
@@ -84,4 +85,79 @@ public class ConfigurationTest
         setMaxBuildQueue( 0 );
         assertTextPresent( "Number of Allowed Builds in Parallel must be greater than zero" );
     }
+
+    public void testSetConfigurationWithXSS()
+    {
+        String invalidString = "<script>alert('gotcha')</script>";
+        goToConfigurationPage();
+        submitConfiguration( invalidString, invalidString, invalidString, invalidString, 
+                             invalidString, invalidString, true, false );
+        assertTextPresent( "Working directory contains invalid characters." );
+        assertTextPresent( "Build output directory contains invalid characters." );
+        assertTextPresent( "Release output directory contains invalid characters." );
+        assertTextPresent( "Deployment repository directory contains invalid characters." );
+        assertTextPresent( "You must define a valid URL." );
+    }
+
+    public void testSetFooterXSS()
+    {
+        goToAppearancePage();
+        setFieldValue( "saveFooter_footer", "Copyright <SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        setFieldValue( "saveFooter_footer", "Copyright <SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=\"javascript:alert('XSS');\"> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=JaVaScRiPt:alert('XSS')> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=javascript:alert(&quot;XSS&quot;)> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        // unicode
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        // utf-8
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+        
+        // hex encoding
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=\"jav    ascript:alert('XSS');\"> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        setFieldValue( "saveFooter_footer", "Copyright <IMG SRC=\"jav&#x09;ascript:alert('XSS');\"> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+
+        setFieldValue( "saveFooter_footer", "Copyright <STYLE>@import'http://ha.ckers.org/xss.css';</STYLE> 2005-2011&nbsp;The Apache Software Foundation" );
+        submit();
+        Assert.assertFalse( getSelenium().isAlertPresent() );
+        assertTextPresent( "Copyright 2005-2011 The Apache Software Foundation" );
+    }
 }

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/InstallationTest.java Tue May 10 22:46:21 2011
@@ -37,6 +37,16 @@ public class InstallationTest
         goToAddInstallationTool();
         addInstallation( INSTALL_TOOL_JDK_NAME, "JDK", INSTALL_TOOL_JDK_PATH, false, true, true );
     }
+    
+    public void testAddJdkToolWithoutBuildEnvironmentWithInvalidValues()
+    {
+        String INSTALL_TOOL_JDK_NAME = "!@#$<>?etc";
+        String INSTALL_TOOL_JDK_PATH = "!@#$<>?etc";
+        goToAddInstallationTool();
+        addInstallation( INSTALL_TOOL_JDK_NAME, "JDK", INSTALL_TOOL_JDK_PATH, false, true, false );
+        assertTextPresent( "Installation name contains invalid characters." );
+        assertTextPresent( "Installation value contains invalid characters." );
+    }
 
     public void testAddMavenToolWithBuildEnvirotment()
     {
@@ -65,6 +75,18 @@ public class InstallationTest
         goToAddInstallationVariable();
         addInstallation( INSTALL_VAR_NAME, INSTALL_VAR_VARIABLE_NAME, INSTALL_VAR_PATH, false, false, true );
     }
+    
+    public void testAddInstallationVariableWithoutBuildEnvironmentWithInvalidValues()
+    {
+        String INSTALL_VAR_NAME = "!@#$<>?etc";
+        String INSTALL_VAR_VARIABLE_NAME = "!@#$<>?etc";
+        String INSTALL_VAR_PATH = "!@#$<>?etc";
+        goToAddInstallationVariable();
+        addInstallation( INSTALL_VAR_NAME, INSTALL_VAR_VARIABLE_NAME, INSTALL_VAR_PATH, false, false, false );
+        assertTextPresent( "Installation name contains invalid characters." );
+        assertTextPresent( "Environment variable name contains invalid characters." );
+        assertTextPresent( "Installation value contains invalid characters." );
+    }
 
     public void testAddInvalidInstallationTool()
     {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/LocalRepositoriesTest.java Tue May 10 22:46:21 2011
@@ -46,6 +46,17 @@ public class LocalRepositoriesTest
         assertTextPresent( "You must define a local repository directory." );
     }
 
+    public void testAddLocalRepositoryWithXSS()
+    {
+        String invalidName = "Repo <script>alert('gotcha')</script> name";
+        String invalidLocation = "/Users/continuum/<script>alert('gotcha')</script>/dir";
+
+        goToAddLocalRepository();
+        addEditLocalRepository( invalidName, invalidLocation, false );
+        assertTextPresent( "Local repository name contains invalid characters." );
+        assertTextPresent( "Local repository location contains invalid characters." );
+    }
+
     @Test( dependsOnMethods = { "testAddLocalRepository" } )
     public void testAddDuplicatedLocalRepository()
     {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenOneProjectTest.java Tue May 10 22:46:21 2011
@@ -199,12 +199,12 @@ public class MavenOneProjectTest
         clickLinkWithXPath( "//tbody/tr['0']/td['10']/a/img[@alt='Delete']" );
         assertTextPresent( "Delete Continuum Project" );
         clickButtonWithValue( "Delete" );
-        assertPage( "Continuum - Project Group" );
-        assertLinkNotPresent( M1_PROJ_GRP_NAME );
+        assertProjectGroupsSummaryPage();
+        clickLinkWithText( M1_PROJ_GRP_NAME );
         
         // remove group for next test
         removeProjectGroup( M1_PROJ_GRP_NAME );
-        
+        /*
         // delete project - "Delete Project(s)" button
         addMaven1Project( M1_PROJ_GRP_NAME );
         clickLinkWithText( M1_PROJ_GRP_NAME );
@@ -218,7 +218,7 @@ public class MavenOneProjectTest
         if ( !isExisting )
         {
             removeProjectGroup( M1_PROJ_GRP_NAME );
-        }
+        }*/
     }
     
     private void addMaven1Project( String groupName )

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/MavenTwoProjectTest.java Tue May 10 22:46:21 2011
@@ -242,15 +242,14 @@ public class MavenTwoProjectTest
         clickLinkWithXPath( "//tbody/tr['0']/td['10']/a/img[@alt='Delete']" );
         assertTextPresent( "Delete Continuum Project" );
         clickButtonWithValue( "Delete" );
-        assertPage( "Continuum - Project Group" );
-        assertTextNotPresent( "Unable to delete project" );
+        assertProjectGroupsSummaryPage();
         assertLinkNotPresent( M2_PROJ_GRP_NAME );
         assertTextNotPresent( M2_PROJ_GRP_SCM_ROOT_URL );
 
         // remove group for next test
         removeProjectGroup( M2_PROJ_GRP_NAME );
         assertLinkNotPresent( M2_PROJ_GRP_NAME );
-
+/*
         // delete project - "Delete Project(s)" button
         addMaven2Project( M2_PROJ_GRP_NAME );
         clickLinkWithText( M2_PROJ_GRP_NAME );
@@ -270,7 +269,7 @@ public class MavenTwoProjectTest
 
         // remove project group
         removeProjectGroup( M2_PROJ_GRP_NAME );
-        assertLinkNotPresent( M2_PROJ_GRP_NAME );
+        assertLinkNotPresent( M2_PROJ_GRP_NAME );*/
     }
 
     public void testBuildMaven2ProjectWithTag()

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/NotifierTest.java Tue May 10 22:46:21 2011
@@ -39,6 +39,17 @@ public class NotifierTest
         goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
         addMailNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, MAIL_NOTIFIER_ADDRESS, true );
     }
+    
+    public void testAddValidMailProjectNotifierWithInvalidValue()
+        throws Exception
+    {
+        String TEST_PROJ_GRP_NAME = getProperty( "TEST_PROJ_GRP_NAME" );
+        String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
+        String MAIL_NOTIFIER_ADDRESS = "<script>alert('xss')</script>";
+        goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
+        addMailNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, MAIL_NOTIFIER_ADDRESS, false );
+        assertTextPresent( "Address is invalid" );
+    }
 
     @Test( dependsOnMethods = { "testAddValidMailProjectNotifier" } )
     public void testEditValidMailProjectNotifier()
@@ -135,6 +146,19 @@ public class NotifierTest
         addIrcNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, IRC_NOTIFIER_HOST, IRC_NOTIFIER_CHANNEL, true );
     }
 
+    public void testAddProjectNotifierWithInvalidValues()
+        throws Exception
+    {
+        String TEST_PROJ_GRP_NAME = getProperty( "TEST_PROJ_GRP_NAME" );
+        String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
+        String IRC_NOTIFIER_HOST = "!@#$<>?etc";
+        String IRC_NOTIFIER_CHANNEL = "!@#$<>?etc";
+        goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
+        addIrcNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, IRC_NOTIFIER_HOST, IRC_NOTIFIER_CHANNEL, false );
+        assertTextPresent( "Host contains invalid character" );
+        assertTextPresent( "Channel contains invalid character" );
+    }
+
     @Test( dependsOnMethods = { "testAddValidIrcProjectNotifier" } )
     public void testEditValidIrcProjectNotifier()
         throws Exception
@@ -171,6 +195,8 @@ public class NotifierTest
         String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
         goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
         addIrcNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, "", "", false );
+        assertTextPresent( "Host is required" );
+        assertTextPresent( "Channel is required" );
     }
 
     public void testAddValidIrcGroupNotifier()
@@ -226,6 +252,8 @@ public class NotifierTest
         String TEST_PROJ_GRP_DESCRIPTION = getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
         goToGroupNotifier( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
         addIrcNotifier( TEST_PROJ_GRP_NAME, null, "", "", false );
+        assertTextPresent( "Host is required" );
+        assertTextPresent( "Channel is required" );
     }
 
     public void testAddValidJabberProjectNotifier()
@@ -241,6 +269,22 @@ public class NotifierTest
         addJabberNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, JABBER_NOTIFIER_HOST, JABBER_NOTIFIER_LOGIN,
                            JABBER_NOTIFIER_PASSWORD, JABBER_NOTIFIER_ADDRESS, true );
     }
+    
+    public void testAddJabberProjectNotifierWithInvalidValues()
+        throws Exception
+    {
+        String TEST_PROJ_GRP_NAME = getProperty( "TEST_PROJ_GRP_NAME" );
+        String JABBER_NOTIFIER_HOST = "!@#$<>?etc";
+        String JABBER_NOTIFIER_LOGIN = getProperty( "JABBER_NOTIFIER_LOGIN" );
+        String JABBER_NOTIFIER_PASSWORD = getProperty( "JABBER_NOTIFIER_PASSWORD" );
+        String JABBER_NOTIFIER_ADDRESS = "!@#$<>?etc";
+        String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
+        goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
+        addJabberNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, JABBER_NOTIFIER_HOST, JABBER_NOTIFIER_LOGIN,
+                           JABBER_NOTIFIER_PASSWORD, JABBER_NOTIFIER_ADDRESS, false );
+        assertTextPresent( "Host contains invalid characters" );
+        assertTextPresent( "Address is invalid" );
+    }
 
     @Test( dependsOnMethods = { "testAddValidJabberProjectNotifier" } )
     public void testEditValidJabberProjectNotifier()
@@ -284,6 +328,10 @@ public class NotifierTest
         String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
         goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
         addJabberNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, "", "", "", "", false );
+        assertTextPresent( "Host is required" );
+        assertTextPresent( "Login is required" );
+        assertTextPresent( "Password is required" );
+        assertTextPresent( "Address is required" );
     }
 
     public void testAddValidJabberGroupNotifier()
@@ -350,6 +398,10 @@ public class NotifierTest
         String TEST_PROJ_GRP_DESCRIPTION = getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
         goToGroupNotifier( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
         addJabberNotifier( TEST_PROJ_GRP_NAME, null, "", "", "", "", false );
+        assertTextPresent( "Host is required" );
+        assertTextPresent( "Login is required" );
+        assertTextPresent( "Password is required" );
+        assertTextPresent( "Address is required" );
     }
 
     public void testAddValidMsnProjectNotifier()
@@ -365,6 +417,20 @@ public class NotifierTest
                         MSN_NOTIFIER_ADDRESS, true );
     }
 
+    public void testAddMsnProjectNotifierWithInvalidValues()
+        throws Exception
+    {
+        String TEST_PROJ_GRP_NAME = getProperty( "TEST_PROJ_GRP_NAME" );
+        String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
+        String MSN_NOTIFIER_ADDRESS = "!@#$<>?etc";
+        String MSN_NOTIFIER_LOGIN = getProperty( "MSN_NOTIFIER_LOGIN" );
+        String MSN_NOTIFIER_PASSWORD = getProperty( "MSN_NOTIFIER_PASSWORD" );
+        goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
+        addMsnNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, MSN_NOTIFIER_LOGIN, MSN_NOTIFIER_PASSWORD,
+                        MSN_NOTIFIER_ADDRESS, false );
+        assertTextPresent( "Address is invalid" );
+    }
+
     @Test( dependsOnMethods = { "testAddValidMsnProjectNotifier" } )
     public void testEditValidMsnProjectNotifier()
         throws Exception
@@ -404,6 +470,9 @@ public class NotifierTest
         String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
         goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
         addMsnNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, "", "", "", false );
+        assertTextPresent( "Login is required" );
+        assertTextPresent( "Password is required" );
+        assertTextPresent( "Address is required" );
     }
 
     public void testAddValidMsnGroupNotifier()
@@ -464,6 +533,9 @@ public class NotifierTest
         String TEST_PROJ_GRP_DESCRIPTION = getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
         goToGroupNotifier( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
         addMsnNotifier( TEST_PROJ_GRP_NAME, null, "", "", "", false );
+        assertTextPresent( "Login is required" );
+        assertTextPresent( "Password is required" );
+        assertTextPresent( "Address is required" );
     }
 
     public void testAddValidWagonProjectNotifier()
@@ -476,6 +548,18 @@ public class NotifierTest
         goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
         addWagonNotifierPage( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, WAGON_NOTIFIER_URL, WAGON_SERVER_ID, true );
     }
+    
+    public void testAddInvalidURLWagonProjectNotifier()
+        throws Exception
+    {
+        String TEST_PROJ_GRP_NAME = getProperty( "TEST_PROJ_GRP_NAME" );
+        String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
+        String WAGON_NOTIFIER_URL = "!@#$<>?etc";
+        String WAGON_SERVER_ID = getProperty( "WAGON_SERVER_ID" );
+        goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
+        addWagonNotifierPage( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, WAGON_NOTIFIER_URL, WAGON_SERVER_ID, false );
+        assertTextPresent( "Destination URL is invalid" );
+    }
 
     @Test( dependsOnMethods = { "testAddValidWagonProjectNotifier" } )
     public void testEditValidWagonProjectNotifier()
@@ -513,6 +597,8 @@ public class NotifierTest
         String M2_PROJ_GRP_NAME = getProperty( "M2_PROJ_GRP_NAME" );
         goToProjectNotifier( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME );
         addWagonNotifierPage( TEST_PROJ_GRP_NAME, M2_PROJ_GRP_NAME, "", "", false );
+        assertTextPresent( "Destination URL is required" );
+        assertTextPresent( "Server Id is required" );
     }
 
     public void testAddValidWagonGroupNotifier()
@@ -568,6 +654,8 @@ public class NotifierTest
         String TEST_PROJ_GRP_DESCRIPTION = getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
         goToGroupNotifier( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
         addWagonNotifierPage( TEST_PROJ_GRP_NAME, null, "", "", false );
+        assertTextPresent( "Destination URL is required" );
+        assertTextPresent( "Server Id is required" );
     }
 
     @Test( dependsOnMethods = { "testEditValidMailGroupNotifier", "testEditInvalidMailGroupNotifier" } )

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ProjectGroupTest.java Tue May 10 22:46:21 2011
@@ -54,6 +54,19 @@ public class ProjectGroupTest
         addProjectGroup( TEST2_PROJ_GRP_NAME, TEST2_PROJ_GRP_ID, TEST2_PROJ_GRP_DESCRIPTION, true );
         showProjectGroup( TEST2_PROJ_GRP_NAME, TEST2_PROJ_GRP_ID, TEST2_PROJ_GRP_DESCRIPTION );
     }
+    
+    public void testAddProjectGroupWithInvalidValues()
+        throws Exception
+    {
+        String TEST2_PROJ_GRP_NAME = "!@#$<>?etch";
+        String TEST2_PROJ_GRP_ID = "-!@#<>etc";
+        String TEST2_PROJ_GRP_DESCRIPTION = "![]<>'^&etc";
+        
+        addProjectGroup( TEST2_PROJ_GRP_NAME, TEST2_PROJ_GRP_ID, TEST2_PROJ_GRP_DESCRIPTION, false );
+        assertTextPresent( "Name contains invalid characters." );
+        assertTextPresent( "Id contains invalid characters." );
+        assertTextPresent( "Description contains invalid characters." );
+    }
 
     @Test( dependsOnMethods = { "testAddMavenTwoProjectFromRemoteSourceToNonDefaultProjectGroup" } )
     public void testMoveProject()
@@ -129,6 +142,21 @@ public class ProjectGroupTest
                           TEST2_PROJ_GRP_DESCRIPTION );
         assertTextPresent( "Project Group Name cannot contain spaces only" );
     }
+    
+    @Test( dependsOnMethods = { "testAddProjectGroup2" } )
+    public void testEditProjectGroupWithXSS()
+        throws Exception
+    {
+        String TEST2_PROJ_GRP_NAME = getProperty( "TEST2_PROJ_GRP_NAME" );
+        String TEST2_PROJ_GRP_ID = getProperty( "TEST2_PROJ_GRP_ID" );
+        String TEST2_PROJ_GRP_DESCRIPTION = getProperty( "TEST2_PROJ_GRP_DESCRIPTION" );
+        String NEW_PROJ_GRP_NAME = "<script>alert('XSS')</script>";
+        String NEW_PROJ_GRP_DESCRIPTION = "<script>alert('XSS')</script>";
+        editProjectGroup( TEST2_PROJ_GRP_NAME, TEST2_PROJ_GRP_ID, TEST2_PROJ_GRP_DESCRIPTION, NEW_PROJ_GRP_NAME,
+                          NEW_PROJ_GRP_DESCRIPTION );
+        assertTextPresent( "Name contains invalid characters." );
+        assertTextPresent( "Description contains invalid characters." );
+    }
 
     @Test( dependsOnMethods = { "testAddMavenTwoProject" } )
     public void testProjectGroupAllBuildSuccess()

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/PurgeTest.java Tue May 10 22:46:21 2011
@@ -47,6 +47,14 @@ public class PurgeTest
         assertTextPresent( "Retention Count must be greater than 0." );
     }
 
+    public void testAddRepositoryPurgeWithXSS()
+    {
+        String invalidDescription = "blah blah <script>alert('gotcha')</script>";
+        goToAddRepositoryPurge();
+        addEditRepositoryPurge( "1", "1", invalidDescription, false );
+        assertTextPresent( "Description contains invalid characters." );
+    }
+
     @Test( dependsOnMethods = { "testAddRepositoryPurge" } )
     public void testEditRepositoryPurge()
     {
@@ -86,6 +94,14 @@ public class PurgeTest
         assertTextPresent( "Retention Count must be greater than 0." );
     }
 
+    public void testAddDirectoryPurgeWithXSS()
+    {
+        String invalidDescription = "blah blah <script>alert('gotcha')</script>";
+        goToAddDirectoryPurge();
+        addEditDirectoryPurge( "1", "1", invalidDescription, false );
+        assertTextPresent( "Description contains invalid characters." );
+    }
+
     @Test( dependsOnMethods = { "testAddDirectoryPurge" } )
     public void testEditDirectoryPurge()
     {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ScheduleTest.java Tue May 10 22:46:21 2011
@@ -69,6 +69,28 @@ public class ScheduleTest
                          SCHEDULE_EXPR_HOUR, SCHEDULE_EXPR_DAY_MONTH, SCHEDULE_EXPR_MONTH, SCHEDULE_EXPR_DAY_WEEK,
                          SCHEDULE_EXPR_YEAR, SCHEDULE_MAX_TIME, SCHEDULE_PERIOD, true, true );
     }
+    
+    @Test( dependsOnMethods = { "testAddScheduleNoBuildQueueToBeUsed" } )
+    public void testAddScheduleWithInvalidValues()
+    {
+        String SCHEDULE_NAME = "!@#$<>?etc";
+        String SCHEDULE_DESCRIPTION = "![]<>'^&etc";
+        String SCHEDULE_EXPR_SECOND = getProperty( "SCHEDULE_EXPR_SECOND" );
+        String SCHEDULE_EXPR_MINUTE = getProperty( "SCHEDULE_EXPR_MINUTE" );
+        String SCHEDULE_EXPR_HOUR = getProperty( "SCHEDULE_EXPR_HOUR" );
+        String SCHEDULE_EXPR_DAY_MONTH = getProperty( "SCHEDULE_EXPR_DAY_MONTH" );
+        String SCHEDULE_EXPR_MONTH = getProperty( "SCHEDULE_EXPR_MONTH" );
+        String SCHEDULE_EXPR_DAY_WEEK = getProperty( "SCHEDULE_EXPR_DAY_WEEK" );
+        String SCHEDULE_EXPR_YEAR = getProperty( "SCHEDULE_EXPR_YEAR" );
+        String SCHEDULE_MAX_TIME = getProperty( "SCHEDULE_MAX_TIME" );
+        String SCHEDULE_PERIOD = getProperty( "SCHEDULE_PERIOD" );
+        goToAddSchedule();
+        addEditSchedule( SCHEDULE_NAME, SCHEDULE_DESCRIPTION, SCHEDULE_EXPR_SECOND, SCHEDULE_EXPR_MINUTE,
+                         SCHEDULE_EXPR_HOUR, SCHEDULE_EXPR_DAY_MONTH, SCHEDULE_EXPR_MONTH, SCHEDULE_EXPR_DAY_WEEK,
+                         SCHEDULE_EXPR_YEAR, SCHEDULE_MAX_TIME, SCHEDULE_PERIOD, true, false );
+        assertTextPresent( "Name contains invalid characters." );
+        assertTextPresent( "Description contains invalid characters." );
+    }
 
     public void testAddInvalidSchedule()
     {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/ShellProjectTest.java Tue May 10 22:46:21 2011
@@ -50,6 +50,29 @@ public class ShellProjectTest
                     SHELL_SCM_PASSWORD, SHELL_TAG, false, DEFAULT_PROJ_GRP_NAME, null, true, "shell" );
         assertProjectGroupSummaryPage( DEFAULT_PROJ_GRP_NAME, DEFAULT_PROJ_GRP_ID, DEFAULT_PROJ_GRP_DESCRIPTION );
     }
+    
+    public void testAddShellProjectWithInvalidValues()
+        throws Exception
+    {
+        String SHELL_NAME = "!@#$<>?etc";
+        String SHELL_DESCRIPTION = "![]<>'^&etc";
+        String SHELL_VERSION = "<>whitespaces!#etc";
+        String SHELL_TAG = "!<>*%etc";
+        String SHELL_SCM_URL = "!<>*%etc";
+        String SHELL_SCM_USERNAME = getProperty( "SHELL_SCM_USERNAME" );
+        String SHELL_SCM_PASSWORD = getProperty( "SHELL_SCM_PASSWORD" );
+        String DEFAULT_PROJ_GRP_NAME = getProperty( "DEFAULT_PROJ_GRP_NAME" );
+        String DEFAULT_PROJ_GRP_ID = getProperty( "DEFAULT_PROJ_GRP_ID" );
+        String DEFAULT_PROJ_GRP_DESCRIPTION = getProperty( "DEFAULT_PROJ_GRP_DESCRIPTION" );
+        goToAddShellProjectPage();
+        addProject( SHELL_NAME, SHELL_DESCRIPTION, SHELL_VERSION, SHELL_SCM_URL, SHELL_SCM_USERNAME,
+                    SHELL_SCM_PASSWORD, SHELL_TAG, false, DEFAULT_PROJ_GRP_NAME, null, false, "shell" );
+        assertTextPresent( "Name contains invalid characters." );
+        assertTextPresent( "Description contains invalid characters." );
+        assertTextPresent( "Version contains invalid characters." );
+        assertTextPresent( "SCM Url contains invalid characters." );
+        assertTextPresent( "SCM Tag contains invalid characters." );
+    }
 
     public void testSubmitEmptyForm()
     {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractBuildAgentsTest.java Tue May 10 22:46:21 2011
@@ -3,6 +3,8 @@ package org.apache.continuum.web.test.pa
 //import org.testng.Assert;
 import org.apache.continuum.web.test.ConfigurationTest;
 
+import java.net.URLEncoder;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -55,8 +57,9 @@ public abstract class AbstractBuildAgent
     }
 
 	public void removeBuildAgent( String agentName )
+        throws Exception
 	{
-        clickLinkWithXPath( "(//a[contains(@href,'deleteBuildAgent.action') and contains(@href, '" + agentName + "')])//img" );
+        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 + " ?" );

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractConfigurationTest.java Tue May 10 22:46:21 2011
@@ -90,4 +90,17 @@ public abstract class AbstractConfigurat
             assertEditConfigurationPage();
         }
     }
+
+    protected void goToAppearancePage()
+    {
+        clickLinkWithText( "Appearance" );
+        assertAppearancePage();
+    }
+
+    protected void assertAppearancePage()
+    {
+        assertPage( "Configure Appearance" );
+        assertTextPresent( "Company Details" );
+        assertTextPresent( "Footer Content" );
+    }
 }

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractNotifierTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractNotifierTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractNotifierTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractNotifierTest.java Tue May 10 22:46:21 2011
@@ -239,8 +239,7 @@ public abstract class AbstractNotifierTe
         clickButtonWithValue( "Save" );
         if ( !isValid )
         {
-            assertTextPresent( "Host is required" );
-            assertTextPresent( "Channel is required" );
+            return;
         }
         else if ( projectName != null )
         {
@@ -301,10 +300,7 @@ public abstract class AbstractNotifierTe
 
         if ( !isValid )
         {
-            assertTextPresent( "Host is required" );
-            assertTextPresent( "Login is required" );
-            assertTextPresent( "Password is required" );
-            assertTextPresent( "Address is required" );
+            return;
         }
         else if ( projectName != null )
         {
@@ -370,9 +366,7 @@ public abstract class AbstractNotifierTe
 
         if ( !isValid )
         {
-            assertTextPresent( "Login is required" );
-            assertTextPresent( "Password is required" );
-            assertTextPresent( "Address is required" );
+            return;
         }
         else if ( projectName != null )
         {
@@ -433,8 +427,7 @@ public abstract class AbstractNotifierTe
 
         if ( !isValid )
         {
-            assertTextPresent( "Destination URL is required" );
-            assertTextPresent( "Server Id is required" );
+            return;
         }
         else if ( projectName != null )
         {

Modified: continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractUserRolesManagementTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractUserRolesManagementTest.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractUserRolesManagementTest.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/parent/AbstractUserRolesManagementTest.java Tue May 10 22:46:21 2011
@@ -76,7 +76,7 @@ public abstract class AbstractUserRolesM
 	{
 		assertPage( "[Admin] User Edit" );
 		assertTextPresent( "[Admin] User Roles" );
-		String userRoles = "Username,Full Name,Email,redback-xwork-integration-core,Redback XWork Integration Security Core,Guest,Registered User,System Administrator,User Administrator,Continuum Group Project Administrator,Continuum Group Project Developer,Continuum Group Project User,Continuum Manage Build Environments,Continuum Manage Build Templates,Continuum Manage Installations,Continuum Manage Local Repositories,Continuum Manage Purging,Continuum Manage Queues,Continuum Manage Scheduling,Project Administrator,Project Developer,Project User,Default Project Group";
+		String userRoles = "Username,Full Name,Email,Guest,Registered User,System Administrator,User Administrator,Continuum Group Project Administrator,Continuum Group Project Developer,Continuum Group Project User,Continuum Manage Build Environments,Continuum Manage Build Templates,Continuum Manage Installations,Continuum Manage Local Repositories,Continuum Manage Purging,Continuum Manage Queues,Continuum Manage Scheduling,Project Administrator,Project Developer,Project User,Default Project Group";
 		String[] arrayUserRoles = userRoles.split( "," );
 			for ( String userroles : arrayUserRoles )
 				assertTextPresent( userroles );

Modified: continuum/branches/continuum-1.3.x/continuum-webapp/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/pom.xml?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp/pom.xml (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp/pom.xml Tue May 10 22:46:21 2011
@@ -670,6 +670,10 @@ under the License.
       <artifactId>mail</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jsoup</groupId>
+      <artifactId>jsoup</artifactId>
+    </dependency>
   </dependencies>
   <profiles>
     <profile>

Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/ScmResultAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/ScmResultAction.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/ScmResultAction.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/ScmResultAction.java Tue May 10 22:46:21 2011
@@ -5,7 +5,6 @@ import org.apache.maven.continuum.Contin
 import org.apache.maven.continuum.web.action.ContinuumActionSupport;
 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.continuum.web.util.StateGenerator;
-import org.codehaus.plexus.util.StringUtils;
 
 import org.apache.struts2.ServletActionContext;
 
@@ -78,11 +77,8 @@ public class ScmResultAction
    public String getProjectGroupName()
        throws ContinuumException
     {
-       if ( StringUtils.isEmpty( projectGroupName ) )
-       {
-           projectGroupName = getContinuum().getProjectGroup( getProjectGroupId() ).getName();
-       }
-    
+       projectGroupName = getContinuum().getProjectGroup( getProjectGroupId() ).getName();
+
        return projectGroupName;
     }
    

Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/BuildAgentAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/BuildAgentAction.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/BuildAgentAction.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/BuildAgentAction.java Tue May 10 22:46:21 2011
@@ -19,9 +19,9 @@ package org.apache.continuum.web.action.
  * under the License.
  */
 
+import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.continuum.configuration.BuildAgentConfiguration;
 import org.apache.continuum.configuration.BuildAgentGroupConfiguration;
-import org.apache.continuum.builder.distributed.manager.DistributedBuildManager;
 import org.apache.continuum.web.util.AuditLog;
 import org.apache.continuum.web.util.AuditLogConstants;
 import org.apache.maven.continuum.ContinuumException;
@@ -41,7 +41,6 @@ import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -88,11 +87,14 @@ public class BuildAgentAction
     {
         if ( buildAgent != null && !StringUtils.isBlank( buildAgent.getUrl() ) )
         {
+            String escapedBuildAgentUrl = StringEscapeUtils.escapeXml( buildAgent.getUrl() );
+            buildAgent.setUrl( escapedBuildAgentUrl );
+
             List<BuildAgentConfiguration> agents = getContinuum().getConfiguration().getBuildAgents();
 
             for ( BuildAgentConfiguration agent : agents )
             {
-                if ( agent.getUrl().equals( buildAgent.getUrl() ) )
+                if ( agent.getUrl().equals( escapedBuildAgentUrl ) )
                 {
                     buildAgent = agent;
                     type = "edit";
@@ -128,22 +130,28 @@ public class BuildAgentAction
     {
         ConfigurationService configuration = getContinuum().getConfiguration();
 
-        for ( BuildAgentConfiguration agent : configuration.getBuildAgents() )
+        if ( buildAgent != null )
         {
-            if ( agent.getUrl().equals( buildAgent.getUrl() ) )
-            {
-                buildAgent = agent;
+            String escapedBuildAgentUrl = StringEscapeUtils.escapeXml( buildAgent.getUrl() );
+            buildAgent.setUrl( escapedBuildAgentUrl );
 
-                try
-                {
-                    installations = getContinuum().getDistributedBuildManager().getAvailableInstallations( buildAgent.getUrl() );
-                }
-                catch ( ContinuumException e )
+            for ( BuildAgentConfiguration agent : configuration.getBuildAgents() )
+            {
+                if ( agent.getUrl().equals( escapedBuildAgentUrl ) )
                 {
-                    logger.error( "Unable to retrieve installations of build agent '" + agent.getUrl() + "'", e );
+                    buildAgent = agent;
+    
+                    try
+                    {
+                        installations = getContinuum().getDistributedBuildManager().getAvailableInstallations( escapedBuildAgentUrl );
+                    }
+                    catch ( ContinuumException e )
+                    {
+                        logger.error( "Unable to retrieve installations of build agent '" + agent.getUrl() + "'", e );
+                    }
+    
+                    break;
                 }
-
-                break;
             }
         }
 
@@ -157,11 +165,14 @@ public class BuildAgentAction
 
         ConfigurationService configuration = getContinuum().getConfiguration();
 
+        // escape xml to prevent xss attacks
+        buildAgent.setDescription( StringEscapeUtils.escapeXml( StringEscapeUtils.unescapeXml( buildAgent.getDescription() ) ) );
+
         if ( configuration.getBuildAgents() != null )
         {
             for ( BuildAgentConfiguration agent : configuration.getBuildAgents() )
             {
-                if ( buildAgent.getUrl().equals( agent.getUrl() ) )
+                if ( agent.getUrl().equals( buildAgent.getUrl() ) )
                 {
                     agent.setDescription( buildAgent.getDescription() );
                     agent.setEnabled( buildAgent.isEnabled() );
@@ -201,6 +212,8 @@ public class BuildAgentAction
     public String delete()
         throws Exception
     {
+        buildAgent.setUrl( StringEscapeUtils.escapeXml( StringEscapeUtils.unescapeXml( buildAgent.getUrl() ) ) );
+
         if ( !confirmed )
         {
             return CONFIRM;
@@ -255,6 +268,8 @@ public class BuildAgentAction
     public String deleteGroup()
         throws Exception
     {
+        buildAgentGroup.setName( StringEscapeUtils.escapeXml( buildAgentGroup.getName() ) );
+
         if ( !confirmed )
         {
             return CONFIRM;
@@ -365,16 +380,19 @@ public class BuildAgentAction
 
         if ( buildAgentGroup != null && !StringUtils.isBlank( buildAgentGroup.getName() ) )
         {
+            String escapedBuildAgentGroupName = StringEscapeUtils.escapeXml( buildAgentGroup.getName() );
+            buildAgentGroup.setName( escapedBuildAgentGroupName );
+
             List<BuildAgentGroupConfiguration> agentGroups = configuration.getBuildAgentGroups();
 
             for ( BuildAgentGroupConfiguration group : agentGroups )
             {
-                if ( buildAgentGroup.getName().equals( group.getName() ) )
+                if ( group.getName().equals( escapedBuildAgentGroupName ) )
                 {
                     buildAgentGroup = group;
                     typeGroup = "edit";
 
-                    this.buildAgentGroup = configuration.getBuildAgentGroup( buildAgentGroup.getName() );
+                    this.buildAgentGroup = configuration.getBuildAgentGroup( escapedBuildAgentGroupName );
                     this.buildAgents = configuration.getBuildAgents();
 
                     this.selectedBuildAgentIds = new ArrayList<String>();

Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/LocalRepositoryAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/LocalRepositoryAction.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/LocalRepositoryAction.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/LocalRepositoryAction.java Tue May 10 22:46:21 2011
@@ -35,7 +35,6 @@ import org.apache.continuum.web.util.Aud
 import org.apache.maven.continuum.model.project.ProjectGroup;
 import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.web.action.ContinuumConfirmAction;
-import org.apache.struts2.ServletActionContext;
 import org.codehaus.plexus.redback.rbac.Resource;
 import org.codehaus.redback.integration.interceptor.SecureAction;
 import org.codehaus.redback.integration.interceptor.SecureActionBundle;

Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/PurgeConfigurationAction.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/PurgeConfigurationAction.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/PurgeConfigurationAction.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/action/admin/PurgeConfigurationAction.java Tue May 10 22:46:21 2011
@@ -27,6 +27,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.continuum.model.repository.AbstractPurgeConfiguration;
 import org.apache.continuum.model.repository.DirectoryPurgeConfiguration;
 import org.apache.continuum.model.repository.LocalRepository;
@@ -35,12 +36,10 @@ import org.apache.continuum.purge.Contin
 import org.apache.continuum.purge.PurgeConfigurationService;
 import org.apache.continuum.repository.RepositoryService;
 import org.apache.continuum.taskqueue.manager.TaskQueueManager;
-import org.apache.maven.continuum.build.settings.SchedulesActivationException;
 import org.apache.maven.continuum.configuration.ConfigurationService;
 import org.apache.maven.continuum.model.project.Schedule;
 import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.web.action.ContinuumConfirmAction;
-import org.apache.maven.continuum.web.action.ScheduleAction;
 import org.apache.struts2.ServletActionContext;
 import org.codehaus.plexus.redback.rbac.Resource;
 import org.codehaus.redback.integration.interceptor.SecureAction;
@@ -547,7 +546,8 @@ public class PurgeConfigurationAction
         repoPurge.setRetentionCount( this.retentionCount );
         repoPurge.setEnabled( this.enabled );
         repoPurge.setDefaultPurge( this.defaultPurgeConfiguration );
-        repoPurge.setDescription( this.description );
+        // escape xml to prevent xss attacks
+        repoPurge.setDescription( StringEscapeUtils.escapeXml( StringEscapeUtils.unescapeXml( this.description ) ) );
         repoPurge.setDefaultPurge( this.defaultPurgeConfiguration );
 
         if ( repositoryId != 0 )
@@ -573,7 +573,8 @@ public class PurgeConfigurationAction
         dirPurge.setEnabled( this.enabled );
         dirPurge.setDaysOlder( this.daysOlder );
         dirPurge.setRetentionCount( this.retentionCount );
-        dirPurge.setDescription( this.description );
+        // escape xml to prevent xss attacks
+        dirPurge.setDescription( StringEscapeUtils.escapeXml( StringEscapeUtils.unescapeXml( this.description ) ) );
         dirPurge.setDirectoryType( this.directoryType );
         dirPurge.setDefaultPurge( this.defaultPurgeConfiguration );
 

Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/util/GenerateRecipentNotifier.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/util/GenerateRecipentNotifier.java?rev=1101669&r1=1101668&r2=1101669&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/util/GenerateRecipentNotifier.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/continuum/web/util/GenerateRecipentNotifier.java Tue May 10 22:46:21 2011
@@ -2,6 +2,7 @@ package org.apache.continuum.web.util;
 
 import java.util.Map;
 
+import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.maven.continuum.model.project.ProjectNotifier;
 import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
 import org.codehaus.plexus.util.StringUtils;
@@ -76,6 +77,7 @@ public final class GenerateRecipentNotif
         {
             recipent = configuration.get( "url" );
         }
-        return recipent;
+        // escape the characters, it may contain characters possible for an XSS attack
+        return StringEscapeUtils.escapeXml( recipent );
     }
 }