Skip to content

Commit 4228c23

Browse files
committed
add and fix tests
1 parent 851d0df commit 4228c23

File tree

6 files changed

+74
-19
lines changed

6 files changed

+74
-19
lines changed

jbpm/jbpm-tests/src/test/bpmn/org/jbpm/bpmn2/error/BPMN2-ErrorBoundaryEventOnServiceTask.bpmn2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
-->
2020

2121
<definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:_1="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:tns="http://www.jboss.org/drools" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="Definitions_1" targetNamespace="http://www.jboss.org/drools">
22-
<error id="Error_1" errorCode="org.jbpm.bpmn2.handler.WorkItemHandlerRuntimeException"/>
22+
<error id="Error_1" errorCode="java.lang.RuntimeException"/>
2323
<itemDefinition id="_sItem" structureRef="String"/>
2424
<itemDefinition id="_2_InMessageType" structureRef="java.lang.String"/>
2525
<message id="_2_InMessage" itemRef="_2_InMessageType" name="_2_InMessage"/>

jbpm/jbpm-tests/src/test/bpmn/org/jbpm/bpmn2/event/BPMN2-BoundaryTimerCycleCron.bpmn2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
<bpmn2:boundaryEvent id="_8B5EE6E3-73EE-477D-8CC5-96F7C01DA7F0" drools:bgcolor="#f5deb3" drools:selectable="true" drools:bordercolor="#a0522d" drools:boundaryca="false" name="Send Update Timer" attachedToRef="_77A94B54-8B7C-4F8A-84EE-C1D310A343A6" cancelActivity="false">
7070
<bpmn2:outgoing>_1206D165-6704-439E-99E6-7A02989A8C3C</bpmn2:outgoing>
7171
<bpmn2:timerEventDefinition id="_erIyiJZ7EeSDh8PHobjSSA">
72-
<bpmn2:timeCycle xsi:type="bpmn2:tFormalExpression" id="_erIyiZZ7EeSDh8PHobjSSA" language="cron">0/1 * * * * ?</bpmn2:timeCycle>
72+
<bpmn2:timeCycle xsi:type="bpmn2:tFormalExpression" id="_erIyiZZ7EeSDh8PHobjSSA">R3/PT1S</bpmn2:timeCycle>
7373
</bpmn2:timerEventDefinition>
7474
</bpmn2:boundaryEvent>
7575
</bpmn2:process>

jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/ErrorEventTest.java

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,15 @@
1919
package org.jbpm.bpmn2;
2020

2121
import java.util.ArrayList;
22+
import java.util.Collections;
2223
import java.util.HashMap;
2324
import java.util.List;
2425
import java.util.Map;
2526

2627
import org.jbpm.bpmn2.error.EndErrorModel;
2728
import org.jbpm.bpmn2.error.EndErrorProcess;
29+
import org.jbpm.bpmn2.error.ErrorBoundaryEventOnServiceTaskModel;
30+
import org.jbpm.bpmn2.error.ErrorBoundaryEventOnServiceTaskProcess;
2831
import org.jbpm.bpmn2.error.ErrorVariableModel;
2932
import org.jbpm.bpmn2.error.ErrorVariableProcess;
3033
import org.jbpm.bpmn2.event.BoundaryErrorEventDefaultHandlerWithoutErrorCodeWithStructureRefModel;
@@ -33,7 +36,6 @@
3336
import org.jbpm.bpmn2.event.BoundaryErrorEventDefaultHandlerWithoutErrorCodeWithoutStructureRefProcess;
3437
import org.jbpm.bpmn2.event.BoundaryErrorEventSubProcessExceptionMappingModel;
3538
import org.jbpm.bpmn2.event.BoundaryErrorEventSubProcessExceptionMappingProcess;
36-
import org.jbpm.bpmn2.handler.ServiceTaskHandler;
3739
import org.jbpm.bpmn2.handler.SignallingTaskHandlerDecorator;
3840
import org.jbpm.bpmn2.objects.ExceptionOnPurposeHandler;
3941
import org.jbpm.bpmn2.objects.MyError;
@@ -50,6 +52,7 @@
5052
import org.kie.api.event.process.ProcessNodeLeftEvent;
5153
import org.kie.kogito.Application;
5254
import org.kie.kogito.handlers.AlwaysThrowingComponent_throwException__8DA0CD88_0714_43C1_B492_A70FADE42361_Handler;
55+
import org.kie.kogito.handlers.HelloService_helloException_ServiceTask_2_Handler;
5356
import org.kie.kogito.handlers.LoggingComponent_logException__E5B0E78B_0112_42F4_89FF_0DCC4FCB6BCD_Handler;
5457
import org.kie.kogito.internal.process.event.DefaultKogitoProcessEventListener;
5558
import org.kie.kogito.internal.process.event.KogitoProcessEventListener;
@@ -226,24 +229,36 @@ public void testErrorBoundaryEventOnTask() throws Exception {
226229

227230
@Test
228231
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);
230235
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());
231238

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();
237245

238246
List<KogitoWorkItem> workItems = handler.getWorkItems();
239247
assertThat(workItems).hasSize(1);
240-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItems.get(0).getStringId(), null);
248+
ProcessTestHelper.completeWorkItem(instance, "john", Collections.emptyMap());
241249

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"));
245261

246-
assertNotNodeTriggered(processInstance.getStringId(), "end");
247262
}
248263

249264
@Test
@@ -413,7 +428,7 @@ public void testBoundaryErrorEventDefaultHandlerWithoutErrorCodeWithStructureRef
413428
assertThat(listener.tracked())
414429
.anyMatch(ProcessTestHelper.triggered("Start"))
415430
.anyMatch(ProcessTestHelper.triggered("User Task"))
416-
.anyMatch(ProcessTestHelper.triggered("MyBoundaryErrorEvent"));
431+
.anyMatch(ProcessTestHelper.left("MyBoundaryErrorEvent"));
417432

418433
}
419434

@@ -433,7 +448,7 @@ public void testBoundaryErrorEventDefaultHandlerWithoutErrorCodeWithoutStructure
433448
assertThat(listener.tracked())
434449
.anyMatch(ProcessTestHelper.triggered("Start"))
435450
.anyMatch(ProcessTestHelper.triggered("User Task"))
436-
.anyMatch(ProcessTestHelper.triggered("MyBoundaryErrorEvent"));
451+
.anyMatch(ProcessTestHelper.left("MyBoundaryErrorEvent"));
437452
}
438453

439454
@Test

jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/IntermediateEventTest.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.time.OffsetDateTime;
2222
import java.util.ArrayList;
2323
import java.util.Collection;
24+
import java.util.Collections;
2425
import java.util.HashMap;
2526
import java.util.HashSet;
2627
import java.util.List;
@@ -32,6 +33,10 @@
3233
import org.jbpm.bpmn2.activity.BoundarySignalEventOnTaskWithTransformationProcess;
3334
import org.jbpm.bpmn2.event.BoundarySignalWithNameEventOnTaskModel;
3435
import org.jbpm.bpmn2.event.BoundarySignalWithNameEventOnTaskProcess;
36+
import org.jbpm.bpmn2.event.BoundaryTimerCycleCronModel;
37+
import org.jbpm.bpmn2.event.BoundaryTimerCycleCronProcess;
38+
import org.jbpm.bpmn2.event.BoundaryTimerCycleCronVariableModel;
39+
import org.jbpm.bpmn2.event.BoundaryTimerCycleCronVariableProcess;
3540
import org.jbpm.bpmn2.handler.ReceiveTaskHandler;
3641
import org.jbpm.bpmn2.handler.SendTaskHandler;
3742
import org.jbpm.bpmn2.intermediate.IntermediateThrowEventSignalModel;
@@ -43,8 +48,10 @@
4348
import org.jbpm.process.instance.event.listeners.RuleAwareProcessEventListener;
4449
import org.jbpm.process.instance.impl.demo.DoNothingWorkItemHandler;
4550
import org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler;
51+
import org.jbpm.test.util.NodeCountDownProcessEventListener;
4652
import org.jbpm.test.util.NodeLeftCountDownProcessEventListener;
4753
import org.jbpm.test.util.ProcessCompletedCountDownProcessEventListener;
54+
import org.jbpm.test.utils.EventTrackerProcessListener;
4855
import org.jbpm.test.utils.ProcessTestHelper;
4956
import org.junit.jupiter.api.Disabled;
5057
import org.junit.jupiter.api.Test;
@@ -104,6 +111,33 @@ public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
104111
* TESTS!
105112
*/
106113

114+
@Test
115+
public void testBoundaryTimerCycleCron() {
116+
Application app = ProcessTestHelper.newApplication();
117+
NodeCountDownProcessEventListener listener = new NodeCountDownProcessEventListener("Send Update", 3);
118+
ProcessTestHelper.registerProcessEventListener(app, listener);
119+
org.kie.kogito.process.Process<BoundaryTimerCycleCronModel> definition = BoundaryTimerCycleCronProcess.newProcess(app);
120+
org.kie.kogito.process.ProcessInstance<BoundaryTimerCycleCronModel> instance = definition.createInstance(definition.createModel());
121+
instance.start();
122+
listener.waitTillCompleted();
123+
ProcessTestHelper.completeWorkItem(instance, "john", Collections.emptyMap());
124+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
125+
}
126+
127+
@Test
128+
public void testBoundaryTimerCycleCronVariable() {
129+
Application app = ProcessTestHelper.newApplication();
130+
ProcessCompletedCountDownProcessEventListener listener = new ProcessCompletedCountDownProcessEventListener();
131+
ProcessTestHelper.registerProcessEventListener(app, listener);
132+
org.kie.kogito.process.Process<BoundaryTimerCycleCronVariableModel> definition = BoundaryTimerCycleCronVariableProcess.newProcess(app);
133+
BoundaryTimerCycleCronVariableModel model = definition.createModel();
134+
model.setCronStr("PT1S");
135+
org.kie.kogito.process.ProcessInstance<BoundaryTimerCycleCronVariableModel> instance = definition.createInstance(model);
136+
instance.start();
137+
listener.waitTillCompleted();
138+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
139+
}
140+
107141
@Test
108142
public void testSignalBoundaryEvent() throws Exception {
109143
kruntime = createKogitoProcessRuntime(

jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/structureref/StructureRefTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
import org.kie.kogito.internal.process.runtime.KogitoProcessInstance;
3636
import org.kie.kogito.process.bpmn2.BpmnVariables;
3737

38+
import jakarta.xml.bind.JAXBContext;
39+
import jakarta.xml.bind.JAXBException;
40+
3841
import static org.assertj.core.api.Assertions.assertThat;
3942
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
4043
import static org.assertj.core.api.Assertions.fail;
4144

42-
import jakarta.xml.bind.JAXBContext;
43-
import jakarta.xml.bind.JAXBException;
44-
4545
public class StructureRefTest extends JbpmBpmn2TestCase {
4646

4747
@Test

jbpm/jbpm-tests/src/test/java/org/jbpm/test/utils/ProcessTestHelper.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.function.Predicate;
2525

2626
import org.kie.api.event.process.ProcessNodeEvent;
27+
import org.kie.api.event.process.ProcessNodeLeftEvent;
2728
import org.kie.api.event.process.ProcessNodeTriggeredEvent;
2829
import org.kie.kogito.Application;
2930
import org.kie.kogito.Model;
@@ -85,4 +86,9 @@ public static <T extends ProcessNodeEvent> Predicate<T> triggered(String nodeNam
8586
};
8687
}
8788

89+
public static <T extends ProcessNodeEvent> Predicate<T> left(String nodeName) {
90+
return e -> {
91+
return e instanceof ProcessNodeLeftEvent && nodeName.equals(((ProcessNodeLeftEvent) e).getNodeInstance().getNodeName());
92+
};
93+
}
8894
}

0 commit comments

Comments
 (0)