[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