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 2009/03/27 04:38:21 UTC

svn commit: r759015 - in /continuum/trunk/continuum-store/src: main/java/org/apache/continuum/dao/ test/java/org/apache/maven/continuum/store/

Author: ctan
Date: Fri Mar 27 03:38:20 2009
New Revision: 759015

URL: http://svn.apache.org/viewvc?rev=759015&view=rev
Log:
- include BuildQueue when erasing database
- fixed unit test for BuildQueue

Modified:
    continuum/trunk/continuum-store/src/main/java/org/apache/continuum/dao/DaoUtilsImpl.java
    continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java
    continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java

Modified: continuum/trunk/continuum-store/src/main/java/org/apache/continuum/dao/DaoUtilsImpl.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-store/src/main/java/org/apache/continuum/dao/DaoUtilsImpl.java?rev=759015&r1=759014&r2=759015&view=diff
==============================================================================
--- continuum/trunk/continuum-store/src/main/java/org/apache/continuum/dao/DaoUtilsImpl.java (original)
+++ continuum/trunk/continuum-store/src/main/java/org/apache/continuum/dao/DaoUtilsImpl.java Fri Mar 27 03:38:20 2009
@@ -26,6 +26,7 @@
 import org.apache.continuum.model.repository.RepositoryPurgeConfiguration;
 import org.apache.maven.continuum.model.project.BuildDefinition;
 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
+import org.apache.maven.continuum.model.project.BuildQueue;
 import org.apache.maven.continuum.model.project.BuildResult;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectDependency;
@@ -90,6 +91,7 @@
         PlexusJdoUtils.removeAll( getPersistenceManager(), LocalRepository.class );
         PlexusJdoUtils.removeAll( getPersistenceManager(), DirectoryPurgeConfiguration.class );
         PlexusJdoUtils.removeAll( getPersistenceManager(), Schedule.class );
+        PlexusJdoUtils.removeAll( getPersistenceManager(), BuildQueue.class );
         PlexusJdoUtils.removeAll( getPersistenceManager(), Profile.class );
         PlexusJdoUtils.removeAll( getPersistenceManager(), Installation.class );
         PlexusJdoUtils.removeAll( getPersistenceManager(), ScmResult.class );

Modified: continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java?rev=759015&r1=759014&r2=759015&view=diff
==============================================================================
--- continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java (original)
+++ continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTestCase.java Fri Mar 27 03:38:20 2009
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import org.apache.continuum.dao.BuildQueueDao;
 import org.apache.continuum.dao.ContinuumReleaseResultDao;
 import org.apache.continuum.dao.DaoUtils;
 import org.apache.continuum.dao.DirectoryPurgeConfigurationDao;
@@ -38,6 +39,7 @@
 import org.apache.continuum.model.repository.RepositoryPurgeConfiguration;
 import org.apache.maven.continuum.installation.InstallationService;
 import org.apache.maven.continuum.model.project.BuildDefinition;
+import org.apache.maven.continuum.model.project.BuildQueue;
 import org.apache.maven.continuum.model.project.BuildResult;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectDependency;
@@ -91,6 +93,8 @@
 
     protected ContinuumReleaseResultDao releaseResultDao;
 
+    protected BuildQueueDao buildQueueDao;
+
     protected ProjectGroup defaultProjectGroup;
 
     protected ProjectGroup testProjectGroup2;
@@ -143,6 +147,12 @@
 
     protected ContinuumReleaseResult testContinuumReleaseResult;
 
+    protected BuildQueue testBuildQueue1;
+
+    protected BuildQueue testBuildQueue2;
+
+    protected BuildQueue testBuildQueue3;
+
     private SystemConfiguration systemConfiguration;
 
     @Override
@@ -176,6 +186,8 @@
         projectScmRootDao = (ProjectScmRootDao) lookup( ProjectScmRootDao.class.getName() );
 
         releaseResultDao = (ContinuumReleaseResultDao) lookup( ContinuumReleaseResultDao.class.getName() );
+
+        buildQueueDao = (BuildQueueDao) lookup( BuildQueueDao.class.getName() );
     }
 
     protected void createBuildDatabase( boolean isTestFromDataManagementTool )
@@ -230,6 +242,48 @@
             testLocalRepository3.setId( 3 );
         }
 
+        testBuildQueue1 = createTestBuildQueue( "build queue 1" );
+
+        BuildQueue buildQueue1 = createTestBuildQueue( testBuildQueue1 );
+        if ( addToStore )
+        {
+            buildQueue1 = buildQueueDao.addBuildQueue( buildQueue1 );
+            testBuildQueue1.setId( buildQueue1.getId() );
+        }
+        else
+        {
+            buildQueue1.setId( 1 );
+            testBuildQueue1.setId( 1 );
+        }
+
+        testBuildQueue2 = createTestBuildQueue( "build queue 2" );
+
+        BuildQueue buildQueue2 = createTestBuildQueue( testBuildQueue2 );
+        if ( addToStore )
+        {
+            buildQueue2 = buildQueueDao.addBuildQueue( buildQueue2 );
+            testBuildQueue2.setId( buildQueue2.getId() );
+        }
+        else
+        {
+            buildQueue2.setId( 2 );
+            testBuildQueue2.setId( 2 );
+        }
+
+        testBuildQueue3 = createTestBuildQueue( "build queue 3" );
+
+        BuildQueue buildQueue3 = createTestBuildQueue( testBuildQueue3 );
+        if ( addToStore )
+        {
+            buildQueue3 = buildQueueDao.addBuildQueue( buildQueue3 );
+            testBuildQueue3.setId( buildQueue3.getId() );
+        }
+        else
+        {
+            buildQueue3.setId( 3 );
+            testBuildQueue3.setId( 3 );
+        }
+
         defaultProjectGroup = createTestProjectGroup( "Default Group", "The Default Group",
                                                       "org.apache.maven.test.default", localRepository1 );
 
@@ -244,7 +298,12 @@
                                           "scmUrl2", 1, "url2", "version2", "workingDirectory2" );
 
         testSchedule1 = createTestSchedule( "name1", "description1", 1, "cronExpression1", true );
+        testSchedule1.addBuildQueue( buildQueue1 );
+        testSchedule1.addBuildQueue( buildQueue2 );
+        
         testSchedule2 = createTestSchedule( "name2", "description2", 2, "cronExpression2", true );
+        testSchedule2.addBuildQueue( buildQueue3 );
+
         testSchedule3 = createTestSchedule( "name3", "description3", 3, "cronExpression3", true );
 
         testInstallationJava13 =
@@ -1020,18 +1079,26 @@
     protected static Schedule createTestSchedule( Schedule schedule )
     {
         return createTestSchedule( schedule.getName(), schedule.getDescription(), schedule.getDelay(), schedule
-            .getCronExpression(), schedule.isActive() );
+            .getCronExpression(), schedule.isActive(), schedule.getBuildQueues() );
     }
 
     protected static Schedule createTestSchedule( String name, String description, int delay, String cronExpression,
                                                   boolean active )
     {
+        return createTestSchedule( name, description, delay, cronExpression, active, null );
+    }
+                                                  
+    protected static Schedule createTestSchedule( String name, String description, int delay, String cronExpression,
+                                                  boolean active, List<BuildQueue> buildQueues )
+    {
         Schedule schedule = new Schedule();
         schedule.setActive( active );
         schedule.setCronExpression( cronExpression );
         schedule.setDelay( delay );
         schedule.setDescription( description );
         schedule.setName( name );
+        schedule.setBuildQueues( buildQueues );
+
         return schedule;
     }
 
@@ -1523,6 +1590,25 @@
                       actualConfig.getEndTime() );
     }
 
+    protected static BuildQueue createTestBuildQueue( String name )
+    {
+        BuildQueue buildQueue = new BuildQueue();
+        buildQueue.setName( name );
+
+        return buildQueue;
+    }
+
+    protected static BuildQueue createTestBuildQueue( BuildQueue buildQueue )
+    {
+        return createTestBuildQueue( buildQueue.getName() );
+    }
+
+    protected static void assertBuildQueueEquals( BuildQueue expectedConfig, BuildQueue actualConfig )
+    {
+        assertEquals( "compare build queue - id", expectedConfig.getId(), actualConfig.getId() );
+        assertEquals( "compare build queue - name", expectedConfig.getName(), actualConfig.getName() );
+    }
+
     /**
      * Setup JDO Factory
      *

Modified: continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java?rev=759015&r1=759014&r2=759015&view=diff
==============================================================================
--- continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java (original)
+++ continuum/trunk/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java Fri Mar 27 03:38:20 2009
@@ -31,6 +31,7 @@
 import org.apache.maven.continuum.installation.InstallationService;
 import org.apache.maven.continuum.model.project.BuildDefinition;
 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
+import org.apache.maven.continuum.model.project.BuildQueue;
 import org.apache.maven.continuum.model.project.BuildResult;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectDependency;
@@ -297,8 +298,13 @@
     }
 
     public void testAddSchedule()
+        throws ContinuumStoreException
     {
+        BuildQueue buildQueue = buildQueueDao.getAllBuildQueues().get( 0 );
+
         Schedule newSchedule = createTestSchedule( "testAddSchedule", "testAddSchedule desc", 10, "cron test", false );
+        newSchedule.addBuildQueue( buildQueue );
+
         Schedule copy = createTestSchedule( newSchedule );
         scheduleDao.addSchedule( newSchedule );
         copy.setId( newSchedule.getId() );
@@ -306,6 +312,8 @@
         List schedules = scheduleDao.getAllSchedulesByName();
         Schedule retrievedSchedule = (Schedule) 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 ) );
     }
 
     public void testEditSchedule()
@@ -315,12 +323,18 @@
         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 );
+
         Schedule copy = createTestSchedule( newSchedule );
         copy.setId( newSchedule.getId() );
         scheduleDao.updateSchedule( newSchedule );
 
         Schedule retrievedSchedule = (Schedule) scheduleDao.getAllSchedulesByName().get( 0 );
         assertScheduleEquals( copy, retrievedSchedule );
+        assertBuildQueueEquals( buildQueue1, (BuildQueue) retrievedSchedule.getBuildQueues().get( 0 ) );
+        assertBuildQueueEquals( buildQueue2, (BuildQueue) retrievedSchedule.getBuildQueues().get( 1 ) );
     }
 
     public void testRemoveSchedule()
@@ -328,7 +342,7 @@
         Schedule 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();
@@ -337,18 +351,33 @@
     }
 
     public void testGetAllSchedules()
+        throws ContinuumStoreException
     {
         List schedules = scheduleDao.getAllSchedulesByName();
+        List<BuildQueue> buildQueues = buildQueueDao.getAllBuildQueues();
 
         assertEquals( "check item count", 3, schedules.size() );
+        assertEquals( "check build queues count", 3, buildQueues.size() );
+
+        BuildQueue buildQueue1 = buildQueues.get( 0 );
+        BuildQueue buildQueue2 = buildQueues.get( 1 );
+        BuildQueue buildQueue3 = buildQueues.get( 2 );
 
         // check equality and order
         Schedule 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 ) );
+        
         schedule = (Schedule) schedules.get( 1 );
         assertScheduleEquals( testSchedule2, schedule );
+        assertEquals( "check size of buildQueues", 1, schedule.getBuildQueues().size() );
+        assertBuildQueueEquals( buildQueue3, (BuildQueue) schedule.getBuildQueues().get( 0 ) );
+
         schedule = (Schedule) schedules.get( 2 );
         assertScheduleEquals( testSchedule3, schedule );
+        assertEquals( "check size of buildQueues", 0, schedule.getBuildQueues().size() );
     }
 
     public void testAddProfile()