Skip to content

Commit 3432985

Browse files
authored
[incubator-kie-issues-1131] Process test migration from v7 legacy runtime to code generation (#3520)
good work @Abhitocode
1 parent e449f3d commit 3432985

File tree

1 file changed

+80
-62
lines changed

1 file changed

+80
-62
lines changed

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

Lines changed: 80 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
import org.jbpm.bpmn2.activity.ScriptTaskWithIOProcess;
3737
import org.jbpm.bpmn2.activity.UserTaskWithSimulationMetaDataModel;
3838
import org.jbpm.bpmn2.activity.UserTaskWithSimulationMetaDataProcess;
39+
import org.jbpm.bpmn2.adhoc.SubProcessInAdHocProcessModel;
40+
import org.jbpm.bpmn2.adhoc.SubProcessInAdHocProcessProcess;
3941
import org.jbpm.bpmn2.flow.CompositeWithDIGraphicalModel;
4042
import org.jbpm.bpmn2.flow.CompositeWithDIGraphicalProcess;
4143
import org.jbpm.bpmn2.flow.MinimalImplicitModel;
@@ -50,6 +52,8 @@
5052
import org.jbpm.bpmn2.flow.ProcessWithVariableNameProcess;
5153
import org.jbpm.bpmn2.flow.UserTaskModel;
5254
import org.jbpm.bpmn2.flow.UserTaskProcess;
55+
import org.jbpm.bpmn2.flow.XORSameTargetModel;
56+
import org.jbpm.bpmn2.flow.XORSameTargetProcess;
5357
import org.jbpm.bpmn2.handler.ReceiveTaskHandler;
5458
import org.jbpm.bpmn2.handler.SendTaskHandler;
5559
import org.jbpm.bpmn2.handler.ServiceTaskHandler;
@@ -58,11 +62,19 @@
5862
import org.jbpm.bpmn2.objects.HelloService;
5963
import org.jbpm.bpmn2.objects.Person;
6064
import org.jbpm.bpmn2.objects.TestWorkItemHandler;
65+
import org.jbpm.bpmn2.subprocess.AssignmentProcessModel;
66+
import org.jbpm.bpmn2.subprocess.AssignmentProcessProcess;
67+
import org.jbpm.bpmn2.subprocess.AssignmentSubProcessModel;
68+
import org.jbpm.bpmn2.subprocess.AssignmentSubProcessProcess;
6169
import org.jbpm.bpmn2.subprocess.CallActivityModel;
6270
import org.jbpm.bpmn2.subprocess.CallActivityProcess;
6371
import org.jbpm.bpmn2.subprocess.CallActivitySubProcessProcess;
72+
import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionModel;
73+
import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionProcess;
6474
import org.jbpm.bpmn2.subprocess.InputMappingUsingValueModel;
6575
import org.jbpm.bpmn2.subprocess.InputMappingUsingValueProcess;
76+
import org.jbpm.bpmn2.subprocess.MainGroupAssignmentModel;
77+
import org.jbpm.bpmn2.subprocess.MainGroupAssignmentProcess;
6678
import org.jbpm.bpmn2.subprocess.SingleTaskWithVarDefModel;
6779
import org.jbpm.bpmn2.subprocess.SingleTaskWithVarDefProcess;
6880
import org.jbpm.bpmn2.subprocess.SubProcessWithEntryExitScriptsModel;
@@ -71,6 +83,8 @@
7183
import org.jbpm.bpmn2.subprocess.SubProcessWithTerminateEndEventProcess;
7284
import org.jbpm.bpmn2.subprocess.SubProcessWithTerminateEndEventProcessScopeModel;
7385
import org.jbpm.bpmn2.subprocess.SubProcessWithTerminateEndEventProcessScopeProcess;
86+
import org.jbpm.bpmn2.subprocess.SubprocessGroupAssignmentModel;
87+
import org.jbpm.bpmn2.subprocess.SubprocessGroupAssignmentProcess;
7488
import org.jbpm.bpmn2.task.ReceiveTaskModel;
7589
import org.jbpm.bpmn2.task.ReceiveTaskProcess;
7690
import org.jbpm.bpmn2.task.SendTaskModel;
@@ -1393,36 +1407,37 @@ public void testMultipleBusinessRuleTaskWithDataInputsWithPersistence()
13931407
}
13941408

13951409
@Test
1396-
public void testSubProcessInAdHocProcess() throws Exception {
1410+
public void testSubProcessInAdHocProcess() {
13971411
// JBPM-5374
1398-
kruntime = createKogitoProcessRuntime(
1399-
"org/jbpm/bpmn2/adhoc/BPMN2-SubProcessInAdHocProcess.bpmn2");
1400-
1412+
Application app = ProcessTestHelper.newApplication();
14011413
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
1402-
kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
1403-
1404-
Map<String, Object> parameters = new HashMap<>();
1405-
KogitoProcessInstance processInstance = kruntime.startProcess("SubProcessInAdHocProcess", parameters);
1406-
assertProcessInstanceActive(processInstance);
1407-
1408-
kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
1414+
ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
1415+
org.kie.kogito.process.Process<SubProcessInAdHocProcessModel> processDefinition = SubProcessInAdHocProcessProcess.newProcess(app);
1416+
SubProcessInAdHocProcessModel model = processDefinition.createModel();
1417+
org.kie.kogito.process.ProcessInstance<SubProcessInAdHocProcessModel> instance = processDefinition.createInstance(model);
1418+
instance.start();
14091419

1420+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
14101421
org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem = workItemHandler.getWorkItem();
14111422
assertThat(workItem).isNotNull();
1412-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), null);
1413-
assertProcessInstanceFinished(processInstance, kruntime);
1423+
instance.completeWorkItem(workItem.getStringId(), Collections.emptyMap());
1424+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
14141425
}
14151426

14161427
@Test
1417-
public void testCallActivityWithDataAssignment() throws Exception {
1418-
kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/subprocess/BPMN2-AssignmentProcess.bpmn2",
1419-
"org/jbpm/bpmn2/subprocess/BPMN2-AssignmentSubProcess.bpmn2");
1428+
public void testCallActivityWithDataAssignment() {
1429+
Application app = ProcessTestHelper.newApplication();
1430+
org.kie.kogito.process.Process<AssignmentSubProcessModel> assignmentSubProcessProcess = AssignmentSubProcessProcess.newProcess(app);
1431+
AssignmentSubProcessModel assignmentSubProcessModel = assignmentSubProcessProcess.createModel();
1432+
org.kie.kogito.process.ProcessInstance<AssignmentSubProcessModel> assignmentSubProcessInstance = assignmentSubProcessProcess.createInstance(assignmentSubProcessModel);
1433+
org.kie.kogito.process.Process<AssignmentProcessModel> processDefinition = AssignmentProcessProcess.newProcess(app);
1434+
AssignmentProcessModel model = processDefinition.createModel();
1435+
model.setName("oldValue");
1436+
org.kie.kogito.process.ProcessInstance<AssignmentProcessModel> instance = processDefinition.createInstance(model);
1437+
instance.start();
14201438

1421-
Map<String, Object> params = new HashMap<>();
1422-
params.put("name", "oldValue");
1423-
KogitoProcessInstance processInstance = kruntime.startProcess("AssignmentProcess", params);
1424-
assertProcessInstanceCompleted(processInstance);
1425-
assertThat(((KogitoWorkflowProcessInstance) processInstance).getVariable("message")).isEqualTo("Hello Genworth welcome to jBPMS!");
1439+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
1440+
assertThat(instance.variables().getMessage()).isEqualTo("Hello Genworth welcome to jBPMS!");
14261441
}
14271442

14281443
@Test
@@ -1614,18 +1629,20 @@ public void testBusinessRuleTaskException() throws Exception {
16141629
}
16151630

16161631
@Test
1617-
public void testXORWithSameTargetProcess() throws Exception {
1618-
kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-XORSameTarget.bpmn2");
1619-
1620-
Map<String, Object> params = new HashMap<>();
1621-
params.put("choice", 1);
1622-
KogitoProcessInstance processInstance = kruntime.startProcess("XORSameTarget", params);
1623-
assertProcessInstanceCompleted(processInstance);
1624-
1625-
params = new HashMap<>();
1626-
params.put("choice", 2);
1627-
processInstance = kruntime.startProcess("XORSameTarget", params);
1628-
assertProcessInstanceCompleted(processInstance);
1632+
public void testXORWithSameTargetProcess() {
1633+
Application app = ProcessTestHelper.newApplication();
1634+
org.kie.kogito.process.Process<XORSameTargetModel> processDefinition = XORSameTargetProcess.newProcess(app);
1635+
XORSameTargetModel model = processDefinition.createModel();
1636+
model.setChoice(1);
1637+
org.kie.kogito.process.ProcessInstance<XORSameTargetModel> instance = processDefinition.createInstance(model);
1638+
instance.start();
1639+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
1640+
processDefinition = XORSameTargetProcess.newProcess(app);
1641+
model = processDefinition.createModel();
1642+
model.setChoice(2);
1643+
instance = processDefinition.createInstance(model);
1644+
instance.start();
1645+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
16291646
}
16301647

16311648
@Test
@@ -1651,47 +1668,48 @@ public void testUserTaskWithExpressionsForIO() throws Exception {
16511668
}
16521669

16531670
@Test
1654-
public void testCallActivitykWithExpressionsForIO() throws Exception {
1655-
kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/subprocess/BPMN2-CallActivityWithIOexpression.bpmn2",
1656-
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcess.bpmn2");
1657-
1671+
public void testCallActivitykWithExpressionsForIO() {
1672+
Application app = ProcessTestHelper.newApplication();
16581673
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
1659-
kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
1660-
Map<String, Object> params = new HashMap<>();
1661-
params.put("person", new Person("john"));
1662-
KogitoProcessInstance processInstance = kruntime.startProcess("CallActivityWithIOexpression", params);
1663-
assertProcessInstanceActive(processInstance);
1674+
ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
1675+
CallActivitySubProcessProcess.newProcess(app);
1676+
org.kie.kogito.process.Process<CallActivityWithIOexpressionModel> processDefinition = CallActivityWithIOexpressionProcess.newProcess(app);
1677+
CallActivityWithIOexpressionModel model = processDefinition.createModel();
1678+
model.setPerson(new Person("john"));
1679+
org.kie.kogito.process.ProcessInstance<CallActivityWithIOexpressionModel> instance = processDefinition.createInstance(model);
1680+
instance.start();
16641681

1665-
Person person = (Person) processInstance.getVariables().get("person");
1682+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
1683+
Person person = instance.variables().getPerson();
16661684
assertThat(person.getName()).isEqualTo("new value");
1667-
16681685
org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem = workItemHandler.getWorkItem();
16691686
assertThat(workItem).isNotNull();
16701687
assertThat(workItem.getParameter("ActorId")).isEqualTo("krisv");
1671-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), null);
1672-
1673-
assertProcessInstanceFinished(processInstance, kruntime);
1688+
instance.completeWorkItem(workItem.getStringId(), Collections.emptyMap());
1689+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
16741690
}
16751691

16761692
@Test
1677-
public void testCallSubprocessWithGroup() throws Exception {
1678-
kruntime = createKogitoProcessRuntime("org/jbpm/bpmn2/subprocess/BPMN2-MainGroupAssignment.bpmn2",
1679-
"org/jbpm/bpmn2/subprocess/BPMN2-SubprocessGroupAssignment.bpmn2");
1680-
1693+
public void testCallSubprocessWithGroup() {
1694+
Application app = ProcessTestHelper.newApplication();
16811695
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
1682-
kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human Task", workItemHandler);
1683-
1684-
KogitoProcessInstance processInstance = kruntime.startProcess("MainGroupAssignment");
1685-
assertProcessInstanceActive(processInstance);
1696+
ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
1697+
org.kie.kogito.process.Process<SubprocessGroupAssignmentModel> subprocessGroupAssignmentProcess = SubprocessGroupAssignmentProcess.newProcess(app);
1698+
SubprocessGroupAssignmentModel subprocessGroupAssignmentModel = subprocessGroupAssignmentProcess.createModel();
1699+
ProcessInstance<SubprocessGroupAssignmentModel> subprocessGroupAssignmentProcessInstance = subprocessGroupAssignmentProcess.createInstance(subprocessGroupAssignmentModel);
1700+
org.kie.kogito.process.Process<MainGroupAssignmentModel> processDefinition = MainGroupAssignmentProcess.newProcess(app);
1701+
MainGroupAssignmentModel model = processDefinition.createModel();
1702+
org.kie.kogito.process.ProcessInstance<MainGroupAssignmentModel> instance = processDefinition.createInstance(model);
1703+
instance.start();
16861704

1705+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
16871706
List<org.kie.kogito.internal.process.runtime.KogitoWorkItem> workItems = workItemHandler.getWorkItems();
1688-
for (org.kie.kogito.internal.process.runtime.KogitoWorkItem item : workItems) {
1689-
assertThat(item).isNotNull();
1690-
assertThat(item.getParameter("GroupId")).isEqualTo("GRUPA TESTOWA");
1691-
kruntime.getKogitoWorkItemManager().completeWorkItem(item.getStringId(), null);
1692-
}
1693-
1694-
assertProcessInstanceFinished(processInstance, kruntime);
1707+
workItems.forEach(workItem -> {
1708+
assertThat(workItem).isNotNull();
1709+
assertThat(workItem.getParameter("GroupId")).isEqualTo("GRUPA TESTOWA");
1710+
subprocessGroupAssignmentProcessInstance.completeWorkItem(workItem.getStringId(), Collections.emptyMap());
1711+
});
1712+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
16951713
}
16961714

16971715
@Test

0 commit comments

Comments
 (0)