This is an automated email from the ASF dual-hosted git repository.
pefernan pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git
The following commit(s) were added to refs/heads/main by this push:
new 463fafda1b [incubator-kie-issues-1131] v7 migration to code generation
(#3559)
463fafda1b is described below
commit 463fafda1bf79d743e7b9b64f6140699403a40b8
Author: Abhiram Gundala <[email protected]>
AuthorDate: Mon Jul 22 09:17:59 2024 -0400
[incubator-kie-issues-1131] v7 migration to code generation (#3559)
---
.../src/test/java/org/jbpm/bpmn2/ActivityTest.java | 94 ++++++++++++----------
1 file changed, 52 insertions(+), 42 deletions(-)
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 c6a71ea45b..5a125f11d5 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
@@ -35,6 +35,10 @@ import org.jbpm.bpmn2.activity.ScriptTaskModel;
import org.jbpm.bpmn2.activity.ScriptTaskProcess;
import org.jbpm.bpmn2.activity.ScriptTaskWithIOModel;
import org.jbpm.bpmn2.activity.ScriptTaskWithIOProcess;
+import org.jbpm.bpmn2.activity.UserTaskWithBooleanOutputModel;
+import org.jbpm.bpmn2.activity.UserTaskWithBooleanOutputProcess;
+import org.jbpm.bpmn2.activity.UserTaskWithIOexpressionModel;
+import org.jbpm.bpmn2.activity.UserTaskWithIOexpressionProcess;
import org.jbpm.bpmn2.activity.UserTaskWithParametrizedInputModel;
import org.jbpm.bpmn2.activity.UserTaskWithParametrizedInputProcess;
import org.jbpm.bpmn2.activity.UserTaskWithSimulationMetaDataModel;
@@ -92,6 +96,8 @@ import org.jbpm.bpmn2.subprocess.CallActivityModel;
import org.jbpm.bpmn2.subprocess.CallActivityProcess;
import org.jbpm.bpmn2.subprocess.CallActivityProcessBoundaryErrorModel;
import org.jbpm.bpmn2.subprocess.CallActivityProcessBoundaryErrorProcess;
+import org.jbpm.bpmn2.subprocess.CallActivityProcessWithBoundaryEventModel;
+import org.jbpm.bpmn2.subprocess.CallActivityProcessWithBoundaryEventProcess;
import org.jbpm.bpmn2.subprocess.CallActivitySubProcessBoundaryErrorModel;
import org.jbpm.bpmn2.subprocess.CallActivitySubProcessBoundaryErrorProcess;
import org.jbpm.bpmn2.subprocess.CallActivitySubProcessModel;
@@ -1004,48 +1010,52 @@ public class ActivityTest extends JbpmBpmn2TestCase {
}
@Test
- public void testCallActivityWithSubProcessWaitState() throws Exception {
- kruntime = createKogitoProcessRuntime(
-
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivityProcessWithBoundaryEvent.bpmn2",
-
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcessWithBoundaryEvent.bpmn2");
-
+ public void testCallActivityWithSubProcessWaitState() {
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task",
- workItemHandler);
- Map<String, Object> params = new HashMap<>();
- KogitoProcessInstance processInstance =
kruntime.startProcess("CallActivityProcessWithBoundaryEvent", params);
- assertProcessInstanceActive(processInstance.getStringId(), kruntime);
-
- org.kie.kogito.internal.process.runtime.KogitoWorkItem wi =
workItemHandler.getWorkItem();
- assertThat(wi).isNotNull();
+ EventTrackerProcessListener listener = new
EventTrackerProcessListener();
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ ProcessTestHelper.registerProcessEventListener(app, listener);
- kruntime.getKogitoWorkItemManager().completeWorkItem(wi.getStringId(),
null);
+
org.kie.kogito.process.Process<CallActivitySubProcessWithBoundaryEventModel>
callActivitySubProcessWithBoundaryEventProcess =
CallActivitySubProcessWithBoundaryEventProcess.newProcess(app);
+ ProcessInstance<CallActivitySubProcessWithBoundaryEventModel>
subProcessInstance =
+
callActivitySubProcessWithBoundaryEventProcess.createInstance(callActivitySubProcessWithBoundaryEventProcess.createModel());
+
org.kie.kogito.process.Process<CallActivityProcessWithBoundaryEventModel>
process = CallActivityProcessWithBoundaryEventProcess.newProcess(app);
+ CallActivityProcessWithBoundaryEventModel model =
process.createModel();
+ ProcessInstance<CallActivityProcessWithBoundaryEventModel>
processInstance = process.createInstance(model);
+ processInstance.start();
- assertProcessInstanceFinished(processInstance, kruntime);
- // first check the parent process executed nodes
- assertNodeTriggered(processInstance.getStringId(), "StartProcess",
"Call Activity 1", "EndProcess");
- // then check child process executed nodes - is there better way to
get child process id than simply increment?
- assertNodeTriggered(processInstance.getStringId() + 1,
"StartProcess2", "User Task", "EndProcess");
+
assertThat(processInstance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem =
workItemHandler.getWorkItem();
+ assertThat(workItem).isNotNull();
+ subProcessInstance.completeWorkItem(workItem.getStringId(),
Collections.emptyMap());
+
assertThat(processInstance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
+
assertThat(listener.tracked()).anyMatch(ProcessTestHelper.triggered("Call
Activity 1"));
+
assertThat(listener.tracked()).anyMatch(ProcessTestHelper.triggered("StartProcess"));
+
assertThat(listener.tracked()).anyMatch(ProcessTestHelper.triggered("EndProcess"));
+
assertThat(listener.tracked()).anyMatch(ProcessTestHelper.triggered("StartProcess2"));
+
assertThat(listener.tracked()).anyMatch(ProcessTestHelper.triggered("User
Task"));
}
@Test
- public void testUserTaskWithBooleanOutput() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/activity/BPMN2-UserTaskWithBooleanOutput.bpmn2");
+ public void testUserTaskWithBooleanOutput() {
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ org.kie.kogito.process.Process<UserTaskWithBooleanOutputModel> process
= UserTaskWithBooleanOutputProcess.newProcess(app);
+ UserTaskWithBooleanOutputModel model = process.createModel();
+ model.setIsChecked(true);
+ ProcessInstance<UserTaskWithBooleanOutputModel> processInstance =
process.createInstance(model);
+ processInstance.start();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task",
- workItemHandler);
- KogitoProcessInstance processInstance = kruntime
- .startProcess("UserTaskWithBooleanOutput");
- assertProcessInstanceActive(processInstance);
+
assertThat(processInstance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem =
workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
assertThat(workItem.getParameter("ActorId")).isEqualTo("john");
HashMap<String, Object> output = new HashMap<>();
- output.put("isCheckedCheckbox", "true");
- kruntime.getKogitoWorkItemManager()
- .completeWorkItem(workItem.getStringId(), output);
- assertProcessInstanceFinished(processInstance, kruntime);
+ output.put("isCheckedCheckbox", true);
+ processInstance.completeWorkItem(workItem.getStringId(), output);
+
assertThat(processInstance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
@@ -1609,25 +1619,25 @@ public class ActivityTest extends JbpmBpmn2TestCase {
}
@Test
- public void testUserTaskWithExpressionsForIO() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/activity/BPMN2-UserTaskWithIOexpression.bpmn2");
-
+ public void testUserTaskWithExpressionsForIO() {
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- Map<String, Object> parameters = new HashMap<>();
- parameters.put("person", new Person("john"));
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ org.kie.kogito.process.Process<UserTaskWithIOexpressionModel>
processDefinition = UserTaskWithIOexpressionProcess.newProcess(app);
+ UserTaskWithIOexpressionModel model = processDefinition.createModel();
+ model.setPerson(new Person("john"));
+ org.kie.kogito.process.ProcessInstance<UserTaskWithIOexpressionModel>
instance = processDefinition.createInstance(model);
+ instance.start();
- KogitoProcessInstance processInstance =
kruntime.startProcess("UserTaskWithIOexpression", parameters);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem =
workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
assertThat(workItem.getParameter("ActorId")).isEqualTo("john");
assertThat(workItem.getParameter("personName")).isEqualTo("john");
-
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
Collections.singletonMap("personAge", 50));
- Person person = (Person) processInstance.getVariables().get("person");
+ instance.completeWorkItem(workItem.getStringId(),
Collections.singletonMap("personAge", 50));
+ Person person = instance.variables().getPerson();
assertThat(person.getAge()).isEqualTo(50);
- assertProcessInstanceFinished(processInstance, kruntime);
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]