SUNILathulya commented on code in PR #4318:
URL:
https://github.com/apache/incubator-kie-kogito-runtimes/pull/4318#discussion_r3441743309
##########
jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/ErrorEventTest.java:
##########
@@ -355,30 +339,35 @@ public void
testMultiErrorBoundaryEventsOnBusinessRuleTask() throws Exception {
@Test
public void testCatchErrorBoundaryEventOnTask() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/error/BPMN2-ErrorBoundaryEventOnTask.bpmn2");
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", new TestWorkItemHandler() {
+ Application app = ProcessTestHelper.newApplication();
+ // Custom handler that throws MyError when actor is "mary"
+ TestWorkItemHandler handler = new TestWorkItemHandler() {
@Override
- public Optional<WorkItemTransition>
activateWorkItemHandler(KogitoWorkItemManager manager, KogitoWorkItemHandler
handler, KogitoWorkItem workItem, WorkItemTransition transition) {
+ public Optional<WorkItemTransition>
activateWorkItemHandler(KogitoWorkItemManager manager,
+ KogitoWorkItemHandler handler, KogitoWorkItem workItem,
WorkItemTransition transition) {
if (workItem.getParameter("ActorId").equals("mary")) {
throw new MyError();
}
return Optional.empty();
}
@Override
- public Optional<WorkItemTransition>
abortWorkItemHandler(KogitoWorkItemManager manager, KogitoWorkItemHandler
handler, KogitoWorkItem workItem, WorkItemTransition transition) {
+ public Optional<WorkItemTransition>
abortWorkItemHandler(KogitoWorkItemManager manager,
+ KogitoWorkItemHandler handler, KogitoWorkItem workItem,
WorkItemTransition transition) {
return Optional.empty();
}
+ };
- });
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("ErrorBoundaryEventOnTask");
+ ProcessTestHelper.registerHandler(app, "Human Task", handler);
- assertProcessInstanceActive(processInstance);
- assertNodeTriggered(processInstance.getStringId(), "start", "split",
"User Task", "User task error attached",
- "Script Task", "error2");
+ Process<ErrorBoundaryEventOnTaskModel> processDefinition =
ErrorBoundaryEventOnTaskProcess.newProcess(app);
+ ErrorBoundaryEventOnTaskModel model = processDefinition.createModel();
+ org.kie.kogito.process.ProcessInstance<ErrorBoundaryEventOnTaskModel>
processInstance = processDefinition.createInstance(model);
+ processInstance.start();
+ // Verify process is still active (mary's task threw error, but john's
task is still pending)
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
Review Comment:
Fixed in
[da6c0fa](https://github.com/apache/incubator-kie-kogito-runtimes/pull/4318/commits/da6c0fa1e5e743448a557fc74344830a2a1f0dc3)
Added event listener using afterNodeTriggered() and all node verification
assertions.
Note: Used afterNodeTriggered() (not afterNodeLeft()) to match v7
assertNodeTriggered() semantics which tracked node entry, ensuring "User Task"
is correctly included.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]