[jboss-svn-commits] JBL Code SVN: r24639 - in labs/jbossrules/branches/mfossati/drools-osworkflow/src/test: java/org/drools/osworkflow/test and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 9 09:13:31 EST 2009


Author: mfossati
Date: 2009-01-09 09:13:30 -0500 (Fri, 09 Jan 2009)
New Revision: 24639

Added:
   labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf
Modified:
   labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java
   labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java
Log:
More test cases

Modified: labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java
===================================================================
--- labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java	2009-01-09 13:48:50 UTC (rev 24638)
+++ labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/dummy/DummyFunctionProvider.java	2009-01-09 14:13:30 UTC (rev 24639)
@@ -24,7 +24,8 @@
 	public void execute(Map transientVars, Map args, PropertySet ps){
 		String name = (String)args.get("name");
 		String message = (String)args.get("message");
-		logger.info("Function" +name+ "called with message: " + message);
+		logger.info("Function " +name+ " called with message: " + message);
+		transientVars.put(message, "dummy" + message);
 	}
 
 }

Modified: labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java
===================================================================
--- labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java	2009-01-09 13:48:50 UTC (rev 24638)
+++ labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/java/org/drools/osworkflow/test/ComplexProcessTestCase.java	2009-01-09 14:13:30 UTC (rev 24639)
@@ -1,11 +1,17 @@
 package org.drools.osworkflow.test;
 
+import java.io.StringReader;
 import java.util.Collection;
 import java.util.Collections;
 
 import junit.framework.TestCase;
 
+import org.drools.compiler.PackageBuilderConfiguration;
 import org.drools.osworkflow.DroolsWorkflow;
+import org.drools.osworkflow.OSWorkflowParser;
+import org.drools.osworkflow.core.OSWorkflowProcess;
+import org.drools.osworkflow.xml.XmlOSWorkflowProcessDumper;
+import org.drools.xml.XmlProcessReader;
 
 import com.opensymphony.workflow.InvalidActionException;
 import com.opensymphony.workflow.InvalidEntryStateException;
@@ -14,56 +20,81 @@
 import com.opensymphony.workflow.Workflow;
 import com.opensymphony.workflow.WorkflowException;
 import com.opensymphony.workflow.config.DefaultConfiguration;
+import com.opensymphony.workflow.loader.WorkflowDescriptor;
 import com.opensymphony.workflow.spi.Step;
 
 public class ComplexProcessTestCase extends TestCase {
-	
-		public void testComplexProcess() {
-			Workflow workflow = new DroolsWorkflow();
-			DefaultConfiguration config = new DefaultConfiguration();
-			workflow.setConfiguration(config);
-			try {
-				long id = workflow.initialize("entrevista", 1, null);
-				Collection<Step> currentSteps = workflow.getCurrentSteps(id);
-	            //verify we only have one current step
-	            assertEquals("Unexpected number of current steps", 1, currentSteps.size());
-	            //verify it's step 1
-	            Step currentStep = currentSteps.iterator().next();
-	            assertEquals("Unexpected current step", 1, currentStep.getStepId());
 
-	            int[] availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
-	            //verify we only have 6 available actions
-	            assertEquals("Unexpected number of available actions", 6, availableActions.length);
-	            workflow.doAction(id, 2, null);
-	            currentSteps = workflow.getCurrentSteps(id);
-	            //verify we  have two  current step
-	            assertEquals("Unexpected number of current steps", 2, currentSteps.size());
-	            //verify it's step 1
-	            currentStep = currentSteps.iterator().next();
-	            assertEquals("Unexpected current step", 1, currentStep.getStepId());
-	            
-	            availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
-	            //verify we only have one available action
-	            assertEquals("Unexpected number of available actions", 1, availableActions.length);
-	            //verify it's action 3
-	            assertEquals("Unexpected available action", 3, availableActions[0]);
-				
-			} catch (InvalidActionException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			} catch (InvalidRoleException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			} catch (InvalidInputException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			} catch (InvalidEntryStateException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			} catch (WorkflowException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
+	public void testComplexProcess() {
+		Workflow workflow = new DroolsWorkflow();
+		DefaultConfiguration config = new DefaultConfiguration();
+		workflow.setConfiguration(config);
+		try {
+			long id = workflow.initialize("entrevista", 1, null);
+			Collection<Step> currentSteps = workflow.getCurrentSteps(id);
+			// verify we only have one current step
+			assertEquals("Unexpected number of current steps", 1, currentSteps.size());
+			// verify it's step 1
+			Step currentStep = currentSteps.iterator().next();
+			assertEquals("Unexpected current step", 1, currentStep.getStepId());
+
+			int[] availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
+			// verify we only have 6 available actions
+			assertEquals("Unexpected number of available actions", 6, availableActions.length);
+			workflow.doAction(id, 2, null);
+			currentSteps = workflow.getCurrentSteps(id);
+			// verify we have one current step
+			assertEquals("Unexpected number of current steps", 1, currentSteps.size());
+			// verify it's step 2
+			currentStep = currentSteps.iterator().next();
+			assertEquals("Unexpected current step", 2, currentStep.getStepId());
+
+			availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
+			// verify we have 6 available action
+			assertEquals("Unexpected number of available actions", 6, availableActions.length);
+			// //verify it's action 3
+			// assertEquals("Unexpected available action", 3,
+			// availableActions[0]);
+			workflow.doAction(id, 6, null);
+			currentSteps = workflow.getCurrentSteps(id);
+			// verify we have no current Step (since we ended the process)
+			assertEquals("Unexpected number of current steps", 0, currentSteps.size());
+			// verify we have no available action
+			availableActions = workflow.getAvailableActions(id, Collections.EMPTY_MAP);
+			assertEquals("Unexpected number of available actions", 0, availableActions.length);
+
+		} catch (InvalidActionException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (InvalidRoleException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (InvalidInputException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (InvalidEntryStateException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (WorkflowException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
 		}
+	}
 
+	public void testToXML() throws Exception {
+        DefaultConfiguration config = new DefaultConfiguration();
+        config.load(null);
+        WorkflowDescriptor workflowDescriptor = config.getWorkflow("entrevista");
+	    OSWorkflowProcess process = new OSWorkflowParser().parseOSWorkflow(workflowDescriptor);
+	    
+	    String processXML = XmlOSWorkflowProcessDumper.INSTANCE.dump(process);
+	    System.out.println(processXML);
+	    
+	    XmlProcessReader reader = new XmlProcessReader(
+            new PackageBuilderConfiguration().getSemanticModules());
+	    System.setProperty( "drools.schema.validating", "false" );
+	    OSWorkflowProcess process2 = (OSWorkflowProcess) reader.read(new StringReader(processXML));
+        assertNotNull(process2);
+	}
+	
 }

Added: labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf
===================================================================
--- labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf	                        (rev 0)
+++ labs/jbossrules/branches/mfossati/drools-osworkflow/src/test/resources/entrevistarf.rf	2009-01-09 14:13:30 UTC (rev 24639)
@@ -0,0 +1,233 @@
+<process xmlns="http://drools.org/drools-4.0/osworkflow"
+         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+         xs:schemaLocation="http://drools.org/drools-4.0/osworkflow drools-osworkflow-4.0.xsd"
+         type="OSWorkflow" name="entrevista" id="entrevista" package-name="org.drools.osworkflow" >
+
+  <header>
+<initial-actions>
+      <action id="1" name="Crear Entrevista">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+    </initial-actions>
+  </header>
+
+  <nodes>
+    <step id="1" name="Esperar Afiliado" >
+      <action id="2" name="Postergar Llamado">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Pendiente 1er Contacto con Afiliado" status="Pendiente 1er Contacto con Afiliado" step="2" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="3" name="Replanificar Entrevista">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="9" name="Cerrar Entrevista">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="10" name="Cerrar sin entrevista">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Cerrada sin Entrevista" status="Cerrada sin Entrevista" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="11" name="Confirmar Replanificacion Entrevista">
+        <restrict-to>
+          <conditions type="AND">
+            <condition type="beanshell">
+              <arg name="script"><![CDATA[true]]></arg>
+            </condition>
+            <condition type="class">
+              <arg name="message">GEN at SUB</arg>
+              <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+            </condition>
+          </conditions>
+        </restrict-to>
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1"/>
+        </results>
+      </action>
+      <action id="12" name="Confirmar Cierre de Entrevista">
+        <restrict-to>
+          <conditions type="AND">
+            <condition type="beanshell">
+              <arg name="script"><![CDATA[true]]></arg>
+            </condition>
+            <condition type="class">
+              <arg name="message">GEN at SUB</arg>
+              <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+            </condition>
+          </conditions>
+        </restrict-to>
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3"/>
+        </results>
+      </action>
+    </step>
+    <step id="2" name="Esperar 2do Contacto" >
+      <action id="4" name="Cerrar Entrevista">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="5" name="Replanificar">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="6" name="Cerrar sin entrevista">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Cerrada sin Entrevista" status="Cerrada sin Entrevista" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="7" name="Cerrar sin contacto">
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Cerrada sin Contacto" status="Cerrada sin Contacto" step="3" owner="AO-FILIAL-${filialAsignada}"/>
+        </results>
+      </action>
+      <action id="13" name="Confirmar Replanificacion Entrevista">
+        <restrict-to>
+          <conditions type="AND">
+            <condition type="beanshell">
+              <arg name="script"><![CDATA[true]]></arg>
+            </condition>
+            <condition type="class">
+              <arg name="message">GEN at SUB</arg>
+              <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+            </condition>
+          </conditions>
+        </restrict-to>
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Pendiente" status="Entrevista Pendiente" step="1"/>
+        </results>
+      </action>
+      <action id="14" name="Confirmar Cierre de Entrevista">
+        <restrict-to>
+          <conditions type="AND">
+            <condition type="beanshell">
+              <arg name="script"><![CDATA[true]]></arg>
+            </condition>
+            <condition type="class">
+              <arg name="message">GEN at SUB</arg>
+              <arg name="class.name">org.drools.osworkflow.dummy.DummyCondition</arg>
+            </condition>
+          </conditions>
+        </restrict-to>
+        <pre-functions>
+          <function type="class">
+            <arg name="message">filialAsignada</arg>
+            <arg name="name">EntrevistaSUBA.IdFilial</arg>
+            <arg name="class.name">org.drools.osworkflow.dummy.DummyFunctionProvider</arg>
+          </function>
+        </pre-functions>
+        <results>
+          <unconditional-result old-status="Entrevista Cerrada" status="Entrevista Cerrada" step="3"/>
+        </results>
+      </action>
+    </step>
+    <step id="3" name="Cerrado" >
+    </step>
+  </nodes>
+
+  <connections>
+    <connection from="2" fromType="5" to="1" toType="Entrevista Pendiente" />
+    <connection from="2" fromType="13" to="1" toType="Entrevista Pendiente" />
+    <connection from="1" fromType="2" to="2" toType="Pendiente 1er Contacto con Afiliado" />
+    <connection from="1" fromType="9" to="3" toType="Entrevista Cerrada" />
+    <connection from="1" fromType="12" to="3" toType="Entrevista Cerrada" />
+    <connection from="2" fromType="4" to="3" toType="Entrevista Cerrada" />
+    <connection from="2" fromType="14" to="3" toType="Entrevista Cerrada" />
+    <connection from="1" fromType="10" to="3" toType="Cerrada sin Entrevista" />
+    <connection from="2" fromType="6" to="3" toType="Cerrada sin Entrevista" />
+    <connection from="2" fromType="7" to="3" toType="Cerrada sin Contacto" />
+  </connections>
+
+</process>




More information about the jboss-svn-commits mailing list