Author: tom.baeyens(a)jboss.com
Date: 2008-12-27 08:44:33 -0500 (Sat, 27 Dec 2008)
New Revision: 3561
Added:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/
Removed:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/basicfeatures/
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/db/basicfeatures/
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/db/continuation/
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/env/NestedEnvironmentTest.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/AutomaticActivity.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/ContinuationTest.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/Recorder.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/WaitState.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/ExclusiveMessagesTest.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailOnceMessageTest.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailingMessageTest.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTestCase.java
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/NormalMessageTest.java
Log:
cleaning pvm test suite
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/env/NestedEnvironmentTest.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/env/NestedEnvironmentTest.java 2008-12-27
13:20:00 UTC (rev 3560)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/env/NestedEnvironmentTest.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -29,8 +29,7 @@
/**
* @author Tom Baeyens
*/
-public class NestedEnvironmentTest extends JbpmTestCase
-{
+public class NestedEnvironmentTest extends JbpmTestCase {
public void testNestedEnvironments() {
EnvironmentFactory environmentFactory = JbpmConfiguration.parseXmlString(
Copied: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation (from rev 3557,
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/db/continuation)
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/AutomaticActivity.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/db/continuation/AutomaticActivity.java 2008-12-27
11:30:11 UTC (rev 3557)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/AutomaticActivity.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -19,7 +19,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
*/
-package org.jbpm.pvm.api.db.continuation;
+package org.jbpm.pvm.continuation;
import org.jbpm.activity.Activity;
import org.jbpm.activity.ActivityExecution;
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/ContinuationTest.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/db/continuation/ContinuationTest.java 2008-12-27
11:30:11 UTC (rev 3557)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/ContinuationTest.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -19,56 +19,37 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
*/
-package org.jbpm.pvm.api.db.continuation;
+package org.jbpm.pvm.continuation;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
-import junit.framework.Test;
-
import org.hibernate.Session;
-import org.jbpm.client.ClientExecution;
-import org.jbpm.client.ClientProcessDefinition;
import org.jbpm.cmd.Command;
import org.jbpm.env.Environment;
-import org.jbpm.env.EnvironmentFactory;
import org.jbpm.log.Log;
import org.jbpm.model.OpenProcessDefinition;
-import org.jbpm.pvm.internal.job.JobImpl;
-import org.jbpm.pvm.internal.jobexecutor.JobExecutor;
+import org.jbpm.pvm.internal.jobexecutor.JobExecutorTestCase;
import org.jbpm.pvm.model.ProcessFactory;
-import org.jbpm.session.DbSession;
-import org.jbpm.session.PvmDbSession;
-import org.jbpm.test.OldDbTestCase;
-import org.jbpm.test.EnvironmentFactoryTestSetup;
/**
* @author Tom Baeyens
*/
-public class ContinuationTest extends OldDbTestCase {
+public class ContinuationTest extends JobExecutorTestCase {
- private static final Log log = Log.getLog(ContinuationTest.class.getName());
+ // private static final Log log = Log.getLog(ContinuationTest.class.getName());
static Recorder recorder = new Recorder();
+ int nbrOfExecutions = 1;
+
public void testContinuations() {
- int nbrOfExecutions = 20;
- int testTimeoutMillis = 20000;
- int checkInterval = 500;
- EnvironmentFactory environmentFactory = getEnvironmentFactory();
-
- Set<Integer> expected = new HashSet<Integer>();
- JobExecutor jobExecutor = environmentFactory.get(JobExecutor.class);
try {
- deployProcess(environmentFactory);
- startExecutions(nbrOfExecutions, environmentFactory, expected);
+ deployProcess();
+ startExecutions();
jobExecutor.start();
- waitTillNoMoreMessages(jobExecutor, testTimeoutMillis, checkInterval,
environmentFactory);
+ waitTillNoMoreMessages();
} finally {
jobExecutor.stop(true);
@@ -80,96 +61,43 @@
expectedLogs.add("execute(b)");
expectedLogs.add("execute(c)");
expectedLogs.add("execute(end)");
-
+
assertEquals(nbrOfExecutions, recorder.executionEvents.size());
for (List<String> executionLogs : recorder.executionEvents.values()) {
assertEquals(expectedLogs, executionLogs);
}
}
- public void deployProcess(EnvironmentFactory environmentFactory) {
+ public void deployProcess() {
commandService.execute(new Command<Object>() {
-
public Object execute(Environment environment) throws Exception {
- log.debug("building process 'continuations'");
- OpenProcessDefinition processDefinition =
ProcessFactory.build("continuations").node("start").initial().behaviour(AutomaticActivity.class)
-
.asyncExecute().transition().to("a").node("a").behaviour(AutomaticActivity.class).asyncExecute().transition().to("b").node("b").behaviour(
-
AutomaticActivity.class).asyncExecute().transition().to("c").node("c").behaviour(AutomaticActivity.class).asyncExecute().transition()
-
.to("end").node("end").behaviour(WaitState.class).done();
-
- log.debug("saving process 'continuations'");
- environment.get(DbSession.class).save(processDefinition);
+ OpenProcessDefinition processDefinition =
ProcessFactory.build("continuations")
+ .key("continuations")
+ .node("start").initial().behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("a")
+ .node("a").behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("b")
+ .node("b").behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("c")
+ .node("c").behaviour(AutomaticActivity.class)
+ .asyncExecute()
+ .transition().to("end")
+ .node("end").behaviour(WaitState.class)
+ .done();
+
+ Session session = environment.get(Session.class);
+ session.save(processDefinition);
return null;
}
});
}
- public void startExecutions(int nbrOfExecutions, EnvironmentFactory environmentFactory,
Set<Integer> expected) {
+ public void startExecutions() {
for (int i = 0; i < nbrOfExecutions; i++) {
- commandService.execute(new Command<Object>() {
-
- public Object execute(Environment environment) throws Exception {
- PvmDbSession pvmDbSession = environment.get(PvmDbSession.class);
- ClientProcessDefinition processDefinition =
pvmDbSession.findLatestProcessDefinitionByKey("continuations");
- ClientExecution execution = processDefinition.startProcessInstance();
- pvmDbSession.save(execution);
- return null;
- }
- });
+ executionService.startExecutionByKey("continuations");
}
}
-
- public void waitTillNoMoreMessages(JobExecutor jobExecutor, int maxWait, int
checkInterval, EnvironmentFactory environmentFactory) {
-
- // install a timer that will interrupt if it takes too long
- // if that happens, it will lead to an interrupted exception and the test
- // will fail
- TimerTask interruptTask = new TimerTask() {
-
- Thread testThread = Thread.currentThread();
-
- public void run() {
- log.debug("test " + getName() + " took too long. going to
interrupt..." + testThread);
- testThread.interrupt();
- }
- };
- Timer timer = new Timer();
- timer.schedule(interruptTask, maxWait);
-
- try {
- boolean jobsAvailable = true;
- while (jobsAvailable) {
- log.debug("going to sleep for " + checkInterval + " millis,
waiting for the jobImpl executor to process more jobs");
- Thread.sleep(checkInterval);
- jobsAvailable = areJobsAvailable(environmentFactory);
- }
-
- } catch (InterruptedException e) {
- fail("test execution exceeded treshold of " + maxWait + "
milliseconds");
- } finally {
- timer.cancel();
- }
- }
-
- private boolean areJobsAvailable(EnvironmentFactory environmentFactory) {
- Integer nbrOfJobsAvailable = (Integer) commandService.execute(new
Command<Object>() {
-
- public Object execute(Environment environment) throws Exception {
- Session session = environment.get(Session.class);
- Number jobs = (Number) session.createQuery("select count(*) from " +
JobImpl.class.getName()).uniqueResult();
- if (jobs != null) {
- return jobs.intValue();
- }
- return 0;
- }
- });
-
- boolean areJobsAvailable = nbrOfJobsAvailable > 0;
- if (areJobsAvailable) {
- log.debug("there are " + nbrOfJobsAvailable + " jobs currently in
the jobImpl table");
- } else {
- log.debug("all jobs are processed");
- }
- return areJobsAvailable;
- }
}
Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/Recorder.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/db/continuation/Recorder.java 2008-12-27
11:30:11 UTC (rev 3557)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/Recorder.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -19,7 +19,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
*/
-package org.jbpm.pvm.api.db.continuation;
+package org.jbpm.pvm.continuation;
import java.util.ArrayList;
import java.util.HashMap;
Modified: jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/WaitState.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/api/db/continuation/WaitState.java 2008-12-27
11:30:11 UTC (rev 3557)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/continuation/WaitState.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -19,7 +19,7 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
*/
-package org.jbpm.pvm.api.db.continuation;
+package org.jbpm.pvm.continuation;
import java.util.Map;
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/ExclusiveMessagesTest.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/ExclusiveMessagesTest.java 2008-12-27
13:20:00 UTC (rev 3560)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/ExclusiveMessagesTest.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -60,7 +60,7 @@
jobExecutor.start();
try {
- waitTillNoMoreMessages(jobExecutor);
+ waitTillNoMoreMessages();
} finally {
jobExecutor.stop(true);
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailOnceMessageTest.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailOnceMessageTest.java 2008-12-27
13:20:00 UTC (rev 3560)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailOnceMessageTest.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -52,7 +52,7 @@
jobExecutor.start();
try {
insertFailOnceTestMessages();
- waitTillNoMoreMessages(jobExecutor);
+ waitTillNoMoreMessages();
} finally {
log.debug("stopping job executor");
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailingMessageTest.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailingMessageTest.java 2008-12-27
13:20:00 UTC (rev 3560)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/FailingMessageTest.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -54,7 +54,7 @@
}
});
- waitTillNoMoreMessages(jobExecutor);
+ waitTillNoMoreMessages();
} finally {
jobExecutor.stop(true);
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTestCase.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTestCase.java 2008-12-27
13:20:00 UTC (rev 3560)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/JobExecutorTestCase.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -58,7 +58,7 @@
jobExecutor = processEngine.get(JobExecutor.class);
}
- protected void waitTillNoMoreMessages(JobExecutor jobExecutor) {
+ protected void waitTillNoMoreMessages() {
// install a timer that will interrupt if it takes too long
// if that happens, it will lead to an interrupted exception and the test
Modified:
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/NormalMessageTest.java
===================================================================
---
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/NormalMessageTest.java 2008-12-27
13:20:00 UTC (rev 3560)
+++
jbpm4/trunk/modules/pvm/src/test/java/org/jbpm/pvm/internal/jobexecutor/NormalMessageTest.java 2008-12-27
13:44:33 UTC (rev 3561)
@@ -60,7 +60,7 @@
}
// wait till all messages are processed
- waitTillNoMoreMessages(jobExecutor);
+ waitTillNoMoreMessages();
} finally {
jobExecutor.stop(true);