[jbpm-commits] JBoss JBPM SVN: r2795 - in jbpm3/trunk/modules/core/src: test/java/org/jbpm/jbpm1072 and 4 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Nov 7 05:18:27 EST 2008


Author: tom.baeyens at jboss.com
Date: 2008-11-07 05:18:27 -0500 (Fri, 07 Nov 2008)
New Revision: 2795

Modified:
   jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/seam/JobExecutorCustomizationTest.java
   jbpm3/trunk/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java
Log:
fixed timer tests

Modified: jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java
===================================================================
--- jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java	2008-11-07 10:05:15 UTC (rev 2794)
+++ jbpm3/trunk/modules/core/src/main/java/org/jbpm/db/AbstractDbTestCase.java	2008-11-07 10:18:27 UTC (rev 2795)
@@ -199,7 +199,7 @@
     jobExecutor.start();
   }
 
-  protected void waitForJobs(long timeout, int maxJobs)
+  protected void waitForJobs(long timeout)
   {
     // install a timer that will interrupt if it takes too long
     // if that happens, it will lead to an interrupted exception and the test
@@ -216,10 +216,10 @@
     };
     Timer timer = new Timer();
     timer.schedule(interruptTask, timeout);
-
+    
     try
     {
-      while (getNbrOfJobsAvailable() > maxJobs)
+      while (getNbrOfJobsAvailable() > 0)
       {
         log.debug("going to sleep for 200 millis, waiting for the job executor to process more jobs");
         Thread.sleep(200);
@@ -280,16 +280,11 @@
 
   protected void processJobs(long maxWait)
   {
-    processJobs(maxWait, 0);
-  }
-
-  protected void processJobs(long maxWait, int maxJobs)
-  {
     commitAndCloseSession();
     startJobExecutor();
     try
     {
-      waitForJobs(maxWait, maxJobs);
+      waitForJobs(maxWait);
     }
     finally
     {

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java	2008-11-07 10:05:15 UTC (rev 2794)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1072/JBPM1072Test.java	2008-11-07 10:18:27 UTC (rev 2795)
@@ -109,7 +109,7 @@
       EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
       assertEquals(2, executionCount);
 
-      waitForJobs(EventCallback.DEFAULT_TIMEOUT, 0);
+      waitForJobs(EventCallback.DEFAULT_TIMEOUT);
     }
     finally {
       beginSessionTransaction();

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java	2008-11-07 10:05:15 UTC (rev 2794)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java	2008-11-07 10:18:27 UTC (rev 2795)
@@ -78,7 +78,7 @@
       assertTrue(hasProcessInstanceEnded(processInstanceId));
     }
 
-    processJobs(maxWaitTime, 0);
+    processJobs(maxWaitTime);
   }
 
   private void waitForProcessInstanceEnd(long processInstanceId) {

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java	2008-11-07 10:05:15 UTC (rev 2794)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/scheduler/exe/TimerDbTest.java	2008-11-07 10:18:27 UTC (rev 2795)
@@ -25,7 +25,10 @@
 import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.List;
+import java.util.TimerTask;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.hibernate.criterion.Restrictions;
 import org.jbpm.context.exe.ContextInstance;
 import org.jbpm.db.AbstractDbTestCase;
@@ -36,11 +39,14 @@
 import org.jbpm.graph.exe.ExecutionContext;
 import org.jbpm.graph.exe.ProcessInstance;
 import org.jbpm.job.Timer;
+import org.jbpm.job.executor.JobExecutorThread;
 import org.jbpm.taskmgmt.exe.TaskInstance;
 import org.jbpm.util.DateDbTestUtil;
 
 public class TimerDbTest extends AbstractDbTestCase {
 
+  private static Log log = LogFactory.getLog(Timer.class);
+
   static boolean isNoOpExecuted = false;
 
   protected void setUp() throws Exception {
@@ -245,8 +251,13 @@
       processInstance = saveAndReload(processInstance);
       assertEquals(1, getTimerCount());
       processInstance.signal();
+      
+      newTransaction();
 
-      processJobs(30 * 1000, 1);
+      assertEquals(1, getTimerCount());
+
+      processJobs(20000);
+
       assertEquals(0, getTimerCount());
     }
     finally {
@@ -290,7 +301,7 @@
     }
   }
 
-  public void testTimerRepeat() {
+  public void testTimerRepeat() throws Exception {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
         + "  <start-state>"
         + "    <transition to='a' />"
@@ -317,6 +328,7 @@
       newTransaction();
 
       Timer timer = (Timer) jobSession.getFirstAcquirableJob(null);
+      
       assertNotNull(timer);
       Date date = timer.getDueDate();
       assertNotNull(date);
@@ -324,11 +336,14 @@
       // assertTrue(date.getTime() <= after);
       long origDueDate = date.getTime();
 
-      processJobs(2500, 1);
+      timer.execute(jbpmContext);
 
-      timer = (Timer) session.createQuery("from org.jbpm.job.Timer")
-          .setMaxResults(1)
-          .uniqueResult();
+      newTransaction();
+
+      List timers = session.createQuery("from org.jbpm.job.Timer").list();
+      assertEquals(1, timers.size());
+      timer = (Timer) timers.get(0);
+
       assertEquals(origDueDate + 5000, timer.getDueDate().getTime());
 
       processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
@@ -362,7 +377,7 @@
 
   }
 
-  public void testTimerUpdatingProcessVariables() {
+  public void testTimerUpdatingProcessVariables() throws Exception {
     // variable a will be a task instance local variable
     // variable b will be a process instance variable
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString("<process-definition>"
@@ -391,8 +406,13 @@
       processInstance.signal();
       jbpmContext.save(processInstance);
 
-      processJobs(2500, 1);
+      newTransaction();
 
+      Timer timer = (Timer) jobSession.getFirstAcquirableJob(null);
+      timer.execute(jbpmContext);
+
+      newTransaction();
+
       processInstance = jbpmContext.loadProcessInstance(processInstance.getId());
       contextInstance = processInstance.getContextInstance();
       assertEquals("value a", contextInstance.getVariable("a"));

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/seam/JobExecutorCustomizationTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/seam/JobExecutorCustomizationTest.java	2008-11-07 10:05:15 UTC (rev 2794)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/seam/JobExecutorCustomizationTest.java	2008-11-07 10:18:27 UTC (rev 2795)
@@ -42,7 +42,7 @@
       
       jobExecutor.start();
       try {
-        waitForJobs(20000, 0);
+        waitForJobs(20000);
       } finally {
         jobExecutor.stop();
       }

Modified: jbpm3/trunk/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java
===================================================================
--- jbpm3/trunk/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java	2008-11-07 10:05:15 UTC (rev 2794)
+++ jbpm3/trunk/modules/core/src/test/java/org/jbpm/taskmgmt/exe/TaskTimerExecutionDbTest.java	2008-11-07 10:18:27 UTC (rev 2795)
@@ -192,7 +192,7 @@
     }
   }
 
-  public void testTimerExecutionRepeat() {
+  public void testTimerExecutionRepeat() throws Exception {
     ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
       "<process-definition>" +
       "  <start-state>" +
@@ -222,7 +222,7 @@
       assertNotNull(timer);
       long originalDueDate = timer.getDueDate().getTime();
 
-      processJobs(5000, 1);
+      timer.execute(jbpmContext);
       assertEquals(1, counter);
 
       // check if the timer has be re-scheduled because of the repeat.
@@ -233,6 +233,7 @@
     }
     finally
     {
+      newTransaction();
       jbpmContext.getGraphSession().deleteProcessDefinition(processDefinition.getId());
     }
   }




More information about the jbpm-commits mailing list