[jboss-svn-commits] JBL Code SVN: r24638 - labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/persistence.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 9 08:48:51 EST 2009
Author: mfossati
Date: 2009-01-09 08:48:50 -0500 (Fri, 09 Jan 2009)
New Revision: 24638
Added:
labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/persistence/OSWorkFlowPersistenceSplitJoinTestCase.java
Log:
Test case for Split/Join node functionality
Added: labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/persistence/OSWorkFlowPersistenceSplitJoinTestCase.java
===================================================================
--- labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/persistence/OSWorkFlowPersistenceSplitJoinTestCase.java (rev 0)
+++ labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/persistence/OSWorkFlowPersistenceSplitJoinTestCase.java 2009-01-09 13:48:50 UTC (rev 24638)
@@ -0,0 +1,101 @@
+package org.drools.osworkflow.test.persistence;
+
+import java.util.Properties;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseConfiguration;
+import org.drools.osworkflow.core.command.DoActionCommand;
+import org.drools.osworkflow.instance.OSWorkflowProcessInstance;
+import org.drools.osworkflow.instance.node.StepNodeInstance;
+import org.drools.persistence.session.SingleSessionCommandService;
+import org.drools.process.command.GetProcessInstanceCommand;
+import org.drools.process.command.StartProcessCommand;
+import org.drools.runtime.process.ProcessInstance;
+
+public class OSWorkFlowPersistenceSplitJoinTestCase extends AbstractJPAPersistenceTestCase {
+
+
+ public void testPersistence() {
+ Properties properties = setupCommonProperties();
+ RuleBaseConfiguration conf = new RuleBaseConfiguration(properties);
+ // load the process
+ RuleBase ruleBase = createKnowledgeBase(conf,"/simple2rf.rf");
+
+ SingleSessionCommandService service = new SingleSessionCommandService(ruleBase);
+ StartProcessCommand startProcessCommand = new StartProcessCommand();
+ startProcessCommand.setProcessId("simple2");
+ ProcessInstance processInstance = (ProcessInstance) service.execute(startProcessCommand);
+ System.out.println("Started process instance " + processInstance.getId());
+
+ service = new SingleSessionCommandService(ruleBase);
+ GetProcessInstanceCommand getProcessInstanceCommand = new GetProcessInstanceCommand();
+ getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+ processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+ assertNotNull(processInstance);
+ System.out.println("Now working with processInstance " + processInstance.getId());
+ assertEquals("Active",
+ ((StepNodeInstance)
+ ((OSWorkflowProcessInstance)processInstance)
+ .getNodeInstances().iterator().next()).getStatus());
+
+ service = new SingleSessionCommandService(ruleBase);
+ DoActionCommand doActionCmd = new DoActionCommand();
+ doActionCmd.setProcessInstanceId(processInstance.getId());
+ doActionCmd.setActionId(2); //Action to be executed at current step
+ service.execute(doActionCmd);
+
+
+ service = new SingleSessionCommandService(ruleBase);
+ getProcessInstanceCommand = new GetProcessInstanceCommand();
+ getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+ processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+ assertNotNull(processInstance);
+
+ service = new SingleSessionCommandService(ruleBase);
+ doActionCmd = new DoActionCommand();
+ doActionCmd.setProcessInstanceId(processInstance.getId());
+ doActionCmd.setActionId(3); //Action to be executed at current step
+ service.execute(doActionCmd);
+
+ service = new SingleSessionCommandService(ruleBase);
+ getProcessInstanceCommand = new GetProcessInstanceCommand();
+ getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+ processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+ assertNotNull(processInstance);
+
+ service = new SingleSessionCommandService(ruleBase);
+ doActionCmd = new DoActionCommand();
+ doActionCmd.setProcessInstanceId(processInstance.getId());
+ doActionCmd.setActionId(4); //Action to be executed at current step
+ service.execute(doActionCmd);
+
+ service = new SingleSessionCommandService(ruleBase);
+ getProcessInstanceCommand = new GetProcessInstanceCommand();
+ getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+ processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+ assertNotNull(processInstance);
+
+ assertEquals("Active",
+ ((StepNodeInstance)
+ ((OSWorkflowProcessInstance)processInstance)
+ .getNodeInstances().iterator().next()).getStatus());
+
+ service = new SingleSessionCommandService(ruleBase);
+ doActionCmd = new DoActionCommand();
+ doActionCmd.setProcessInstanceId(processInstance.getId());
+ doActionCmd.setActionId(5); //Action to be executed at current step
+ service.execute(doActionCmd);
+
+
+ service = new SingleSessionCommandService(ruleBase);
+ getProcessInstanceCommand = new GetProcessInstanceCommand();
+ getProcessInstanceCommand.setProcessInstanceId(processInstance.getId());
+ processInstance = (ProcessInstance) service.execute(getProcessInstanceCommand);
+ assertNull(processInstance);
+
+ }
+
+
+
+
+}
More information about the jboss-svn-commits
mailing list