19
19
package org .jbpm .bpmn2 ;
20
20
21
21
import java .util .ArrayList ;
22
+ import java .util .Collections ;
22
23
import java .util .HashMap ;
23
24
import java .util .List ;
24
25
import java .util .Map ;
25
26
26
27
import org .jbpm .bpmn2 .error .EndErrorModel ;
27
28
import org .jbpm .bpmn2 .error .EndErrorProcess ;
29
+ import org .jbpm .bpmn2 .error .ErrorBoundaryEventOnServiceTaskModel ;
30
+ import org .jbpm .bpmn2 .error .ErrorBoundaryEventOnServiceTaskProcess ;
28
31
import org .jbpm .bpmn2 .error .ErrorVariableModel ;
29
32
import org .jbpm .bpmn2 .error .ErrorVariableProcess ;
30
33
import org .jbpm .bpmn2 .event .BoundaryErrorEventDefaultHandlerWithoutErrorCodeWithStructureRefModel ;
33
36
import org .jbpm .bpmn2 .event .BoundaryErrorEventDefaultHandlerWithoutErrorCodeWithoutStructureRefProcess ;
34
37
import org .jbpm .bpmn2 .event .BoundaryErrorEventSubProcessExceptionMappingModel ;
35
38
import org .jbpm .bpmn2 .event .BoundaryErrorEventSubProcessExceptionMappingProcess ;
36
- import org .jbpm .bpmn2 .handler .ServiceTaskHandler ;
37
39
import org .jbpm .bpmn2 .handler .SignallingTaskHandlerDecorator ;
38
40
import org .jbpm .bpmn2 .objects .ExceptionOnPurposeHandler ;
39
41
import org .jbpm .bpmn2 .objects .MyError ;
50
52
import org .kie .api .event .process .ProcessNodeLeftEvent ;
51
53
import org .kie .kogito .Application ;
52
54
import org .kie .kogito .handlers .AlwaysThrowingComponent_throwException__8DA0CD88_0714_43C1_B492_A70FADE42361_Handler ;
55
+ import org .kie .kogito .handlers .HelloService_helloException_ServiceTask_2_Handler ;
53
56
import org .kie .kogito .handlers .LoggingComponent_logException__E5B0E78B_0112_42F4_89FF_0DCC4FCB6BCD_Handler ;
54
57
import org .kie .kogito .internal .process .event .DefaultKogitoProcessEventListener ;
55
58
import org .kie .kogito .internal .process .event .KogitoProcessEventListener ;
@@ -226,24 +229,36 @@ public void testErrorBoundaryEventOnTask() throws Exception {
226
229
227
230
@ Test
228
231
public void testErrorBoundaryEventOnServiceTask () throws Exception {
229
- kruntime = createKogitoProcessRuntime ("BPMN2-ErrorBoundaryEventOnServiceTask.bpmn2" );
232
+ Application app = ProcessTestHelper .newApplication ();
233
+ EventTrackerProcessListener listener = new EventTrackerProcessListener ();
234
+ ProcessTestHelper .registerProcessEventListener (app , listener );
230
235
TestWorkItemHandler handler = new TestWorkItemHandler ();
236
+ ProcessTestHelper .registerHandler (app , "Human Task" , handler );
237
+ ProcessTestHelper .registerHandler (app , "org.jbpm.bpmn2.objects.HelloService_helloException_ServiceTask_2_Handler" , new HelloService_helloException_ServiceTask_2_Handler ());
231
238
232
- kruntime .getKogitoWorkItemManager ().registerWorkItemHandler ("Human Task" , handler );
233
- kruntime .getKogitoWorkItemManager ().registerWorkItemHandler ("Service Task" , new ServiceTaskHandler ());
234
- Map <String , Object > params = new HashMap <>();
235
- params .put ("s" , "test" );
236
- KogitoProcessInstance processInstance = kruntime .startProcess ("BPMN2-ErrorBoundaryEventOnServiceTask" , params );
239
+ org .kie .kogito .process .Process <ErrorBoundaryEventOnServiceTaskModel > definition = ErrorBoundaryEventOnServiceTaskProcess .newProcess (app );
240
+
241
+ ErrorBoundaryEventOnServiceTaskModel model = definition .createModel ();
242
+ model .setS ("test" );
243
+ org .kie .kogito .process .ProcessInstance <ErrorBoundaryEventOnServiceTaskModel > instance = definition .createInstance (model );
244
+ instance .start ();
237
245
238
246
List <KogitoWorkItem > workItems = handler .getWorkItems ();
239
247
assertThat (workItems ).hasSize (1 );
240
- kruntime . getKogitoWorkItemManager (). completeWorkItem (workItems . get ( 0 ). getStringId (), null );
248
+ ProcessTestHelper . completeWorkItem (instance , "john" , Collections . emptyMap () );
241
249
242
- assertProcessInstanceFinished (processInstance , kruntime );
243
- assertNodeTriggered (processInstance .getStringId (), "start" , "split" , "User Task" , "Service task error attached" , "end0" ,
244
- "Script Task" , "error2" );
250
+ assertThat (instance .status ()).isEqualTo (org .kie .kogito .process .ProcessInstance .STATE_COMPLETED );
251
+
252
+ assertThat (listener .tracked ())
253
+ .anyMatch (ProcessTestHelper .triggered ("start" ))
254
+ .anyMatch (ProcessTestHelper .triggered ("split" ))
255
+ .anyMatch (ProcessTestHelper .triggered ("User Task" ))
256
+ .anyMatch (ProcessTestHelper .triggered ("Service task error attached" ))
257
+ .anyMatch (ProcessTestHelper .triggered ("end0" ))
258
+ .anyMatch (ProcessTestHelper .triggered ("Script Task" ))
259
+ .anyMatch (ProcessTestHelper .triggered ("error2" ))
260
+ .noneMatch (ProcessTestHelper .triggered ("end" ));
245
261
246
- assertNotNodeTriggered (processInstance .getStringId (), "end" );
247
262
}
248
263
249
264
@ Test
@@ -413,7 +428,7 @@ public void testBoundaryErrorEventDefaultHandlerWithoutErrorCodeWithStructureRef
413
428
assertThat (listener .tracked ())
414
429
.anyMatch (ProcessTestHelper .triggered ("Start" ))
415
430
.anyMatch (ProcessTestHelper .triggered ("User Task" ))
416
- .anyMatch (ProcessTestHelper .triggered ("MyBoundaryErrorEvent" ));
431
+ .anyMatch (ProcessTestHelper .left ("MyBoundaryErrorEvent" ));
417
432
418
433
}
419
434
@@ -433,7 +448,7 @@ public void testBoundaryErrorEventDefaultHandlerWithoutErrorCodeWithoutStructure
433
448
assertThat (listener .tracked ())
434
449
.anyMatch (ProcessTestHelper .triggered ("Start" ))
435
450
.anyMatch (ProcessTestHelper .triggered ("User Task" ))
436
- .anyMatch (ProcessTestHelper .triggered ("MyBoundaryErrorEvent" ));
451
+ .anyMatch (ProcessTestHelper .left ("MyBoundaryErrorEvent" ));
437
452
}
438
453
439
454
@ Test
0 commit comments