diff --git a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/ActivityTest.java b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/ActivityTest.java index b4b31f7111f..d9131f83ff2 100755 --- a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/ActivityTest.java +++ b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/ActivityTest.java @@ -120,6 +120,9 @@ import org.jbpm.bpmn2.subprocess.CallActivityWithBoundaryEventProcess; import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionModel; import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionProcess; +import org.jbpm.bpmn2.subprocess.ErrorsBetweenProcessModel; +import org.jbpm.bpmn2.subprocess.ErrorsBetweenProcessProcess; +import org.jbpm.bpmn2.subprocess.ErrorsBetweenSubProcessProcess; import org.jbpm.bpmn2.subprocess.InputMappingUsingValueModel; import org.jbpm.bpmn2.subprocess.InputMappingUsingValueProcess; import org.jbpm.bpmn2.subprocess.MainGroupAssignmentModel; @@ -175,6 +178,7 @@ import org.kie.api.definition.process.NodeContainer; import org.kie.api.definition.process.Process; import org.kie.api.definition.process.WorkflowElementIdentifier; +import org.kie.api.event.process.ProcessCompletedEvent; import org.kie.api.event.process.ProcessNodeEvent; import org.kie.api.event.process.ProcessNodeTriggeredEvent; import org.kie.api.event.process.ProcessStartedEvent; @@ -1489,20 +1493,26 @@ public void testServiceTaskWithMvelJaxbTransformation() throws Exception { } @Test - public void testErrorBetweenProcessesProcess() throws Exception { - kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/subprocess/BPMN2-ErrorsBetweenProcess.bpmn2", - "org/jbpm/bpmn2/subprocess/BPMN2-ErrorsBetweenSubProcess.bpmn2"); - - Map variables = new HashMap<>(); - - variables.put("tipoEvento", "error"); - variables.put("pasoVariable", 3); - KogitoProcessInstance processInstance = kruntime.startProcess("ErrorsBetweenProcess", variables); - - assertProcessInstanceCompleted(processInstance.getStringId(), kruntime); - assertProcessInstanceAborted(processInstance.getStringId() + 1, kruntime); + public void testErrorBetweenProcessesProcess() { + Application app = ProcessTestHelper.newApplication(); + ProcessTestHelper.registerProcessEventListener(app, new DefaultKogitoProcessEventListener() { + @Override + public void afterProcessCompleted(ProcessCompletedEvent event) { + if ("ErrorsBetweenSubProcess".equals(event.getProcessInstance().getProcessId())) { + assertThat(event.getProcessInstance().getState()).isEqualTo(ProcessInstance.STATE_ABORTED); + } + } + }); + ErrorsBetweenSubProcessProcess.newProcess(app); + org.kie.kogito.process.Process process = ErrorsBetweenProcessProcess.newProcess(app); + ErrorsBetweenProcessModel model = process.createModel(); + model.setTipoEvento("error"); + model.setPasoVariable(3); + ProcessInstance processInstance = process.createInstance(model); + processInstance.start(); + assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED); - assertProcessVarValue(processInstance, "event", "error desde Subproceso"); + Assertions.assertEquals("error desde Subproceso", processInstance.variables().getEvent()); } @Test