[jbpm-commits] JBoss JBPM SVN: r5150 - in jbpm4/trunk/modules: test-db/src/test/java/org/jbpm/test/activities and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Jun 29 08:16:21 EDT 2009


Author: jbarrez
Date: 2009-06-29 08:16:21 -0400 (Mon, 29 Jun 2009)
New Revision: 5150

Modified:
   jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ForkToTaskTest.java
Log:
Added test case for JBPM-2303

Modified: jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java
===================================================================
--- jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java	2009-06-29 11:52:28 UTC (rev 5149)
+++ jbpm4/trunk/modules/test-base/src/main/java/org/jbpm/test/JbpmTestCase.java	2009-06-29 12:16:21 UTC (rev 5150)
@@ -36,6 +36,7 @@
 import org.jbpm.api.ProcessInstance;
 import org.jbpm.api.RepositoryService;
 import org.jbpm.api.TaskService;
+import org.jbpm.api.history.HistoryProcessInstance;
 import org.jbpm.api.task.Task;
 
 /** base class for persistent jBPM tests.
@@ -191,6 +192,10 @@
             executionService.findProcessInstanceById(processInstanceId));
   }
   
+  public void assertProcessInstanceEnded(String processInstanceId) {
+    assertExecutionEnded(processInstanceId);
+  }
+  
   public void assertProcessInstanceEnded(ProcessInstance processInstance) {
     assertExecutionEnded(processInstance.getId());
   }
@@ -198,15 +203,23 @@
   public void assertActiveActivity(String activityName, String executionId) {
     Execution execution = executionService.findExecutionById(executionId);
     assertTrue("The given execution (or any child execution) isn't in the activity '" + activityName 
-            + "' (current activities : " + listAllActiveActivites(execution) + ")", 
+            + "' (current activities : " + listAllActiveActivites(executionId) + ")", 
             execution.isActive(activityName));
   }
   
-  private String listAllActiveActivites(Execution execution) {
+  public void assertExecutionInActivity(String executionId, String activityName) {
+    assertTrue("The execution with id '" + executionId + 
+               "' is not active in the activity '" + activityName + "'." +  
+               "Current activitites are: " + listAllActiveActivites(executionId),
+               executionService.findExecutionById(executionId).isActive(activityName));
+  }
+  
+  private String listAllActiveActivites(String executionId) {
+    Execution execution = executionService.findExecutionById(executionId);
     Set<String> activeActivities = execution.findActiveActivityNames();
     StringBuilder result = new StringBuilder();
     for (String activeActivity : activeActivities) {
-      result.append(activeActivity + ", ");
+      result.append("'" + activeActivity + "', ");
     }
     result.setLength(result.length() - 2); // remove the last ', '
     return result.toString();

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ForkToTaskTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ForkToTaskTest.java	2009-06-29 11:52:28 UTC (rev 5149)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activities/ForkToTaskTest.java	2009-06-29 12:16:21 UTC (rev 5150)
@@ -62,32 +62,32 @@
     executionService.startProcessInstanceByKey("ForkToTasks");
   }
   
-  public void testFork() {
+  public void testForkWithUnfinishedPath() {
     deployJpdlXmlString(
       "<process name='forkTest'>" +
-      "  <start g='0,252,48,48' name='start1'>" +
-      "    <transition to='fork1'/>" +
+      "  <start name='start1'>" +
+      "    <transition to='fork'/>" +
       "  </start>" +
-      "  <fork g='96,252,48,48' name='fork1'>" +
-      "    <transition g='-53,-18' name='review1' to='review1'/>" +
-      "    <transition g='-49,-18' name='review2' to='review2'/>" +
-      "    <transition g='-53,-18' name='control1' to='control1'/>" +
+      "  <fork name='fork'>" +
+      "    <transition name='review1' to='review1'/>" +
+      "    <transition name='review2' to='review2'/>" +
+      "    <transition name='control1' to='control'/>" +
       "  </fork>" +
-      "  <task candidate-users='requester' g='300,372,193,52' name='review1'>" +
-      "    <transition g='-41,-18' name='Approve' to='join1'/>" +
-      "    <transition g='-54,-18' name='Reject' to='rejected1'/>" +
+      "  <task candidate-users='requester' name='review1'>" +
+      "    <transition name='Approve' to='join'/>" +
+      "    <transition name='Reject' to='rejected1'/>" +
       "  </task>" +
-      "  <task candidate-users='requester' g='300,132,193,52' name='review2'>" +
-      "    <transition g='-41,-18' name='Approve' to='join1'/>" +
-      "    <transition g='-54,-18' name='Reject' to='rejected2'/>" +
+      "  <task candidate-users='requester' name='review2'>" +
+      "    <transition name='Approve' to='join'/>" +
+      "    <transition name='Reject' to='rejected2'/>" +
       "  </task>" +
-      "  <task candidate-groups='control' g='300,252,193,52' name='control1' />" +
-      "  <join g='756,252,48,48' name='join1'>" +
-      "    <transition to='end1'/>" +
+      "  <task candidate-groups='control' name='control' />" +
+      "  <join name='join'>" +
+      "    <transition to='end'/>" +
       "  </join>" +
-      "  <end g='972,252,48,48' name='end1'/>" +
-      "  <end-cancel g='600,132,48,48' name='rejected2'/>" +
-      "  <end-cancel g='600,372,48,48' name='rejected1'/>" +
+      "  <end name='end'/>" +
+      "  <end-cancel name='rejected2'/>" +
+      "  <end-cancel name='rejected1'/>" +
       "</process>"
     );
 
@@ -99,14 +99,11 @@
     List<Task> tasksForRequester = taskService.findGroupTasks(requester);
     assertEquals(2, tasksForRequester.size());
 
-    // Uncomment these lines to make the test fail
     for (Task task : tasksForRequester) {
       taskService.takeTask(task.getId(), requester);
       taskService.completeTask(task.getId(), "Approve");
     }
     
-    // Adding a state after joing and executing these lines works ...
-    //String id = executionService.findExecutionById(processInstanceId).findActiveExecutionIn("test").getId();
-    //executionService.signalExecutionById(id);
+    assertProcessInstanceEnded(processInstanceId);
   }
 }




More information about the jbpm-commits mailing list