[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