Author: tv
Date: Sat Jul 25 19:24:06 2015
New Revision: 1692639

URL: http://svn.apache.org/r1692639
Log:
Add QuartzSchedulerService, 
Rename TurbineSchedulerService to TorqueSchedulerService

Added:
    
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/QuartzSchedulerServiceTest.java
   (with props)
Modified:
    
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/JobEntryTest.java
    
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/TurbineNonPersistentSchedulerServiceTest.java

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/JobEntryTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/services/schedule/JobEntryTest.java?rev=1692639&r1=1692638&r2=1692639&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/JobEntryTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/JobEntryTest.java
 Sat Jul 25 19:24:06 2015
@@ -1,8 +1,10 @@
 package org.apache.turbine.services.schedule;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
 import org.junit.Before;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -23,9 +25,6 @@ import static org.junit.Assert.*;
  * under the License.
  */
 
-
-//import org.apache.turbine.test.BaseTestCase;
-
 /**
  * Unit testing for Job Entries.  Ensure that removing NumberKey from 
TurbineNonPersistentScheduler
  * still works.
@@ -33,7 +32,7 @@ import static org.junit.Assert.*;
  * @author <a href="mailto:[email protected]";>Eric Pugh</a>
  * @version $Id: JobEntryTest.java 615328 2008-01-25 20:25:05Z tv $
  */
-public class JobEntryTest 
+public class JobEntryTest
 {
 
     private JobEntry je1;
@@ -44,34 +43,22 @@ public class JobEntryTest
     {
 
         // Add a new job entry
-        je1 = new JobEntry();
+        je1 = new JobEntryNonPersistent();
         je1.setJobId(1);
-        je1.setSecond(0);
-        je1.setMinute(1);
-        je1.setHour(-1);
-        je1.setDayOfMonth(-1);
-        je1.setWeekDay(-1);
-        je1.setTask("SimpleJob");
 
-        je2 = new JobEntry();
+        je2 = new JobEntryNonPersistent();
         je2.setJobId(2);
-        je2.setSecond(0);
-        je2.setMinute(1);
-        je2.setHour(-1);
-        je2.setDayOfMonth(-1);
-        je2.setWeekDay(-1);
-        je2.setTask("SimpleJob");
     }
 
 
     /**
-     * Tests the ability to enable and disable the service.
+     * Tests if the job entries are comparable
      */
     @Test public void testCompareTo()
     {
-        assertFalse(je1.equals(je2));
+        assertNotEquals(je1.compareTo(je2), 0);
         je2.setJobId(je1.getJobId());
-        assertTrue(je1.equals(je2));
+        assertEquals(je1.compareTo(je2), 0);
 
     }
 

Added: 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/QuartzSchedulerServiceTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/services/schedule/QuartzSchedulerServiceTest.java?rev=1692639&view=auto
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/QuartzSchedulerServiceTest.java
 (added)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/QuartzSchedulerServiceTest.java
 Sat Jul 25 19:24:06 2015
@@ -0,0 +1,171 @@
+package org.apache.turbine.services.schedule;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.apache.turbine.modules.scheduledjobs.SimpleJob;
+import org.apache.turbine.test.BaseTestCase;
+import org.apache.turbine.util.TurbineConfig;
+import org.apache.turbine.util.TurbineException;
+import org.hamcrest.CoreMatchers;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.quartz.CronScheduleBuilder;
+import org.quartz.JobBuilder;
+import org.quartz.JobDetail;
+import org.quartz.JobKey;
+import org.quartz.Trigger;
+import org.quartz.TriggerBuilder;
+
+/**
+ * Unit testing for the quartz implementation of the scheduler service.
+ *
+ * @author <a href="mailto:[email protected]";>Thomas Vandahl</a>
+ */
+public class QuartzSchedulerServiceTest extends BaseTestCase
+{
+    private TurbineConfig tc = null;
+
+    @Before
+    public void setUp() throws Exception
+    {
+        tc =
+            new TurbineConfig(
+                ".",
+                "/conf/test/TestFulcrumComponents.properties");
+        tc.initialize();
+    }
+
+    @After
+    public void tearDown() throws Exception
+    {
+        if (tc != null)
+        {
+            tc.dispose();
+        }
+    }
+
+    /**
+     * Tests the ability to enable and disable the service.
+     */
+    @Test public void testEnableDisable()
+    {
+        try
+        {
+            TurbineScheduler.startScheduler();
+            assertTrue(TurbineScheduler.isEnabled());
+
+            TurbineScheduler.stopScheduler();
+            assertFalse(TurbineScheduler.isEnabled());
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            fail();
+        }
+    }
+
+    /**
+     * Tests the ability to add and remove a job.  A list of jobs will be 
obtained from
+     * the service to determine if the operation were successful.
+     */
+    @Test public void testAddRemoveJob()
+    {
+        try
+        {
+            // get the current job count for later comparison
+            int jobCount = TurbineScheduler.listJobs().size();
+
+            // Add a new job entry
+            JobDetail jd = JobBuilder.newJob(JobEntryQuartz.class)
+                    .withIdentity("SimpleJob1", 
JobEntryQuartz.DEFAULT_JOB_GROUP_NAME)
+                    .build();
+            Trigger t = TriggerBuilder.newTrigger()
+                    .withIdentity("SimpleJob1", 
JobEntryQuartz.DEFAULT_JOB_GROUP_NAME)
+                    .withSchedule(CronScheduleBuilder.cronSchedule("10 * * * * 
?"))
+                    .forJob(jd)
+                    .build();
+                       JobEntryQuartz je = new JobEntryQuartz(t, jd);
+            je.setJobId(jobCount + 1);
+
+            TurbineScheduler.addJob(je);
+            assertEquals(jobCount + 1, TurbineScheduler.listJobs().size());
+
+            TurbineScheduler.removeJob(je);
+            assertEquals(jobCount, TurbineScheduler.listJobs().size());
+
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            fail();
+        }
+    }
+
+    /**
+     * Tests the ability to retrieve the job added during initialization.
+     */
+    @Test public void testGetJob()
+    {
+        try
+        {
+            JobKey jk = new JobKey("SimpleJob", 
JobEntryQuartz.DEFAULT_JOB_GROUP_NAME);
+                       JobEntry je = TurbineScheduler.getJob(jk.hashCode());
+                       assertThat(je, 
CoreMatchers.instanceOf(JobEntryQuartz.class));
+                       JobEntryQuartz jeq = (JobEntryQuartz)je;
+            assertEquals(jeq.getJobTrigger().getJobKey(), jk);
+            assertEquals(jeq.getTask(), "SimpleJob");
+        }
+        catch (TurbineException e)
+        {
+            e.printStackTrace();
+            fail();
+        }
+    }
+
+    /**
+     * Test to make sure a job actually runs.
+     */
+    @Test public void testRunningJob()
+    {
+        try
+        {
+           int beforeCount = SimpleJob.getCounter();
+           Thread.sleep(1200);
+           int afterCount = SimpleJob.getCounter();
+           assertTrue(beforeCount < afterCount);
+
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+            fail();
+        }
+    }
+
+}

Propchange: 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/QuartzSchedulerServiceTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/TurbineNonPersistentSchedulerServiceTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/services/schedule/TurbineNonPersistentSchedulerServiceTest.java?rev=1692639&r1=1692638&r2=1692639&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/TurbineNonPersistentSchedulerServiceTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/services/schedule/TurbineNonPersistentSchedulerServiceTest.java
 Sat Jul 25 19:24:06 2015
@@ -21,16 +21,22 @@ package org.apache.turbine.services.sche
 
 
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import org.apache.commons.configuration.BaseConfiguration;
 import org.apache.commons.configuration.Configuration;
-import org.apache.turbine.modules.scheduledjob.SimpleJob;
+import org.apache.turbine.modules.scheduledjobs.SimpleJob;
 import org.apache.turbine.services.ServiceManager;
 import org.apache.turbine.services.TurbineServices;
 import org.apache.turbine.util.TurbineException;
+import org.hamcrest.CoreMatchers;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
-import static org.junit.Assert.*;
 
 /**
  * Unit testing for the non-persistent implementation of the scheduler service.
@@ -107,7 +113,7 @@ public class TurbineNonPersistentSchedul
             int jobCount = TurbineScheduler.listJobs().size();
 
             // Add a new job entry
-                       JobEntry je = new JobEntry();
+                       JobEntryNonPersistent je = new JobEntryNonPersistent();
             je.setJobId(jobCount + 1);
             je.setSecond(0);
             je.setMinute(1);
@@ -138,13 +144,15 @@ public class TurbineNonPersistentSchedul
         try
         {
                        JobEntry je = TurbineScheduler.getJob(1);
-            assertEquals(je.getJobId(), 1);
-            assertEquals(je.getSecond(), 10);
-            assertEquals(je.getMinute(), -1);
-            assertEquals(je.getHour(), -1);
-            assertEquals(je.getDayOfMonth(), -1);
-            assertEquals(je.getWeekDay(), -1);
-            assertEquals(je.getTask(), "SimpleJob");
+                       assertThat(je, 
CoreMatchers.instanceOf(JobEntryNonPersistent.class));
+                       JobEntryNonPersistent jenp = (JobEntryNonPersistent)je;
+            assertEquals(jenp.getJobId(), 1);
+            assertEquals(jenp.getSecond(), 10);
+            assertEquals(jenp.getMinute(), -1);
+            assertEquals(jenp.getHour(), -1);
+            assertEquals(jenp.getDayOfMonth(), -1);
+            assertEquals(jenp.getWeekDay(), -1);
+            assertEquals(jenp.getTask(), "SimpleJob");
         }
         catch (TurbineException e)
         {
@@ -153,16 +161,19 @@ public class TurbineNonPersistentSchedul
         }
     }
 
-    /** Test to make sure a job actually runs.  Currently not work.
-     * @TODO Must get testRunningJob to work.
-     *
+    /**
+     * Test to make sure a job actually runs.
      */
-    @Ignore public void OFFtestRunningJob()
+    @Ignore // Doesn't work without the complete Turbine
+    @Test public void testRunningJob()
     {
+        TurbineScheduler.startScheduler();
+        assertTrue(TurbineScheduler.isEnabled());
+
         try
         {
            int beforeCount = SimpleJob.getCounter();
-           Thread.sleep(120000);
+           Thread.sleep(12000);
            int afterCount = SimpleJob.getCounter();
            assertTrue(beforeCount < afterCount);
 


Reply via email to