[jbpm-commits] JBoss JBPM SVN: r5700 - in jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl: migration and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Oct 5 14:43:35 EDT 2009
Author: koen.aers at jboss.com
Date: 2009-10-05 14:43:35 -0400 (Mon, 05 Oct 2009)
New Revision: 5700
Added:
jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/
jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java
Log:
basic test for instance migration
Added: jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java (rev 0)
+++ jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java 2009-10-05 18:43:35 UTC (rev 5700)
@@ -0,0 +1,95 @@
+package org.jbpm.jpdl.migration;
+
+import java.util.List;
+
+import org.jbpm.api.Execution;
+import org.jbpm.api.ProcessDefinition;
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.history.HistoryDetail;
+import org.jbpm.pvm.internal.history.model.HistoryProcessInstanceMigrationImpl;
+import org.jbpm.test.JbpmTestCase;
+
+
+public class InstanceMigratorTest extends JbpmTestCase {
+
+ private String firstVersion =
+ "<process name='foobar'>" +
+ " <start>" +
+ " <transition to='foo'/>" +
+ " </start>" +
+ " <state name='foo'>" +
+ " <transition to='bar'/>" +
+ " </state>" +
+ " <state name='bar'>" +
+ " <transition to='end'/>" +
+ " </state>" +
+ " <end name='end'/>" +
+ "</process>";
+
+ private String secondVersion =
+ "<process name='foobar'>" +
+ " <start>" +
+ " <transition to='foo'/>" +
+ " </start>" +
+ " <state name='foo'>" +
+ " <transition to='bar'/>" +
+ " </state>" +
+ " <state name='bar'>" +
+ " <transition to='end'/>" +
+ " </state>" +
+ " <end name='end'/>" +
+ " <migrate-instances/>" +
+ "</process>";
+
+
+ public void testSimpleMigration() {
+ String deploymentId1 = repositoryService.createDeployment()
+ .addResourceFromString("foobar.jpdl.xml", firstVersion)
+ .deploy();
+ ProcessDefinition processDefinition1 = repositoryService
+ .createProcessDefinitionQuery()
+ .deploymentId(deploymentId1)
+ .uniqueResult();
+ Execution execution = executionService
+ .startProcessInstanceById(processDefinition1.getId())
+ .findActiveExecutionIn("foo");
+ executionService.signalExecutionById(execution.getId());
+ ProcessInstance processInstance1 = executionService
+ .createProcessInstanceQuery()
+ .processDefinitionId(processDefinition1.getId())
+ .uniqueResult();
+ assertNotNull(processInstance1.findActiveExecutionIn("bar"));
+
+ String deploymentId2 = repositoryService.createDeployment()
+ .addResourceFromString("foobar.jpdl.xml", secondVersion)
+ .deploy();
+ ProcessDefinition processDefinition2 = repositoryService
+ .createProcessDefinitionQuery()
+ .deploymentId(deploymentId2)
+ .uniqueResult();
+ ProcessInstance processInstance2 = executionService
+ .createProcessInstanceQuery()
+ .processDefinitionId(processDefinition2.getId())
+ .uniqueResult();
+
+ assertNotNull(processInstance2);
+
+ List<HistoryDetail> historyDetails = historyService
+ .createHistoryDetailQuery()
+ .processInstanceId(processInstance2.getId())
+ .list();
+ HistoryProcessInstanceMigrationImpl historyProcessInstanceMigration = null;
+ for (HistoryDetail historyDetail : historyDetails) {
+ if (historyDetail instanceof HistoryProcessInstanceMigrationImpl) {
+ historyProcessInstanceMigration = (HistoryProcessInstanceMigrationImpl)historyDetail;
+ }
+ }
+
+ assertNotNull(historyProcessInstanceMigration);
+
+ repositoryService.deleteDeploymentCascade(deploymentId2);
+ repositoryService.deleteDeploymentCascade(deploymentId1);
+
+ }
+
+}
Property changes on: jbpm4/trunk/modules/jpdl/src/test/java/org/jbpm/jpdl/migration/InstanceMigratorTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
More information about the jbpm-commits
mailing list