You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by oc...@apache.org on 2010/05/06 11:23:34 UTC

svn commit: r941625 [17/24] - in /continuum/branches/continuum-flat-multi-module: ./ continuum-api/ continuum-api/src/main/java/org/apache/continuum/builder/distributed/ continuum-api/src/main/java/org/apache/continuum/builder/distributed/manager/ cont...

Modified: continuum/branches/continuum-flat-multi-module/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java Thu May  6 09:23:13 2010
@@ -22,6 +22,7 @@ package org.apache.maven.continuum.store
 import org.apache.continuum.dao.BuildDefinitionDao;
 import org.apache.continuum.dao.BuildDefinitionTemplateDao;
 import org.apache.continuum.dao.BuildResultDao;
+import org.apache.continuum.model.project.ProjectGroupSummary;
 import org.apache.continuum.model.project.ProjectScmRoot;
 import org.apache.continuum.model.release.ContinuumReleaseResult;
 import org.apache.continuum.model.repository.DirectoryPurgeConfiguration;
@@ -42,12 +43,13 @@ import org.apache.maven.continuum.model.
 import org.apache.maven.continuum.model.system.Installation;
 import org.apache.maven.continuum.model.system.Profile;
 
-import javax.jdo.JDODetachedFieldAccessException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+import javax.jdo.JDODetachedFieldAccessException;
 
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -97,20 +99,20 @@ public class ContinuumStoreTest
         assertProjectGroupEquals( defaultProjectGroup, retrievedGroup );
         assertLocalRepositoryEquals( testLocalRepository1, retrievedGroup.getLocalRepository() );
 
-        List projects = retrievedGroup.getProjects();
+        List<Project> projects = retrievedGroup.getProjects();
         assertEquals( "Check number of projects", 2, projects.size() );
         assertTrue( "Check existence of project 1", projects.contains( testProject1 ) );
         assertTrue( "Check existence of project 2", projects.contains( testProject2 ) );
 
         checkProjectGroupDefaultFetchGroup( retrievedGroup );
 
-        Project project = (Project) projects.get( 0 );
+        Project project = projects.get( 0 );
         checkProjectDefaultFetchGroup( project );
         //assertSame( "Check project group reference matches", project.getProjectGroup(), retrievedGroup );
         assertEquals( project.getProjectGroup().getId(), retrievedGroup.getId() );
         assertProjectEquals( testProject1, project );
 
-        project = (Project) projects.get( 1 );
+        project = projects.get( 1 );
         checkProjectDefaultFetchGroup( project );
         //assertSame( "Check project group reference matches", project.getProjectGroup(), retrievedGroup );
         assertEquals( project.getProjectGroup().getId(), retrievedGroup.getId() );
@@ -171,16 +173,15 @@ public class ContinuumStoreTest
 
     public void testGetAllProjectGroups()
     {
-        Collection groups = projectGroupDao.getAllProjectGroupsWithProjects();
+        Collection<ProjectGroup> groups = projectGroupDao.getAllProjectGroupsWithProjects();
 
         assertEquals( "check size", 2, groups.size() );
         assertTrue( groups.contains( defaultProjectGroup ) );
         assertTrue( groups.contains( testProjectGroup2 ) );
 
-        for ( Iterator i = groups.iterator(); i.hasNext(); )
+        for ( ProjectGroup group : groups )
         {
-            ProjectGroup group = (ProjectGroup) i.next();
-            List projects = group.getProjects();
+            List<Project> projects = group.getProjects();
             if ( group.getId() == testProjectGroup2.getId() )
             {
                 assertProjectGroupEquals( testProjectGroup2, group );
@@ -197,7 +198,7 @@ public class ContinuumStoreTest
 
                 checkProjectGroupDefaultFetchGroup( group );
 
-                Project p = (Project) projects.get( 0 );
+                Project p = projects.get( 0 );
                 checkProjectDefaultFetchGroup( p );
                 assertSame( "Check project group reference matches", p.getProjectGroup(), group );
             }
@@ -288,10 +289,10 @@ public class ContinuumStoreTest
 
     public void testGetAllProjects()
     {
-        List projects = projectDao.getAllProjectsByName();
-        assertEquals( "check items", Arrays.asList( new Project[]{testProject1, testProject2} ), projects );
+        List<Project> projects = projectDao.getAllProjectsByName();
+        assertEquals( "check items", Arrays.asList( testProject1, testProject2 ), projects );
 
-        Project project = (Project) projects.get( 1 );
+        Project project = projects.get( 1 );
         assertProjectEquals( testProject2, project );
         checkProjectDefaultFetchGroup( project );
         assertNotNull( "Check project group reference matches", project.getProjectGroup() );
@@ -309,43 +310,43 @@ public class ContinuumStoreTest
         scheduleDao.addSchedule( newSchedule );
         copy.setId( newSchedule.getId() );
 
-        List schedules = scheduleDao.getAllSchedulesByName();
-        Schedule retrievedSchedule = (Schedule) schedules.get( schedules.size() - 1 );
+        List<Schedule> schedules = scheduleDao.getAllSchedulesByName();
+        Schedule retrievedSchedule = schedules.get( schedules.size() - 1 );
         assertScheduleEquals( copy, retrievedSchedule );
         assertEquals( "check size of build queues", 1, retrievedSchedule.getBuildQueues().size() );
-        assertBuildQueueEquals( buildQueue, (BuildQueue) retrievedSchedule.getBuildQueues().get( 0 ) );
+        assertBuildQueueEquals( buildQueue, retrievedSchedule.getBuildQueues().get( 0 ) );
     }
 
     public void testEditSchedule()
         throws ContinuumStoreException
     {
-        Schedule newSchedule = (Schedule) scheduleDao.getAllSchedulesByName().get( 0 );
+        Schedule newSchedule = scheduleDao.getAllSchedulesByName().get( 0 );
         newSchedule.setName( "name1.1" );
         newSchedule.setDescription( "testEditSchedule updated description" );
 
         assertEquals( "check size of build queues", 2, newSchedule.getBuildQueues().size() );
-        BuildQueue buildQueue1 = (BuildQueue)newSchedule.getBuildQueues().get( 0 );
-        BuildQueue buildQueue2 = (BuildQueue)newSchedule.getBuildQueues().get( 1 );
+        BuildQueue buildQueue1 = newSchedule.getBuildQueues().get( 0 );
+        BuildQueue buildQueue2 = newSchedule.getBuildQueues().get( 1 );
 
         Schedule copy = createTestSchedule( newSchedule );
         copy.setId( newSchedule.getId() );
         scheduleDao.updateSchedule( newSchedule );
 
-        Schedule retrievedSchedule = (Schedule) scheduleDao.getAllSchedulesByName().get( 0 );
+        Schedule retrievedSchedule = scheduleDao.getAllSchedulesByName().get( 0 );
         assertScheduleEquals( copy, retrievedSchedule );
-        assertBuildQueueEquals( buildQueue1, (BuildQueue) retrievedSchedule.getBuildQueues().get( 0 ) );
-        assertBuildQueueEquals( buildQueue2, (BuildQueue) retrievedSchedule.getBuildQueues().get( 1 ) );
+        assertBuildQueueEquals( buildQueue1, retrievedSchedule.getBuildQueues().get( 0 ) );
+        assertBuildQueueEquals( buildQueue2, retrievedSchedule.getBuildQueues().get( 1 ) );
     }
 
     public void testRemoveSchedule()
     {
-        Schedule schedule = (Schedule) scheduleDao.getAllSchedulesByName().get( 2 );
+        Schedule schedule = scheduleDao.getAllSchedulesByName().get( 2 );
 
         // TODO: test if it has any attachments
         assertEquals( "check size of build queues", 0, schedule.getBuildQueues().size() );
         scheduleDao.removeSchedule( schedule );
 
-        List schedules = scheduleDao.getAllSchedulesByName();
+        List<Schedule> schedules = scheduleDao.getAllSchedulesByName();
         assertEquals( "check size", 2, schedules.size() );
         assertFalse( "check not there", schedules.contains( schedule ) );
     }
@@ -353,7 +354,7 @@ public class ContinuumStoreTest
     public void testGetAllSchedules()
         throws ContinuumStoreException
     {
-        List schedules = scheduleDao.getAllSchedulesByName();
+        List<Schedule> schedules = scheduleDao.getAllSchedulesByName();
         List<BuildQueue> buildQueues = buildQueueDao.getAllBuildQueues();
 
         assertEquals( "check item count", 3, schedules.size() );
@@ -364,19 +365,19 @@ public class ContinuumStoreTest
         BuildQueue buildQueue3 = buildQueues.get( 2 );
 
         // check equality and order
-        Schedule schedule = (Schedule) schedules.get( 0 );
+        Schedule schedule = schedules.get( 0 );
         assertScheduleEquals( testSchedule1, schedule );
         assertEquals( "check size of buildQueues", 2, schedule.getBuildQueues().size() );
-        assertBuildQueueEquals( buildQueue1, (BuildQueue) schedule.getBuildQueues().get( 0 ) );
-        assertBuildQueueEquals( buildQueue2, (BuildQueue) schedule.getBuildQueues().get( 1 ) );
+        assertBuildQueueEquals( buildQueue1, schedule.getBuildQueues().get( 0 ) );
+        assertBuildQueueEquals( buildQueue2, schedule.getBuildQueues().get( 1 ) );
         
-        schedule = (Schedule) schedules.get( 1 );
+        schedule = schedules.get( 1 );
         assertScheduleEquals( testSchedule2, schedule );
         assertEquals( "check size of buildQueues", 2, schedule.getBuildQueues().size() );
-        assertBuildQueueEquals( buildQueue2, (BuildQueue) schedule.getBuildQueues().get( 0 ) );
-        assertBuildQueueEquals( buildQueue3, (BuildQueue) schedule.getBuildQueues().get( 1 ) );
+        assertBuildQueueEquals( buildQueue2, schedule.getBuildQueues().get( 0 ) );
+        assertBuildQueueEquals( buildQueue3, schedule.getBuildQueues().get( 1 ) );
 
-        schedule = (Schedule) schedules.get( 2 );
+        schedule = schedules.get( 2 );
         assertScheduleEquals( testSchedule3, schedule );
         assertEquals( "check size of buildQueues", 0, schedule.getBuildQueues().size() );
     }
@@ -384,16 +385,15 @@ public class ContinuumStoreTest
     public void testAddProfile()
         throws Exception
     {
-        List installations = installationDao.getAllInstallations();
+        List<Installation> installations = installationDao.getAllInstallations();
         Profile newProfile = createTestProfile( "testAddProfile", "testAddProfile desc", 5, false, false,
-                                                (Installation) installations.get( 1 ), (Installation) installations
-            .get( 2 ) );
+                                                installations.get( 1 ), installations.get( 2 ) );
         Profile copy = createTestProfile( newProfile );
         profileDao.addProfile( newProfile );
         copy.setId( newProfile.getId() );
 
-        List profiles = profileDao.getAllProfilesByName();
-        Profile retrievedProfile = (Profile) profiles.get( profiles.size() - 1 );
+        List<Profile> profiles = profileDao.getAllProfilesByName();
+        Profile retrievedProfile = profiles.get( profiles.size() - 1 );
         assertProfileEquals( copy, retrievedProfile );
         assertInstallationEquals( testInstallationMaven20a3, retrievedProfile.getBuilder() );
         assertInstallationEquals( testInstallationJava14, retrievedProfile.getJdk() );
@@ -402,7 +402,7 @@ public class ContinuumStoreTest
     public void testEditProfile()
         throws ContinuumStoreException
     {
-        Profile newProfile = (Profile) profileDao.getAllProfilesByName().get( 0 );
+        Profile newProfile = profileDao.getAllProfilesByName().get( 0 );
         newProfile.setName( "name1.1" );
         newProfile.setDescription( "testEditProfile updated description" );
 
@@ -410,7 +410,7 @@ public class ContinuumStoreTest
         copy.setId( newProfile.getId() );
         profileDao.updateProfile( newProfile );
 
-        Profile retrievedProfile = (Profile) profileDao.getAllProfilesByName().get( 0 );
+        Profile retrievedProfile = profileDao.getAllProfilesByName().get( 0 );
         assertProfileEquals( copy, retrievedProfile );
         assertInstallationEquals( copy.getBuilder(), retrievedProfile.getBuilder() );
         assertInstallationEquals( copy.getJdk(), retrievedProfile.getJdk() );
@@ -419,43 +419,43 @@ public class ContinuumStoreTest
 
     public void testRemoveProfile()
     {
-        Profile profile = (Profile) profileDao.getAllProfilesByName().get( 2 );
+        Profile profile = profileDao.getAllProfilesByName().get( 2 );
 
         // TODO: test if it has any attachments
 
         profileDao.removeProfile( profile );
 
-        List profiles = profileDao.getAllProfilesByName();
+        List<Profile> profiles = profileDao.getAllProfilesByName();
         assertEquals( "check size", 3, profiles.size() );
         assertFalse( "check not there", profiles.contains( profile ) );
     }
 
     public void testGetAllProfiles()
     {
-        List profiles = profileDao.getAllProfilesByName();
+        List<Profile> profiles = profileDao.getAllProfilesByName();
 
         assertEquals( "check item count", 4, profiles.size() );
 
         // check equality and order
-        Profile profile = (Profile) profiles.get( 0 );
+        Profile profile = profiles.get( 0 );
         assertProfileEquals( testProfile1, profile );
         assertInstallationEquals( testProfile1.getBuilder(), profile.getBuilder() );
         assertInstallationEquals( testProfile1.getJdk(), profile.getJdk() );
-        profile = (Profile) profiles.get( 1 );
+        profile = profiles.get( 1 );
         assertProfileEquals( testProfile2, profile );
         assertInstallationEquals( testProfile2.getBuilder(), profile.getBuilder() );
         assertInstallationEquals( testProfile2.getJdk(), profile.getJdk() );
-        profile = (Profile) profiles.get( 2 );
+        profile = profiles.get( 2 );
         assertProfileEquals( testProfile3, profile );
         assertInstallationEquals( testProfile3.getBuilder(), profile.getBuilder() );
         assertInstallationEquals( testProfile3.getJdk(), profile.getJdk() );
-        profile = (Profile) profiles.get( 3 );
+        profile = profiles.get( 3 );
         assertProfileEquals( testProfile4, profile );
         assertInstallationEquals( testProfile4.getBuilder(), profile.getBuilder() );
         assertInstallationEquals( testProfile4.getJdk(), profile.getJdk() );
         assertEquals( "check env var count", 1, profile.getEnvironmentVariables().size() );
-        assertInstallationEquals( (Installation) testProfile4.getEnvironmentVariables().get( 0 ), 
-                                  (Installation) profile.getEnvironmentVariables().get( 0 ) );
+        assertInstallationEquals( testProfile4.getEnvironmentVariables().get( 0 ),
+                                  profile.getEnvironmentVariables().get( 0 ) );
     }
 
     /*
@@ -469,18 +469,18 @@ public class ContinuumStoreTest
     public void testGetAllInstallations()
         throws Exception
     {
-        List installations = installationDao.getAllInstallations();
+        List<Installation> installations = installationDao.getAllInstallations();
 
         assertEquals( "check item count", 4, installations.size() );
 
         // check equality and order
-        Installation installation = (Installation) installations.get( 0 );
+        Installation installation = installations.get( 0 );
         assertInstallationEquals( testInstallationJava13, installation );
-        installation = (Installation) installations.get( 1 );
+        installation = installations.get( 1 );
         assertInstallationEquals( testInstallationJava14, installation );
-        installation = (Installation) installations.get( 2 );
+        installation = installations.get( 2 );
         assertInstallationEquals( testInstallationMaven20a3, installation );
-        installation = (Installation) installations.get( 3 );
+        installation = installations.get( 3 );
         assertInstallationEquals( testInstallationEnvVar, installation );
     }
 
@@ -610,14 +610,14 @@ public class ContinuumStoreTest
         assertNull( firstGetted.getJdk() );
         assertNull( firstGetted.getBuilder() );
         assertEquals( 1, firstGetted.getEnvironmentVariables().size() );
-        Installation env = (Installation) firstGetted.getEnvironmentVariables().get( 0 );
+        Installation env = firstGetted.getEnvironmentVariables().get( 0 );
         assertEquals( nameSecondEnvVar, env.getName() );
 
         assertNotNull( secondGetted );
         assertNull( secondGetted.getJdk() );
         assertNull( secondGetted.getBuilder() );
         assertEquals( 1, secondGetted.getEnvironmentVariables().size() );
-        env = (Installation) secondGetted.getEnvironmentVariables().get( 0 );
+        env = secondGetted.getEnvironmentVariables().get( 0 );
         assertEquals( nameSecondEnvVar, env.getName() );
 
         // removing secondEnvVar
@@ -644,7 +644,7 @@ public class ContinuumStoreTest
 
         ProjectGroup projectGroup = projectGroupDao.getProjectGroupWithProjects( defaultProjectGroup.getId() );
         assertEquals( "check size is now 1", 1, projectGroup.getProjects().size() );
-        assertProjectEquals( testProject2, (Project) projectGroup.getProjects().get( 0 ) );
+        assertProjectEquals( testProject2, projectGroup.getProjects().get( 0 ) );
 
         confirmProjectDeletion( testProject1 );
     }
@@ -675,9 +675,9 @@ public class ContinuumStoreTest
     {
         Project project = projectDao.getProjectWithBuilds( testProject1.getId() );
 
-        for ( Iterator i = project.getBuildResults().iterator(); i.hasNext(); )
+        for ( Iterator<BuildResult> i = project.getBuildResults().iterator(); i.hasNext(); )
         {
-            BuildResult result = (BuildResult) i.next();
+            BuildResult result = i.next();
             if ( result.getId() == testBuildResult1.getId() )
             {
                 i.remove();
@@ -687,11 +687,11 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithBuilds( testProject1.getId() );
         assertEquals( "check size is now 1", 1, project.getBuildResults().size() );
-        assertBuildResultEquals( testBuildResult2, (BuildResult) project.getBuildResults().get( 0 ) );
+        assertBuildResultEquals( testBuildResult2, project.getBuildResults().get( 0 ) );
 
-        List results = buildResultDao.getAllBuildsForAProjectByDate( testProject1.getId() );
+        List<BuildResult> results = buildResultDao.getAllBuildsForAProjectByDate( testProject1.getId() );
         assertEquals( "check item count", 1, results.size() );
-        assertBuildResultEquals( testBuildResult2, (BuildResult) results.get( 0 ) );
+        assertBuildResultEquals( testBuildResult2, results.get( 0 ) );
 
         // !! These actually aren't happening !!
         // TODO: test the build result was physically deleted
@@ -715,16 +715,16 @@ public class ContinuumStoreTest
 
     public void testGetAllBuildsForAProject()
     {
-        List results = buildResultDao.getAllBuildsForAProjectByDate( testProject1.getId() );
+        List<BuildResult> results = buildResultDao.getAllBuildsForAProjectByDate( testProject1.getId() );
 
         assertEquals( "check item count", 2, results.size() );
 
         // check equality and order
-        BuildResult buildResult = (BuildResult) results.get( 0 );
+        BuildResult buildResult = results.get( 0 );
         assertBuildResultEquals( testBuildResult2, buildResult );
         assertProjectEquals( testProject1, buildResult.getProject() );
         //checkBuildResultDefaultFetchGroup( buildResult );
-        buildResult = (BuildResult) results.get( 1 );
+        buildResult = results.get( 1 );
         assertBuildResultEquals( testBuildResult1, buildResult );
         assertProjectEquals( testProject1, buildResult.getProject() );
         //checkBuildResultDefaultFetchGroup( buildResult );
@@ -750,10 +750,10 @@ public class ContinuumStoreTest
         assertNotifiersEqual( defaultProjectGroup.getNotifiers(), retrievedGroup.getNotifiers() );
         assertBuildDefinitionsEqual( retrievedGroup.getBuildDefinitions(), defaultProjectGroup.getBuildDefinitions() );
 
-        List projects = retrievedGroup.getProjects();
+        List<Project> projects = retrievedGroup.getProjects();
         assertEquals( "Check number of projects", 2, projects.size() );
 
-        Project project = (Project) projects.get( 0 );
+        Project project = projects.get( 0 );
         checkProjectFetchGroup( project, false, false, true, false );
         //assertSame( "Check project group reference matches", project.getProjectGroup(), retrievedGroup );
         assertEquals( project.getProjectGroup().getId(), retrievedGroup.getId() );
@@ -761,7 +761,7 @@ public class ContinuumStoreTest
         assertNotifiersEqual( testProject1.getNotifiers(), project.getNotifiers() );
         assertBuildDefinitionsEqual( project.getBuildDefinitions(), testProject1.getBuildDefinitions() );
 
-        project = (Project) projects.get( 1 );
+        project = projects.get( 1 );
         checkProjectFetchGroup( project, false, false, true, false );
         //assertSame( "Check project group reference matches", project.getProjectGroup(), retrievedGroup );
         assertEquals( project.getProjectGroup().getId(), retrievedGroup.getId() );
@@ -772,27 +772,27 @@ public class ContinuumStoreTest
 
     public void testGetAllProjectsGroupWithDetails()
     {
-        List projectGroups = projectGroupDao.getAllProjectGroupsWithBuildDetails();
-        ProjectGroup group1 = (ProjectGroup) projectGroups.get( 0 );
+        List<ProjectGroup> projectGroups = projectGroupDao.getAllProjectGroupsWithBuildDetails();
+        ProjectGroup group1 = projectGroups.get( 0 );
         assertProjectGroupEquals( defaultProjectGroup, group1 );
         assertNotifiersEqual( defaultProjectGroup.getNotifiers(), group1.getNotifiers() );
         assertBuildDefinitionsEqual( group1.getBuildDefinitions(), defaultProjectGroup.getBuildDefinitions() );
-        ProjectGroup group2 = (ProjectGroup) projectGroups.get( 1 );
+        ProjectGroup group2 = projectGroups.get( 1 );
         assertProjectGroupEquals( testProjectGroup2, group2 );
         assertNotifiersEqual( testProjectGroup2.getNotifiers(), group2.getNotifiers() );
         assertBuildDefinitionsEqual( group2.getBuildDefinitions(), testProjectGroup2.getBuildDefinitions() );
 
-        List projects = group1.getProjects();
+        List<Project> projects = group1.getProjects();
         assertEquals( "Check number of projects", 2, projects.size() );
 
-        Project project = (Project) projects.get( 0 );
+        Project project = projects.get( 0 );
         checkProjectFetchGroup( project, false, false, true, false );
         assertSame( "Check project group reference matches", project.getProjectGroup(), group1 );
         assertProjectEquals( testProject1, project );
         assertNotifiersEqual( testProject1.getNotifiers(), project.getNotifiers() );
         assertBuildDefinitionsEqual( project.getBuildDefinitions(), testProject1.getBuildDefinitions() );
 
-        project = (Project) projects.get( 1 );
+        project = projects.get( 1 );
         checkProjectFetchGroup( project, false, false, true, false );
         assertSame( "Check project group reference matches", project.getProjectGroup(), group1 );
         assertProjectEquals( testProject2, project );
@@ -815,7 +815,7 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # devs", 2, project.getDevelopers().size() );
-        assertDeveloperEquals( copy, (ProjectDeveloper) project.getDevelopers().get( 1 ) );
+        assertDeveloperEquals( copy, project.getDevelopers().get( 1 ) );
     }
 
     public void testEditDeveloper()
@@ -823,7 +823,7 @@ public class ContinuumStoreTest
     {
         Project project = projectDao.getProjectWithAllDetails( testProject1.getId() );
 
-        ProjectDeveloper newDeveloper = (ProjectDeveloper) project.getDevelopers().get( 0 );
+        ProjectDeveloper newDeveloper = project.getDevelopers().get( 0 );
         newDeveloper.setName( "name1.1" );
         newDeveloper.setEmail( "email1.1" );
 
@@ -832,7 +832,7 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # devs", 1, project.getDevelopers().size() );
-        assertDeveloperEquals( copy, (ProjectDeveloper) project.getDevelopers().get( 0 ) );
+        assertDeveloperEquals( copy, project.getDevelopers().get( 0 ) );
     }
 
     public void testDeleteDeveloper()
@@ -861,7 +861,7 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # deps", 3, project.getDependencies().size() );
-        assertDependencyEquals( copy, (ProjectDependency) project.getDependencies().get( 2 ) );
+        assertDependencyEquals( copy, project.getDependencies().get( 2 ) );
     }
 
     public void testEditDependency()
@@ -869,7 +869,7 @@ public class ContinuumStoreTest
     {
         Project project = projectDao.getProjectWithAllDetails( testProject1.getId() );
 
-        ProjectDependency newDependency = (ProjectDependency) project.getDependencies().get( 0 );
+        ProjectDependency newDependency = project.getDependencies().get( 0 );
         newDependency.setGroupId( "groupId1.1" );
         newDependency.setArtifactId( "artifactId1.1" );
 
@@ -878,20 +878,20 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # deps", 2, project.getDependencies().size() );
-        assertDependencyEquals( copy, (ProjectDependency) project.getDependencies().get( 0 ) );
+        assertDependencyEquals( copy, project.getDependencies().get( 0 ) );
     }
 
     public void testDeleteDependency()
         throws ContinuumStoreException
     {
         Project project = projectDao.getProjectWithAllDetails( testProject1.getId() );
-        ProjectDependency dependency = (ProjectDependency) project.getDependencies().get( 1 );
+        ProjectDependency dependency = project.getDependencies().get( 1 );
         project.getDependencies().remove( 0 );
         projectDao.updateProject( project );
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check size is now 1", 1, project.getDependencies().size() );
-        assertDependencyEquals( dependency, (ProjectDependency) project.getDependencies().get( 0 ) );
+        assertDependencyEquals( dependency, project.getDependencies().get( 0 ) );
 
         // !! These actually aren't happening !!
         // TODO: test the dependency was physically deleted
@@ -909,7 +909,7 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # notifiers", 2, project.getNotifiers().size() );
-        assertNotifierEquals( copy, (ProjectNotifier) project.getNotifiers().get( 1 ) );
+        assertNotifierEquals( copy, project.getNotifiers().get( 1 ) );
     }
 
     public void testEditNotifier()
@@ -917,7 +917,7 @@ public class ContinuumStoreTest
     {
         Project project = projectDao.getProjectWithAllDetails( testProject1.getId() );
 
-        ProjectNotifier newNotifier = (ProjectNotifier) project.getNotifiers().get( 0 );
+        ProjectNotifier newNotifier = project.getNotifiers().get( 0 );
         // If we use "type1.1", jpox-rc2 store "type11", weird
         String type = "type11";
         newNotifier.setType( type );
@@ -927,7 +927,7 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # notifiers", 1, project.getNotifiers().size() );
-        assertNotifierEquals( copy, (ProjectNotifier) project.getNotifiers().get( 0 ) );
+        assertNotifierEquals( copy, project.getNotifiers().get( 0 ) );
     }
 
     public void testDeleteNotifier()
@@ -959,7 +959,7 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # build defs", 3, project.getBuildDefinitions().size() );
-        BuildDefinition retrievedBuildDefinition = (BuildDefinition) project.getBuildDefinitions().get( 2 );
+        BuildDefinition retrievedBuildDefinition = project.getBuildDefinitions().get( 2 );
         assertBuildDefinitionEquals( copy, retrievedBuildDefinition );
         assertScheduleEquals( testSchedule1, retrievedBuildDefinition.getSchedule() );
         assertProfileEquals( testProfile1, retrievedBuildDefinition.getProfile() );
@@ -970,7 +970,7 @@ public class ContinuumStoreTest
     {
         Project project = projectDao.getProjectWithAllDetails( testProject1.getId() );
 
-        BuildDefinition newBuildDefinition = (BuildDefinition) project.getBuildDefinitions().get( 0 );
+        BuildDefinition newBuildDefinition = project.getBuildDefinitions().get( 0 );
         newBuildDefinition.setBuildFresh( true );
         new BuildDefinition().setDefaultForProject( true );
         String arguments = "arguments1.1";
@@ -980,7 +980,7 @@ public class ContinuumStoreTest
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check # build defs", 2, project.getBuildDefinitions().size() );
-        BuildDefinition retrievedBuildDefinition = (BuildDefinition) project.getBuildDefinitions().get( 0 );
+        BuildDefinition retrievedBuildDefinition = project.getBuildDefinitions().get( 0 );
         
         assertBuildDefinitionEquals( copy, retrievedBuildDefinition );
         assertScheduleEquals( testSchedule1, retrievedBuildDefinition.getSchedule() );
@@ -991,13 +991,13 @@ public class ContinuumStoreTest
         throws ContinuumStoreException
     {
         Project project = projectDao.getProjectWithAllDetails( testProject1.getId() );
-        BuildDefinition buildDefinition = (BuildDefinition) project.getBuildDefinitions().get( 1 );
+        BuildDefinition buildDefinition = project.getBuildDefinitions().get( 1 );
         project.getBuildDefinitions().remove( 0 );
         projectDao.updateProject( project );
 
         project = projectDao.getProjectWithAllDetails( testProject1.getId() );
         assertEquals( "check size is now 1", 1, project.getBuildDefinitions().size() );
-        BuildDefinition retrievedBuildDefinition = (BuildDefinition) project.getBuildDefinitions().get( 0 );
+        BuildDefinition retrievedBuildDefinition = project.getBuildDefinitions().get( 0 );
         assertBuildDefinitionEquals( buildDefinition, retrievedBuildDefinition );
         assertScheduleEquals( testSchedule2, retrievedBuildDefinition.getSchedule() );
         assertProfileEquals( testProfile2, retrievedBuildDefinition.getProfile() );
@@ -1020,7 +1020,7 @@ public class ContinuumStoreTest
 
         projectGroup = projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
         assertEquals( "check # notifiers", 3, projectGroup.getNotifiers().size() );
-        assertNotifierEquals( copy, (ProjectNotifier) projectGroup.getNotifiers().get( 2 ) );
+        assertNotifierEquals( copy, projectGroup.getNotifiers().get( 2 ) );
     }
 
     public void testEditGroupNotifier()
@@ -1029,7 +1029,7 @@ public class ContinuumStoreTest
         ProjectGroup projectGroup =
             projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
 
-        ProjectNotifier newNotifier = (ProjectNotifier) projectGroup.getNotifiers().get( 0 );
+        ProjectNotifier newNotifier = projectGroup.getNotifiers().get( 0 );
         // If we use "type1.1", jpox-rc2 store "type1", weird
         String type = "type1";
         newNotifier.setType( type );
@@ -1039,7 +1039,7 @@ public class ContinuumStoreTest
 
         projectGroup = projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
         assertEquals( "check # notifiers", 2, projectGroup.getNotifiers().size() );
-        assertNotifierEquals( copy, (ProjectNotifier) projectGroup.getNotifiers().get( 0 ) );
+        assertNotifierEquals( copy, projectGroup.getNotifiers().get( 0 ) );
     }
 
     public void testDeleteGroupNotifier()
@@ -1047,13 +1047,13 @@ public class ContinuumStoreTest
     {
         ProjectGroup projectGroup =
             projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
-        ProjectNotifier notifier = (ProjectNotifier) projectGroup.getNotifiers().get( 1 );
+        ProjectNotifier notifier = projectGroup.getNotifiers().get( 1 );
         projectGroup.getNotifiers().remove( 0 );
         projectGroupDao.updateProjectGroup( projectGroup );
 
         projectGroup = projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
         assertEquals( "check size is now 1", 1, projectGroup.getNotifiers().size() );
-        assertNotifierEquals( notifier, (ProjectNotifier) projectGroup.getNotifiers().get( 0 ) );
+        assertNotifierEquals( notifier, projectGroup.getNotifiers().get( 0 ) );
 
         // !! These actually aren't happening !!
         // TODO: test the notifier was physically deleted
@@ -1075,7 +1075,7 @@ public class ContinuumStoreTest
 
         projectGroup = projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
         assertEquals( "check # build defs", 2, projectGroup.getBuildDefinitions().size() );
-        BuildDefinition retrievedBuildDefinition = (BuildDefinition) projectGroup.getBuildDefinitions().get( 1 );
+        BuildDefinition retrievedBuildDefinition = projectGroup.getBuildDefinitions().get( 1 );
         assertBuildDefinitionEquals( copy, retrievedBuildDefinition );
         assertScheduleEquals( testSchedule1, retrievedBuildDefinition.getSchedule() );
         assertProfileEquals( testProfile1, retrievedBuildDefinition.getProfile() );
@@ -1087,7 +1087,7 @@ public class ContinuumStoreTest
         ProjectGroup projectGroup =
             projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
 
-        BuildDefinition newBuildDefinition = (BuildDefinition) projectGroup.getBuildDefinitions().get( 0 );
+        BuildDefinition newBuildDefinition = projectGroup.getBuildDefinitions().get( 0 );
 
         // If we use "arguments1.1", jpox-rc2 store "arguments11", weird
         String arguments = "arguments1";
@@ -1098,7 +1098,7 @@ public class ContinuumStoreTest
 
         projectGroup = projectGroupDao.getProjectGroupWithBuildDetailsByProjectGroupId( defaultProjectGroup.getId() );
         assertEquals( "check # build defs", 1, projectGroup.getBuildDefinitions().size() );
-        BuildDefinition retrievedBuildDefinition = (BuildDefinition) projectGroup.getBuildDefinitions().get( 0 );
+        BuildDefinition retrievedBuildDefinition = projectGroup.getBuildDefinitions().get( 0 );
         assertBuildDefinitionEquals( copy, retrievedBuildDefinition );
         assertScheduleEquals( testSchedule2, retrievedBuildDefinition.getSchedule() );
         assertProfileEquals( testProfile1, retrievedBuildDefinition.getProfile() );
@@ -1181,7 +1181,6 @@ public class ContinuumStoreTest
         assertLocalRepositoryEquals( testLocalRepository2, projectGroup.getLocalRepository() );
         projectGroup.setLocalRepository( null );
 
-        ProjectGroup copy = createTestProjectGroup( projectGroup );
         projectGroupDao.updateProjectGroup( projectGroup );
 
         projectGroup = projectGroupDao.getProjectGroup( testProjectGroup2.getId() );
@@ -1354,6 +1353,52 @@ public class ContinuumStoreTest
         releaseResults = releaseResultDao.getAllContinuumReleaseResults();
         assertEquals( "check size of continuum release results", 1, releaseResults.size() );
     }
+
+	public void testGetProjectSummaryByProjectGroup()
+	    throws Exception
+	{
+	    List<Project> projects = projectDao.getProjectsInGroup( defaultProjectGroup.getId() );
+	    assertEquals( 2, projects.size() );
+
+	    Project project = projects.get( 0 );
+	    project.setState( 2 );
+	    projectDao.updateProject( project );
+
+	    project = projects.get( 1 );
+	    project.setState( 2 );
+	    projectDao.updateProject( project );
+
+	    ProjectGroup newGroup = projectGroupDao.getProjectGroupWithProjects( testProjectGroup2.getId() );
+	    Project project1 = createTestProject( testProject1 );
+	    project1.setState( 4 );
+	    newGroup.addProject( project1 );
+
+	    Project project2 = createTestProject( testProject2 );
+	    project2.setState( 1 );
+	    newGroup.addProject( project2 );
+	    projectGroupDao.updateProjectGroup( newGroup );
+
+	    Map<Integer, ProjectGroupSummary> summaries = projectDao.getProjectsSummary();
+
+	    assertNotNull( summaries );
+	    assertEquals( "check size of project summaries", 2, summaries.size() );
+
+	    ProjectGroupSummary summary = summaries.get( testProjectGroup2.getId() );
+	    assertEquals( "check id of project group", testProjectGroup2.getId(), summary.getProjectGroupId() );
+	    assertEquals( "check number of errors", 1, summary.getNumberOfErrors() );
+	    assertEquals( "check number of successes", 0, summary.getNumberOfSuccesses() );
+	    assertEquals( "check number of failures", 0, summary.getNumberOfFailures() );
+	    assertEquals( "check number of projects", 2, summary.getNumberOfProjects() );
+
+	    summary = summaries.get( defaultProjectGroup.getId() );
+	    assertEquals( "check id of project group", defaultProjectGroup.getId(), summary.getProjectGroupId() );
+        assertEquals( "check number of errors", 0, summary.getNumberOfErrors() );
+        assertEquals( "check number of successes", 2, summary.getNumberOfSuccesses() );
+        assertEquals( "check number of failures", 0, summary.getNumberOfFailures() );
+        assertEquals( "check number of projects", 2, summary.getNumberOfProjects() );
+
+	}
+
     // ----------------------------------------------------------------------
     //  HELPER METHODS
     // ----------------------------------------------------------------------
@@ -1507,21 +1552,21 @@ public class ContinuumStoreTest
         }
     }
 
-    private static void checkBuildResultDefaultFetchGroup( BuildResult buildResult )
-    {
-        try
-        {
-            buildResult.getScmResult();
-
-            fail( "scmResult should not be in the default fetch group" );
-        }
-        catch ( JDODetachedFieldAccessException expected )
-        {
-            assertTrue( true );
-        }
-        // TODO: artifacts
-        // TODO: report
-        // TODO: long error data
-    }
+//    private static void checkBuildResultDefaultFetchGroup( BuildResult buildResult )
+//    {
+//        try
+//        {
+//            buildResult.getScmResult();
+//
+//            fail( "scmResult should not be in the default fetch group" );
+//        }
+//        catch ( JDODetachedFieldAccessException expected )
+//        {
+//            assertTrue( true );
+//        }
+//        // TODO: artifacts
+//        // TODO: report
+//        // TODO: long error data
+//    }
 
 }

Modified: continuum/branches/continuum-flat-multi-module/continuum-test/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-test/pom.xml?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-test/pom.xml (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-test/pom.xml Thu May  6 09:23:13 2010
@@ -21,7 +21,7 @@ under the License.
   <parent>
     <artifactId>continuum</artifactId>
     <groupId>org.apache.continuum</groupId>
-    <version>1.4.0-SNAPSHOT</version>
+    <version>1.4.1-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-test</artifactId>

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu May  6 09:23:13 2010
@@ -1,12 +1,11 @@
 target
+overlays
 .classpath
 .project
 .wtpmodules
 continuum-webapp.iml
 *.ipr
 *.iws
-${plexus.home}
-${appserver.base}
 derby.log
 .settings
 build

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu May  6 09:23:13 2010
@@ -1,4 +1,5 @@
 *.iml
+test-output
 *.ipr
 *.iws
 *.log
@@ -7,3 +8,6 @@ target
 .settings
 .classpath
 .project
+installs
+cargo-installs
+build

Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/Readme.txt
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp-test/Readme.txt?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp-test/Readme.txt (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp-test/Readme.txt Thu May  6 09:23:13 2010
@@ -6,21 +6,34 @@ Test with Firefox and Selenium IDE
  * in Selenium IDE, modify the Base URL if necessary (for example, http://localhost:8080/continuum)
  * in Selenium IDE, click the 'Play entire test suite' icon
 
-Run Selenium tests in src/test/it with Maven and Cargo using support for multiple data sources
- * modify src/test/resources/it.properties as needed
+Run Selenium tests in src/test/testNG with Maven, TestNG and Cargo
+ * Start Continuum
+ * modify src/test/resources/testng.properties as needed
  * mvn clean install
 
-Run Selenium tests in src/test/java with Maven and Cargo with alternate configuration
+Run Selenium tests against an existing Continuum instance
+  * mvn clean install -DbaseUrl=http://localhost:9595/continuum
+
+  (This skips the Cargo plugin configuration that starts a container with the Continuum webapp deployed)
+
+Run Selenium tests in an alternate browser
+  * mvn clean install -Dbrowser=iexplore  (or -Dbrowser=safari or -Dbrowser=other -DbrowserPath=/path/to/browser)
+
+Change the port the embedded selenium runs on
+  * mvn clean install -DseleniumPort=4444
+
+Run Selenium tests in an running Selenium server or hub
+  * mvn clean install -DseleniumHost=localhost -DseleniumPort=4444
+
+Run Selenium tests in src/test/it with Maven, JUnit and Cargo
+ * modify src/test/resources/it.properties as needed
+ * mvn clean install -f junit-pom.xml
+
+Run Selenium tests in src/test/java with Maven and JUnit
  * modify src/test/resources/it.properties as needed
  * edit pom.xml and remove <testSourceDirectory>
  * for snapshot version of selenium(1.0-beta-SNAPSHOT), modify settings.xml/pom.xml to point to this repository http://nexus.openqa.org/content/repositories/snapshots 
- * mvn clean install
- 
-Run Selenium tests in src/test/testNG with Maven and testNG
- * Start Continuum
- * Config admin user for continuum application
- * modify src/test/resources/testng.properties as needed
- * mvn clean install -f testng-pom.xml
+ * mvn clean install -f junit-pom.xml
 
  Note that this does not install anything, it simply runs through the lifecycle including the integration test phases.
  More properly it would be 'mvn clean post-integration-test', but install is much shorter to type. :)

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/java/org/apache/continuum/web/test/AboutTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/java/org/apache/continuum/web/test/AboutTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/it.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/it.properties?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/it.properties (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/it.properties Thu May  6 09:23:13 2010
@@ -10,4 +10,4 @@ ADMIN_PASSWORD=admin123
 
 SELENIUM_HOST=localhost
 SELENIUM_PORT=4444
-SELENIUM_BROWSER=*firefox
+

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/it.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/it.properties
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/testng.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/testng.properties?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/testng.properties (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/testng.properties Thu May  6 09:23:13 2010
@@ -4,174 +4,306 @@
 # General properties
 #######################
 
-BASE_URL=http://localhost:9595/continuum/
 MAX_WAIT_TIME_IN_MS=60000
+MAX_PROJECT_WAIT_TIME_IN_MS=600000
+
+WAIT_TRIES=80
+PAGE_LOAD_TIME_IN_MS=30000
 
 ADMIN_USERNAME=admin
 ADMIN_FULLNAME=admin
 ADMIN_PASSWORD=admin123
 ADMIN_MAIL=admin@mail.com
 
-SELENIUM_HOST=localhost
-SELENIUM_PORT=4444
-SELENIUM_BROWSER=*firefox
-
-DEFAULT_PROJ_GRP_NAME =Default Project Group
-DEFAULT_PROJ_GRP_ID =default
-DEFAULT_PROJ_GRP_DESCRIPTION =Contains all projects that do not have a group of their own
+DEFAULT_PROJ_GRP_NAME=Default Project Group
+DEFAULT_PROJ_GRP_ID=default
+DEFAULT_PROJ_GRP_DESCRIPTION=Contains all projects that do not have a group of their own
 
 ########################
 # mavenTwoProject group 
 ########################
 
 # Properties for testAddMavenTwoProject
-M2_POM_URL =https://svn.apache.org/repos/asf/continuum/sandbox/simple-example/pom.xml
-M2_PROJ_GRP_NAME=Continuum Simple Example Project
-M2_PROJ_GRP_ID=org.apache.continuum.examples
-M2_PROJ_GRP_DESCRIPTION=
-M2_POM_USERNAME =
-M2_POM_PASSWORD =
+M2_POM_URL=http://localhost:9595/example-projects/continuum-build-queue-test-data/pom.xml
+M2_PROJ_GRP_NAME=ContinuumBuildQueueTestData
+M2_PROJ_GRP_ID=org.apache.continuum
+M2_PROJ_GRP_DESCRIPTION=Project for testing continuum build queue
+M2_PROJ_GRP_SCM_ROOT_URL=scm:svn:${svn.base.url}/trunk/continuum-build-queue-test-data
+M2_POM_USERNAME=
+M2_POM_PASSWORD=
+
+# Properties for testDeleteMavenTwoProject
+M2_DELETE_POM_URL=http://localhost:9595/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
+M2_DELETE_PROJ_GRP_DESCRIPTION=Delete test project
+M2_DELETE_PROJ_GRP_SCM_ROOT_URL=scm:svn:${svn.base.url}/trunk/simple-example
+M2_DELETE_PROJ_TAGBASE=scm:svn:${svn.base.url}/tags
+M2_DELETE_PROJ_TAG=simple-example-1.0
+M2_DELETE_PROJ_RELEASE_VERSION=1.0
+M2_DELETE_PROJ_DEVELOPMENT_VERSION=1.1-SNAPSHOT
+M2_DELETE_PROJ_TAGBASE_PERFORM=http://localhost:9595/example-projects/tags
+
 # SCM element is missing from pom
-NOT_SCM_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-scm-element-pom.xml
-MISS_CONECT_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-connection-element-pom.xml
-MISS_PARENT_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-parent-pom.xml
-MISS_SUBPRO_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-two-projects/missing-modules-pom.xml
+NOT_SCM_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-scm-element-pom.xml
+MISS_CONECT_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-connection-element-pom.xml
+MISS_PARENT_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-parent-pom.xml
+MISS_SUBPRO_POM_URL=http://localhost:9595/example-projects/maven-two-projects/missing-modules-pom.xml
+
+# Properties for testAddMavenTwoProjectModuleNameWithSameLetter
+M2_SAME_LETTER_POM_URL=http://localhost:9595/example-projects/flat-example/flat-parent/pom.xml
+M2_SAME_LETTER_PROJ_GRP_NAME=Flat Example
+M2_SAME_LETTER_PROJ_GRP_ID=com.example.flat
+M2_SAME_LETTER_PROJ_GRP_DESCRIPTION=
+M2_SAME_LETTER_PROJ_GRP_SCM_ROOT_URL=scm:svn:${svn.base.url}/trunk/flat-example/flat-parent
+
+# Properties for testBuildMaven2ProjectWithTag
+M2_PROJ_WITH_TAG_POM_URL=http://localhost:9595/example-projects/continuum-2437-example/pom.xml
+M2_PROJ_WITH_TAG_PROJ_GRP_NAME=Continuum 2437 Example Project
+M2_PROJ_WITH_TAG_PROJ_GRP_ID=org.apache.continuum.examples
+
+# Properties for testReleasePrepareProjectWithNoBuildagentInBuildEnvironment
+M2_RELEASE_POM_URL=http://localhost:9595/example-projects/simple-example/pom.xml
+M2_RELEASE_PROJECT_NAME=Continuum Simple Example Project
+M2_RELEASE_GRP_NAME=Simple Example Project Release
+M2_RELEASE_GRP_ID=org.apache.continuum.examples.simple.release
+M2_RELEASE_GRP_DESCRIPTION=Release test project
+M2_RELEASE_GRP_SCM_ROOT_URL=scm:svn:${svn.base.url}/trunk/simple-example
+M2_RELEASE_TAG=simple-example-1.0-test
+M2_RELEASE_RELEASE_VERSION=1.0-test
+M2_RELEASE_DEVELOPMENT_VERSION=1.0-SNAPSHOT
+M2_RELEASE_TAGBASE_URL=http://localhost:9595/example-projects/tags
+M2_RELEASE_BUILD_ENV=RELEASE_BUILD_ENV
+M2_RELEASE_AGENT_GROUP=RELEASE_BUILDAGENT_GROUP
+M2_RELEASE_NO_AGENT_MESSAGE=Unable to prepare release because build agent 
 
 ########################
 # mavenOneProject group 
 ########################
 
 # Properties for testAddMavenOneProject
-M1_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/valid-project.xml
+M1_POM_URL=http://localhost:9595/example-projects/maven-one-projects/valid-project.xml
 M1_PROJ_GRP_NAME=Maven One Project
 M1_PROJ_GRP_ID=maven-one-project
 M1_PROJ_GRP_DESCRIPTION=This is a sample Maven One Project
-M1_POM_USERNAME =
-M1_POM_PASSWORD =
+M1_POM_USERNAME=
+M1_POM_PASSWORD=
 
-M1_MISS_REPO_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/missing-repository-element-project.xml
-M1_EXTENDED_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/extend-element-project.xml
-M1_UNPARSEABLE_POM_URL =http://svn.apache.org/repos/asf/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/unparseable-content-project.xml
+# Properties for testDeleteMavenOneProject
+M1_DELETE_POM_URL=http://localhost:9595/example-projects/maven-one-projects/valid-project.xml
+M1_DELETE_PROJ_GRP_NAME=Maven One Project
+M1_DELETE_PROJ_GRP_ID=maven-one-project
+M1_DELETE_PROJ_GRP_DESCRIPTION=This is a sample Maven One Project.
+
+M1_MISS_REPO_POM_URL=http://localhost:9595/example-projects/maven-one-projects/missing-repository-element-project.xml
+M1_EXTENDED_POM_URL=http://localhost:9595/example-projects/maven-one-projects/extend-element-project.xml
+M1_UNPARSEABLE_POM_URL=http://localhost:9595/example-projects/maven-one-projects/unparseable-content-project.xml
 
 ########################
 # antProject group 
 ########################
 
-ANT_NAME =Ant Project
-ANT_DESCRIPTION =This is a sample Ant Project used for testing
-ANT_VERSION =1.0.0-SNAPSHOT
-ANT_TAG =
-ANT_SCM_URL =http://svn.apache.org/repos/asf/ant/sandbox/parallelexecutor/
-ANT_SCM_USERNAME =
-ANT_SCM_PASSWORD =
+ANT_NAME=Ant Project
+ANT_DESCRIPTION=This is a sample Ant Project used for testing
+ANT_VERSION=1.0.0-SNAPSHOT
+ANT_TAG=
+ANT_SCM_URL=http://localhost:9595/example-projects/ant/
+ANT_SCM_USERNAME=
+ANT_SCM_PASSWORD=
 
 ########################
 # shellProject group 
 ########################
 
-SHELL_NAME =Shell Project
-SHELL_DESCRIPTION =This is a sample Shell Project used for testing
-SHELL_VERSION =1.0.0-SNAPSHOT
-SHELL_TAG =
-SHELL_SCM_URL =http://svn.apache.org/repos/asf/continuum/sandbox/examples/shell/
-SHELL_SCM_USERNAME =
-SHELL_SCM_PASSWORD =
+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_USERNAME=
+SHELL_SCM_PASSWORD=
 
 ########################
 # projectGroup group 
 ########################
-TEST_PROJ_GRP_NAME =Test Project Group Name
-TEST_PROJ_GRP_ID =Test Project Group Id
-TEST_PROJ_GRP_DESCRIPTION =Test Project Group Description
+TEST_PROJ_GRP_NAME=Test Project Group Name
+TEST_PROJ_GRP_ID=Test Project Group Id
+TEST_PROJ_GRP_DESCRIPTION=Test Project Group Description
 ## Second project group without projects
-TEST2_PROJ_GRP_NAME =Test Project Group 2 Name
-TEST2_PROJ_GRP_ID =Test Project Group 2 Id
-TEST2_PROJ_GRP_DESCRIPTION =Test Project Group 2 Description
+TEST2_PROJ_GRP_NAME=Test Project Group 2 Name
+TEST2_PROJ_GRP_ID=Test Project Group 2 Id
+TEST2_PROJ_GRP_DESCRIPTION=Test Project Group 2 Description
+
+# Test properties for testDeleteProjectGroup
+TEST_DELETE_GRP_NAME=Add then Delete Project Group
+TEST_DELETE_GRP_ID=test.delete.project.group
+TEST_DELETE_GRP_DESCRIPTION=Test Delete Project Group Description
+
+# Test properties for testProjectGroupMembers
+TEST_PROJ_GRP_NAME_ONE=Group
+TEST_PROJ_GRP_ID_ONE=Group Id
+TEST_PROJ_GRP_DESCRIPTION_ONE=First project group for members test
+TEST_PROJ_GRP_NAME_TWO=Group My
+TEST_PROJ_GRP_ID_TWO=Group Id My
+TEST_PROJ_GRP_DESCRIPTION_TWO=Second project group for members test
+TEST_PROJ_GRP_NAME_THREE = My Group
+TEST_PROJ_GRP_ID_THREE=My Group Id
+TEST_PROJ_GRP_DESCRIPTION_THREE=Third project group for members test
 
 ########################
 # notifier group 
 ########################
-WAGON_NOTIFIER_URL =http://svn.apache.org/repos/asf/maven/pom/trunk/maven/pom.xml
-WAGON_SERVER_ID =wagoId
-MAIL_NOTIFIER_ADDRESS =test@test.com
-IRC_NOTIFIER_HOST =test.com
-IRC_NOTIFIER_CHANNEL =test_channel
-JABBER_NOTIFIER_HOST =test
-JABBER_NOTIFIER_LOGIN =test_login
-JABBER_NOTIFIER_PASSWORD =hello
-JABBER_NOTIFIER_ADDRESS =test@address.com
-MSN_NOTIFIER_ADDRESS =test@address.com
-MSN_NOTIFIER_LOGIN =test
-MSN_NOTIFIER_PASSWORD =hello
+WAGON_NOTIFIER_URL=http://svn.apache.org/repos/asf/maven/pom/trunk/maven/pom.xml
+WAGON_SERVER_ID=wagoId
+MAIL_NOTIFIER_ADDRESS=test@test.com
+IRC_NOTIFIER_HOST=test.com
+IRC_NOTIFIER_CHANNEL=test_channel
+JABBER_NOTIFIER_HOST=test
+JABBER_NOTIFIER_LOGIN=test_login
+JABBER_NOTIFIER_PASSWORD=hello
+JABBER_NOTIFIER_ADDRESS=test@address.com
+MSN_NOTIFIER_ADDRESS=test@address.com
+MSN_NOTIFIER_LOGIN=test
+MSN_NOTIFIER_PASSWORD=hello
 
 ########################
 # buildDefinition group 
 ########################
-BUILD_POM_NAME =pom.xml
-BUILD_GOALS =test
-BUILD_ARGUMENTS =--batch-mode --non-recursive
-BUILD_DESCRIPTION =Maven 2 Build Definition Description
+BUILD_POM_NAME=pom.xml
+BUILD_GOALS=test
+BUILD_ARGUMENTS=--batch-mode --non-recursive
+BUILD_DESCRIPTION=Maven 2 Build Definition Description
 
 ########################
 # queue group 
 ########################
-BUILD_QUEUE_NAME =name_build_queue
+BUILD_QUEUE_NAME=name_build_queue
 
 ########################
 # purge group 
 ########################
-PURGE_REPOSITORY_DESCRIPTION =repository_description
-PURGE_REPOSITORY_DAYS =100
-PURGE_REPOSITORY_RETETION =3
-PURGE_DIRECTORY_DESCRIPTION =directory_description
-PURGE_DIRECTORY_DAYS =90
-PURGE_DIRECTORY_RETETION =4
+PURGE_REPOSITORY_DESCRIPTION=repository_description
+PURGE_REPOSITORY_DAYS=100
+PURGE_REPOSITORY_RETETION=3
+PURGE_DIRECTORY_DESCRIPTION=directory_description
+PURGE_DIRECTORY_DAYS=90
+PURGE_DIRECTORY_RETETION=4
 
 ########################
 # local repository group 
 ########################
-LOCAL_REPOSITORY_NAME =repository_name
-LOCAL_REPOSITORY_LOCATION =/usr/m2/repository
+LOCAL_REPOSITORY_NAME=repository_name
+LOCAL_REPOSITORY_LOCATION=/usr/m2/repository
 
 ########################
 # schedules group 
 ########################
-SCHEDULE_NAME =schedule_name
-SCHEDULE_DESCRIPTION =schedule_description
-SCHEDULE_EXPR_SECOND =10
-SCHEDULE_EXPR_MINUTE =10
-SCHEDULE_EXPR_HOUR =20
-SCHEDULE_EXPR_DAY_MONTH =*
-SCHEDULE_EXPR_MONTH =*
-SCHEDULE_EXPR_DAY_WEEK =?
-SCHEDULE_EXPR_YEAR =2009
-SCHEDULE_MAX_TIME =60000
-SCHEDULE_PERIOD =36000
+SCHEDULE_NAME=schedule_name
+SCHEDULE_DESCRIPTION=schedule_description
+SCHEDULE_EXPR_SECOND=10
+SCHEDULE_EXPR_MINUTE=10
+SCHEDULE_EXPR_HOUR=20
+SCHEDULE_EXPR_DAY_MONTH=*
+SCHEDULE_EXPR_MONTH=*
+SCHEDULE_EXPR_DAY_WEEK=?
+SCHEDULE_EXPR_YEAR=2009
+SCHEDULE_MAX_TIME=60000
+SCHEDULE_PERIOD=36000
 
 ########################
 # installations group 
 ########################
 # Correct location for JDK
-INSTALL_TOOL_JDK_NAME =JDK6
-INSTALL_TOOL_JDK_PATH =${java.home}
+INSTALL_TOOL_JDK_NAME=JDK6
+INSTALL_TOOL_JDK_PATH=${java.home}
 # Correct location for maven 2
-INTALLA_TOOL_MAVEN_NAME =M9_HOME
-INTALLA_TOOL_MAVEN_PATH =${maven.home}
+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_NAME=JDK5
+INSTALL_VAR_VARIABLE_NAME=/usr/lib/jvm/java-5-sun-1.5.0.12
+INSTALL_VAR_PATH=JAVA5_HOME
 
 ########################
 # buildEnvironment group 
 ########################
-BUIL_ENV_NAME =APPLICATION_JDK4
+BUILD_ENV_NAME=APPLICATION_JDK4
 
 ########################
 # buildTemplate group 
 ########################
-TEMPLATE_NAME =PROJECT_MAVEN_TEMPLATE
-TEMPLATE_BUILD_POM_NAME =pom.xml
-TEMPLATE_BUILD_GOALS =test
-TEMPLATE_BUILD_ARGUMENTS =--batch-mode --non-recursive
-TEMPLATE_BUILD_DESCRIPTION =Template Maven Test
\ No newline at end of file
+TEMPLATE_NAME=PROJECT_MAVEN_TEMPLATE
+TEMPLATE_BUILD_POM_NAME=pom.xml
+TEMPLATE_BUILD_GOALS=test
+TEMPLATE_BUILD_ARGUMENTS=--batch-mode --non-recursive
+TEMPLATE_BUILD_DESCRIPTION=Template Maven Test
+
+########################
+# userRoles group
+########################
+# General
+USERROLE_EMAIL=user@localhost.localdomain
+USERROLE_PASSWORD=pass123
+NEW_USERROLE_PASSWORD=pass12345
+# Guest Role
+GUEST_USERNAME=guest1
+GUEST_FULLNAME=Guest
+# Registered User Role
+REGISTERED_USERNAME=reg_user
+REGISTERED_FULLNAME=Registered User
+# System Administrator
+SYSAD_USERNAME=sys_admin
+SYSAD_FULLNAME=System Administrator
+# User Administrator
+USERADMIN_USERNAME=user_admin
+USERADMIN_FULLNAME=User Administrator
+# Continuum Group Project Administrator
+GROUPPROJECTADMIN_USERNAME=groupprojectadmin
+GROUPPROJECTADMIN_FULLNAME=Continuum Group Project Administrator
+# Continuum Group Project Developer
+GROUPPROJECTDEVELOPER_USERNAME=groupprojectdev
+GROUPPROJECTDEVELOPER_FULLNAME=Continuum Group Project Developer
+# Continuum Group Project User
+GROUPPROJECTUSER_USERNAME=groupprojectuser
+GROUPPROJECTUSER_FULLNAME=Continuum Group Project User
+# Continuum Manage Build Environment
+MANAGEBUILDENVIRONMENT_USERNAME=managebuildenv
+MANAGEBUILDENVIRONMENT_FULLNAME=Continuum Manage Build Environments
+# Continuum Manage Build Templates
+MANAGEBUILDTEMPLATES_USERNAME=managebuildtemp
+MANAGEBUILDTEMPLATES_FULLNAME=Continuum Manage Build Templates
+# Continuum Manage Installations
+MANAGEINSTALLATIONS_USERNAME=manageinstallations
+MANAGEINSTALLATIONS_FULLNAME=Continuum Manage Installations
+# Continuum Manage Local Repositories
+MANAGELOCALREPOS_USERNAME=managelocalrepo
+MANAGELOCALREPOS_FULLNAME=Continuum Manage Local Repositories
+# Continuum Manage Purging
+MANAGEPURGING_USERNAME=managepurging
+MANAGEPURGING_FULLNAME=Continuum Manage Purging
+# Continuum Manage Queues
+MANAGEQUEUES_USERNAME=managequeues
+MANAGEQUEUES_FULLNAME=Continuum Manage Queues
+# Continuum Manage Scheduling
+MANAGESCHEDULING_USERNAME=manageschedule
+MANAGESCHEDULING_FULLNAME=Continuum Manage Scheduling
+# Project Administrator
+PROJECTADMINISTRATOR_DEFAULTPROJECTGROUP_USERNAME=projectadmin
+PROJECTADMINISTRATOR_DEFAULTPROJECTGROUP_FULLNAME=Project Administrator - Default Project Group
+# Project Developer
+PROJECTDEVELOPER_DEFAULTPROJECTGROUP_USERNAME=projectdev
+PROJECTDEVELOPER_DEFAULTPROJECTGROUP_FULLNAME=Project Developer - Default Project Group
+# Project User
+PROJECTUSER_DEFAULTPROJECTGROUP_USERNAME=projectuser
+PROJECTUSER_DEFAULTPROJECTGROUP_FULLNAME=Project User - Default Project Group
+
+########################
+# buildAgents group 
+########################
+BUILD_AGENT_NAME2=http://localhost:9595/continuum-buildagent/xmlrpc
+BUILD_AGENT_DESCRIPTION2=Agent_description2
+BUILD_AGENT_NAME=First_Agent
+BUILD_AGENT_DESCRIPTION=Agent_description
+BUILD_AGENT_NAME3=Third_Agent
+BUILD_AGENT_DESCRIPTION3=Agent_description3
+BUILD_AGENT_GROUPNAME=agent_groupname

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/testng.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/resources/testng.properties
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May  6 09:23:13 2010
@@ -1 +1 @@
-/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/selenium-ide:766106,766120-766121,766641,766645,766669,766977,767397,767792,767796,768222
+/continuum/branches/continuum-1.3.x/continuum-webapp-test/src/test/selenium-ide:760767-900271,915354,915760,915848-915864,916073-916074

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_and_build_project.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_and_build_project.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_and_delete_local_repo.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_and_delete_project_group.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_and_delete_user.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_and_edit_project_level_build_definition.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_and_edit_project_level_build_definition.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/add_duplicate_project_group.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/check_menu_options.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/continuum_failing_test_suite.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/continuum_failing_test_suite.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/continuum_online_test_suite.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/continuum_online_test_suite.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/continuum_test_suite.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/create_admin_user_and_general_configuration.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/edit_project_group.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_build_definition_templates.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_build_definition_templates.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_project_group_homepage_url.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_project_group_homepage_url.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_release_plugin_configuration.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_release_plugin_configuration.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_shell_project.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/selenium-ide/test_shell_project.html
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/config/testng.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/config/testng.xml?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/config/testng.xml (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/config/testng.xml Thu May  6 09:23:13 2010
@@ -20,44 +20,53 @@ under the License.
 -->
 
 <suite name="ContinuumTest" verbose="1">
-	<test name="BasicTest" enabled="true">
-		<!--
-			Groups are divided into the unit tests. The order will be described
-			in the annotations of each type of test.
-		-->
-		<groups>
-			<run>
-				<include name="about" />
-			</run>
-		</groups>
-		<packages>
-			<package name="org.apache.continuum.web.test" />
-		</packages>
-	</test>
-	<test name="AdminTest" enabled="true">
-		<groups>
-			<run>
-				<include name="login" />
-				<include name="mavenTwoProject"/>								
-				<include name="projectGroup" />				
-                <include name="mavenOneProject" />
-                <include name="antProject" />
-                <include name="shellProject" />
-                <include name="buildDefinition" />
-                <include name="notifier" />
-				<include name="schedule" />
-				<include name="myAccount" />
-				<include name="queue" />
-				<include name="purge" />
-				<include name="repository" />
-				<include name="configuration" />
-				<include name="installation" />
-				<include name="buildEnvironment" />
-				<include name="buildDefinitionTemplate" />
-			</run>
-		</groups>
-		<packages>
-			<package name="org.apache.continuum.web.test" />
-		</packages>
-	</test>
-</suite>
\ No newline at end of file
+  <listeners>
+    <listener class-name="org.apache.continuum.web.test.listener.CaptureScreenShotsListener"/>
+  </listeners>
+  <test name="BasicTest" enabled="true">
+    <!--
+       Groups are divided into the unit tests. The order will be described
+       in the annotations of each type of test.
+     -->
+    <groups>
+      <run>
+        <include name="setup"/>
+        <!-- required to setup Selenium -->
+        <include name="about"/>
+      </run>
+    </groups>
+    <packages>
+      <package name="org.apache.continuum.web.test"/>
+    </packages>
+  </test>
+  <test name="AdminTest" enabled="true">
+    <groups>
+      <run>
+        <include name="setup"/> <!-- required to setup Selenium -->        
+        <include name="login"/>
+        <include name="projectGroup"/>
+        <include name="mavenTwoProject"/>
+        <include name="mavenOneProject" />
+        <include name="antProject"/>
+        <include name="shellProject"/>
+        <include name="agent"/>
+        <include name="release"/>
+        <include name="buildDefinition" />
+        <include name="notifier"/>
+        <include name="myAccount" />
+        <include name="schedule"/>
+        <include name="queue"/>
+        <include name="purge" />
+        <include name="repository" />
+        <include name="configuration" />
+        <include name="installation"/>
+        <include name="buildEnvironment" />
+        <include name="buildDefinitionTemplate" />
+        <include name="userroles"/>
+      </run>
+    </groups>
+    <packages>
+      <package name="org.apache.continuum.web.test"/>
+    </packages>
+  </test>
+</suite>

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/config/testng.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/config/testng.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java Thu May  6 09:23:13 2010
@@ -20,15 +20,11 @@ package org.apache.continuum.web.test;
  */
 
 import org.apache.continuum.web.test.parent.AbstractContinuumTest;
-import org.testng.Assert;
-import org.testng.annotations.AfterTest;
-import org.testng.annotations.BeforeSuite;
-import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
 /**
  * Based on AboutTest of Wendy Smoak test.
- * 
+ *
  * @author José Morales Martínez
  * @version $Id$
  */
@@ -36,48 +32,9 @@ import org.testng.annotations.Test;
 public class AboutTest
     extends AbstractContinuumTest
 {
-    @BeforeSuite
-    public void initializeContinuum()
-        throws Exception
-    {
-        super.open();
-        getSelenium().open( baseUrl );
-        String title = getSelenium().getTitle();
-        if ( title.equals( "Create Admin User" ) )
-        {
-            assertCreateAdmin();
-            String fullname = p.getProperty( "ADMIN_FULLNAME" );
-            String username = p.getProperty( "ADMIN_USERNAME" );
-            String mail = p.getProperty( "ADMIN_MAIL" );
-            String password = p.getProperty( "ADMIN_PASSWORD" );
-            submitAdminData( fullname, mail, password );
-            assertAutenticatedPage( username );
-            assertEditConfigurationPage();
-            submit();
-            clickLinkWithText( "Logout" );
-        }
-        super.close();
-    }
-
-    @BeforeTest( groups = { "about" } )
-    public void open()
-        throws Exception
-    {
-        super.open();
-    }
-
     public void displayAboutPage()
     {
-        getSelenium().open( baseUrl + "/about.action" );
-        getSelenium().waitForPageToLoad( maxWaitTimeInMs );
-        Assert.assertEquals( "Continuum - About", getSelenium().getTitle() );
+        goToAboutPage();
     }
 
-    @Override
-    @AfterTest( groups = { "about" } )
-    public void close()
-        throws Exception
-    {
-        super.close();
-    }
 }
\ No newline at end of file

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AboutTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/AntProjectTest.java Thu May  6 09:23:13 2010
@@ -24,7 +24,7 @@ import org.testng.annotations.Test;
 
 /**
  * Based on AddAntProjectTestCase of Emmanuel Venisse.
- * 
+ *
  * @author José Morales Martínez
  * @version $Id$
  */
@@ -36,19 +36,19 @@ public class AntProjectTest
     public void testAddAntProject()
         throws Exception
     {
-        String ANT_NAME = p.getProperty( "ANT_NAME" );
-        String ANT_DESCRIPTION = p.getProperty( "ANT_DESCRIPTION" );
-        String ANT_VERSION = p.getProperty( "ANT_VERSION" );
-        String ANT_TAG = p.getProperty( "ANT_TAG" );
-        String ANT_SCM_URL = p.getProperty( "ANT_SCM_URL" );
-        String ANT_SCM_USERNAME = p.getProperty( "ANT_SCM_USERNAME" );
-        String ANT_SCM_PASSWORD = p.getProperty( "ANT_SCM_PASSWORD" );
-        String TEST_PROJ_GRP_NAME = p.getProperty( "TEST_PROJ_GRP_NAME" );
-        String TEST_PROJ_GRP_ID = p.getProperty( "TEST_PROJ_GRP_ID" );
-        String TEST_PROJ_GRP_DESCRIPTION = p.getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
+        String ANT_NAME = getProperty( "ANT_NAME" );
+        String ANT_DESCRIPTION = getProperty( "ANT_DESCRIPTION" );
+        String ANT_VERSION = getProperty( "ANT_VERSION" );
+        String ANT_TAG = getProperty( "ANT_TAG" );
+        String ANT_SCM_URL = getProperty( "ANT_SCM_URL" );
+        String ANT_SCM_USERNAME = getProperty( "ANT_SCM_USERNAME" );
+        String ANT_SCM_PASSWORD = getProperty( "ANT_SCM_PASSWORD" );
+        String TEST_PROJ_GRP_NAME = getProperty( "TEST_PROJ_GRP_NAME" );
+        String TEST_PROJ_GRP_ID = getProperty( "TEST_PROJ_GRP_ID" );
+        String TEST_PROJ_GRP_DESCRIPTION = getProperty( "TEST_PROJ_GRP_DESCRIPTION" );
         goToAddAntProjectPage();
         addProject( ANT_NAME, ANT_DESCRIPTION, ANT_VERSION, ANT_SCM_URL, ANT_SCM_USERNAME, ANT_SCM_PASSWORD, ANT_TAG,
-                    false, TEST_PROJ_GRP_NAME, null, true );
+                    false, TEST_PROJ_GRP_NAME, null, true, "ant" );
         assertProjectGroupSummaryPage( TEST_PROJ_GRP_NAME, TEST_PROJ_GRP_ID, TEST_PROJ_GRP_DESCRIPTION );
     }
 
@@ -63,19 +63,19 @@ public class AntProjectTest
     }
 
     @Test( dependsOnMethods = { "testAddAntProject" } )
-    public void testAddDupliedAntProject()
+    public void testAddDuplicateAntProject()
         throws Exception
     {
-        String ANT_NAME = p.getProperty( "ANT_NAME" );
-        String ANT_DESCRIPTION = p.getProperty( "ANT_DESCRIPTION" );
-        String ANT_VERSION = p.getProperty( "ANT_VERSION" );
-        String ANT_TAG = p.getProperty( "ANT_TAG" );
-        String ANT_SCM_URL = p.getProperty( "ANT_SCM_URL" );
-        String ANT_SCM_USERNAME = p.getProperty( "ANT_SCM_USERNAME" );
-        String ANT_SCM_PASSWORD = p.getProperty( "ANT_SCM_PASSWORD" );
+        String ANT_NAME = getProperty( "ANT_NAME" );
+        String ANT_DESCRIPTION = getProperty( "ANT_DESCRIPTION" );
+        String ANT_VERSION = getProperty( "ANT_VERSION" );
+        String ANT_TAG = getProperty( "ANT_TAG" );
+        String ANT_SCM_URL = getProperty( "ANT_SCM_URL" );
+        String ANT_SCM_USERNAME = getProperty( "ANT_SCM_USERNAME" );
+        String ANT_SCM_PASSWORD = getProperty( "ANT_SCM_PASSWORD" );
         goToAddAntProjectPage();
         addProject( ANT_NAME, ANT_DESCRIPTION, ANT_VERSION, ANT_SCM_URL, ANT_SCM_USERNAME, ANT_SCM_PASSWORD, ANT_TAG,
-                    false, null, null, false );
+                    false, null, null, false, "ant" );
         assertTextPresent( "Project name already exist" );
     }
 }

Modified: continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java?rev=941625&r1=941624&r2=941625&view=diff
==============================================================================
--- continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java (original)
+++ continuum/branches/continuum-flat-multi-module/continuum-webapp-test/src/test/testng/org/apache/continuum/web/test/BuildDefinitionTemplateTest.java Thu May  6 09:23:13 2010
@@ -33,7 +33,7 @@ public class BuildDefinitionTemplateTest
     public void testAddTemplate()
         throws Exception
     {
-        String TEMPLATE_NAME = p.getProperty( "TEMPLATE_NAME" );
+        String TEMPLATE_NAME = getProperty( "TEMPLATE_NAME" );
         goToAddTemplate();
         addEditTemplate( TEMPLATE_NAME, new String[] { "Default Maven 2 Build Definition",
             "Default Maven 1 Build Definition" }, new String[] {}, true );
@@ -51,7 +51,7 @@ public class BuildDefinitionTemplateTest
     public void testEditTemplate()
         throws Exception
     {
-        String TEMPLATE_NAME = p.getProperty( "TEMPLATE_NAME" );
+        String TEMPLATE_NAME = getProperty( "TEMPLATE_NAME" );
         String newName = "new_name";
         goToEditTemplate( TEMPLATE_NAME, new String[] { "Default Maven 2 Build Definition",
             "Default Maven 1 Build Definition" } );
@@ -66,17 +66,17 @@ public class BuildDefinitionTemplateTest
     @Test( dependsOnMethods = { "testEditTemplate" } )
     public void testDeleteTemplate()
     {
-        String TEMPLATE_NAME = p.getProperty( "TEMPLATE_NAME" );
+        String TEMPLATE_NAME = getProperty( "TEMPLATE_NAME" );
         removeTemplate( TEMPLATE_NAME );
     }
 
     public void testAddBuildDefinitionTemplate()
         throws Exception
     {
-        String TEMPLATE_BUILD_POM_NAME = p.getProperty( "TEMPLATE_BUILD_POM_NAME" );
-        String TEMPLATE_BUILD_GOALS = p.getProperty( "TEMPLATE_BUILD_GOALS" );
-        String TEMPLATE_BUILD_ARGUMENTS = p.getProperty( "TEMPLATE_BUILD_ARGUMENTS" );
-        String TEMPLATE_BUILD_DESCRIPTION = p.getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
+        String TEMPLATE_BUILD_POM_NAME = getProperty( "TEMPLATE_BUILD_POM_NAME" );
+        String TEMPLATE_BUILD_GOALS = getProperty( "TEMPLATE_BUILD_GOALS" );
+        String TEMPLATE_BUILD_ARGUMENTS = getProperty( "TEMPLATE_BUILD_ARGUMENTS" );
+        String TEMPLATE_BUILD_DESCRIPTION = getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
         goToAddBuildDefinitionTemplate();
         addEditBuildDefinitionTemplate( TEMPLATE_BUILD_POM_NAME, TEMPLATE_BUILD_GOALS, TEMPLATE_BUILD_ARGUMENTS,
                                         TEMPLATE_BUILD_DESCRIPTION, true, true, true, true );
@@ -95,10 +95,10 @@ public class BuildDefinitionTemplateTest
     public void testEditBuildDefinitionTemplate()
         throws Exception
     {
-        String TEMPLATE_BUILD_POM_NAME = p.getProperty( "TEMPLATE_BUILD_POM_NAME" );
-        String TEMPLATE_BUILD_GOALS = p.getProperty( "TEMPLATE_BUILD_GOALS" );
-        String TEMPLATE_BUILD_ARGUMENTS = p.getProperty( "TEMPLATE_BUILD_ARGUMENTS" );
-        String TEMPLATE_BUILD_DESCRIPTION = p.getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
+        String TEMPLATE_BUILD_POM_NAME = getProperty( "TEMPLATE_BUILD_POM_NAME" );
+        String TEMPLATE_BUILD_GOALS = getProperty( "TEMPLATE_BUILD_GOALS" );
+        String TEMPLATE_BUILD_ARGUMENTS = getProperty( "TEMPLATE_BUILD_ARGUMENTS" );
+        String TEMPLATE_BUILD_DESCRIPTION = getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
         goToEditBuildDefinitionTemplate( TEMPLATE_BUILD_DESCRIPTION );
         addEditBuildDefinitionTemplate( TEMPLATE_BUILD_POM_NAME, TEMPLATE_BUILD_GOALS, TEMPLATE_BUILD_ARGUMENTS,
                                         TEMPLATE_BUILD_DESCRIPTION, false, false, false, true );
@@ -107,7 +107,7 @@ public class BuildDefinitionTemplateTest
     @Test( dependsOnMethods = { "testEditBuildDefinitionTemplate" } )
     public void testDeleteBuildDefinitionTemplate()
     {
-        String TEMPLATE_BUILD_DESCRIPTION = p.getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
+        String TEMPLATE_BUILD_DESCRIPTION = getProperty( "TEMPLATE_BUILD_DESCRIPTION" );
         removeBuildDefinitionTemplate( TEMPLATE_BUILD_DESCRIPTION );
     }
 }