This is an automated email from the ASF dual-hosted git repository.

egonzalez 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 6f44d5c062 [incubator-kie-issues-1131] test migration from V7 to code 
generation (#3545)
6f44d5c062 is described below

commit 6f44d5c062b8bc2e0407a366c0c9fdb03b1bdf76
Author: Abhiram Gundala <[email protected]>
AuthorDate: Tue Jun 18 05:16:08 2024 -0400

    [incubator-kie-issues-1131] test migration from V7 to code generation 
(#3545)
---
 .../src/test/java/org/jbpm/bpmn2/ActivityTest.java | 171 +++++++++++----------
 1 file changed, 93 insertions(+), 78 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 3e30b3cd18..df4988a093 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
@@ -26,6 +26,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -34,6 +35,8 @@ 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.UserTaskWithParametrizedInputModel;
+import org.jbpm.bpmn2.activity.UserTaskWithParametrizedInputProcess;
 import org.jbpm.bpmn2.activity.UserTaskWithSimulationMetaDataModel;
 import org.jbpm.bpmn2.activity.UserTaskWithSimulationMetaDataProcess;
 import org.jbpm.bpmn2.adhoc.SubProcessInAdHocProcessModel;
@@ -72,8 +75,13 @@ import org.jbpm.bpmn2.subprocess.AssignmentProcessModel;
 import org.jbpm.bpmn2.subprocess.AssignmentProcessProcess;
 import org.jbpm.bpmn2.subprocess.AssignmentSubProcessModel;
 import org.jbpm.bpmn2.subprocess.AssignmentSubProcessProcess;
+import org.jbpm.bpmn2.subprocess.CallActivity2Model;
+import org.jbpm.bpmn2.subprocess.CallActivity2Process;
+import org.jbpm.bpmn2.subprocess.CallActivityMIModel;
+import org.jbpm.bpmn2.subprocess.CallActivityMIProcess;
 import org.jbpm.bpmn2.subprocess.CallActivityModel;
 import org.jbpm.bpmn2.subprocess.CallActivityProcess;
+import org.jbpm.bpmn2.subprocess.CallActivitySubProcessModel;
 import org.jbpm.bpmn2.subprocess.CallActivitySubProcessProcess;
 import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionModel;
 import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionProcess;
@@ -89,6 +97,8 @@ import 
org.jbpm.bpmn2.subprocess.SubProcessWithTerminateEndEventModel;
 import org.jbpm.bpmn2.subprocess.SubProcessWithTerminateEndEventProcess;
 import 
org.jbpm.bpmn2.subprocess.SubProcessWithTerminateEndEventProcessScopeModel;
 import 
org.jbpm.bpmn2.subprocess.SubProcessWithTerminateEndEventProcessScopeProcess;
+import org.jbpm.bpmn2.subprocess.SubProcessWithTypeVariableModel;
+import org.jbpm.bpmn2.subprocess.SubProcessWithTypeVariableProcess;
 import org.jbpm.bpmn2.subprocess.SubprocessGroupAssignmentModel;
 import org.jbpm.bpmn2.subprocess.SubprocessGroupAssignmentProcess;
 import org.jbpm.bpmn2.task.ReceiveTaskModel;
@@ -122,10 +132,10 @@ import org.jbpm.workflow.instance.node.DynamicUtils;
 import org.jbpm.workflow.instance.node.EndNodeInstance;
 import org.jbpm.workflow.instance.node.StartNodeInstance;
 import org.jbpm.workflow.instance.node.WorkItemNodeInstance;
+import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Timeout;
-import org.kie.api.command.ExecutableCommand;
 import org.kie.api.definition.process.Node;
 import org.kie.api.definition.process.NodeContainer;
 import org.kie.api.definition.process.Process;
@@ -146,7 +156,7 @@ import 
org.kie.kogito.handlers.HelloService_hello__2_Handler;
 import org.kie.kogito.handlers.HelloService_validate__2_Handler;
 import org.kie.kogito.internal.process.event.DefaultKogitoProcessEventListener;
 import org.kie.kogito.internal.process.runtime.KogitoNode;
-import org.kie.kogito.internal.process.runtime.KogitoNodeInstanceContainer;
+import org.kie.kogito.internal.process.runtime.KogitoNodeInstance;
 import org.kie.kogito.internal.process.runtime.KogitoProcessInstance;
 import org.kie.kogito.internal.process.runtime.KogitoProcessRuntime;
 import org.kie.kogito.internal.process.runtime.KogitoWorkItem;
@@ -454,40 +464,38 @@ public class ActivityTest extends JbpmBpmn2TestCase {
     }
 
     @Test
-    public void testUserTaskVerifyParameters() throws Exception {
-        kruntime = 
createKogitoProcessRuntime("org/jbpm/bpmn2/activity/BPMN2-UserTask.bpmn2");
-
-        kruntime.getKieSession().getEnvironment().set("deploymentId", 
"test-deployment-id");
+    public void testUserTaskVerifyParameters() {
+        Application app = ProcessTestHelper.newApplication();
         TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
-        kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human 
Task", workItemHandler);
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("UserTask");
-        
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+        ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+        org.kie.kogito.process.Process<UserTaskModel> process = 
UserTaskProcess.newProcess(app);
+        UserTaskModel model = process.createModel();
+        ProcessInstance<UserTaskModel> processInstance = 
process.createInstance(model);
+        processInstance.start();
+
+        
assertThat(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");
-        final String pId = processInstance.getStringId();
-
-        kruntime.getKieSession().execute((ExecutableCommand<Void>) context -> {
-
-            KogitoProcessInstance processInstance1 = 
kruntime.getProcessInstance(pId);
-            assertThat(processInstance1).isNotNull();
-            NodeInstance nodeInstance = ((KogitoNodeInstanceContainer) 
processInstance1)
-                    .getNodeInstance(((InternalKogitoWorkItem) 
workItem).getNodeInstanceStringId());
-
-            
assertThat(nodeInstance).isNotNull().isInstanceOf(WorkItemNodeInstance.class);
-            String deploymentId = ((WorkItemNodeInstance) 
nodeInstance).getWorkItem().getDeploymentId();
-            String nodeInstanceId = ((WorkItemNodeInstance) 
nodeInstance).getWorkItem().getNodeInstanceStringId();
-            WorkflowElementIdentifier nodeId = ((WorkItemNodeInstance) 
nodeInstance).getWorkItem().getNodeId();
-
-            assertThat(deploymentId).isEqualTo(((InternalKogitoWorkItem) 
workItem).getDeploymentId());
-            assertThat(nodeId).isEqualTo(((InternalKogitoWorkItem) 
workItem).getNodeId());
-            assertThat(nodeInstanceId).isEqualTo(((InternalKogitoWorkItem) 
workItem).getNodeInstanceStringId());
-
-            return null;
-        });
-
-        
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), 
null);
-        assertProcessInstanceFinished(processInstance, kruntime);
+        final String pId = processInstance.id();
+        Optional<ProcessInstance<UserTaskModel>> processInstance1 = 
process.instances().stream()
+                .filter(instance -> instance.id().equals(pId)).findFirst();
+        assertThat(processInstance1).isNotNull();
+        Assertions.assertTrue(processInstance1.isPresent());
+        Optional<KogitoNodeInstance> nodeInstance = 
processInstance1.get().findNodes(node -> 
node.getStringId().equals(workItem.getNodeInstance().getStringId()))
+                .stream().findFirst();
+        assertThat(nodeInstance).isNotNull();
+        Assertions.assertTrue(nodeInstance.isPresent());
+        
assertThat(nodeInstance.get()).isInstanceOf(WorkItemNodeInstance.class);
+        String deploymentId = ((InternalKogitoWorkItem) 
workItem).getDeploymentId();
+        String nodeInstanceId = ((InternalKogitoWorkItem) 
workItem).getNodeInstanceStringId();
+        WorkflowElementIdentifier nodeId = ((InternalKogitoWorkItem) 
workItem).getNodeId();
+
+        assertThat(deploymentId).isEqualTo(((InternalKogitoWorkItem) 
workItem).getDeploymentId());
+        assertThat(nodeId).isEqualTo(((InternalKogitoWorkItem) 
workItem).getNodeId());
+        assertThat(nodeInstanceId).isEqualTo(((InternalKogitoWorkItem) 
workItem).getNodeInstanceStringId());
+        processInstance.completeWorkItem(workItem.getStringId(), null);
+        
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
     }
 
     @Test
@@ -553,13 +561,13 @@ public class ActivityTest extends JbpmBpmn2TestCase {
     }
 
     @Test
-    public void testCallActivityMI() throws Exception {
-        kruntime = createKogitoProcessRuntime(
-                "org/jbpm/bpmn2/subprocess/BPMN2-CallActivityMI.bpmn2",
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcess.bpmn2");
-
+    public void testCallActivityMI() {
+        Application app = ProcessTestHelper.newApplication();
+        TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+        ProcessTestHelper.registerHandler(app, "Human Task",
+                workItemHandler);
         final List<String> subprocessStarted = new ArrayList<>();
-        kruntime.getProcessEventManager().addEventListener(new 
DefaultKogitoProcessEventListener() {
+        DefaultKogitoProcessEventListener listener = new 
DefaultKogitoProcessEventListener() {
 
             @Override
             public void beforeProcessStarted(ProcessStartedEvent event) {
@@ -568,47 +576,47 @@ public class ActivityTest extends JbpmBpmn2TestCase {
                 }
             }
 
-        });
-
+        };
+        ProcessTestHelper.registerProcessEventListener(app, listener);
+        CallActivitySubProcessProcess.newProcess(app);
+        org.kie.kogito.process.Process<CallActivityMIModel> process = 
CallActivityMIProcess.newProcess(app);
+        CallActivityMIModel model = process.createModel();
         List<String> list = new ArrayList<>();
         list.add("first");
         list.add("second");
         List<String> listOut = new ArrayList<>();
+        model.setX("oldValue");
+        model.setList(list);
+        model.setListOut(listOut);
+        ProcessInstance<CallActivityMIModel> processInstance = 
process.createInstance(model);
+        processInstance.start();
 
-        Map<String, Object> params = new HashMap<>();
-        params.put("x", "oldValue");
-        params.put("list", list);
-        params.put("listOut", listOut);
-
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("CallActivityMI", params);
-        assertProcessInstanceCompleted(processInstance);
+        
assertThat(processInstance.status()).isEqualTo(org.jbpm.process.instance.ProcessInstance.STATE_COMPLETED);
         assertThat(subprocessStarted).hasSize(2);
-
-        listOut = (List) ((KogitoWorkflowProcessInstance) 
processInstance).getVariable("listOut");
+        listOut = processInstance.variables().getListOut();
         assertThat(listOut).isNotNull().hasSize(2).containsExactly("new 
value", "new value");
     }
 
     @Test
-    public void testCallActivity2() throws Exception {
-        kruntime = 
createKogitoProcessRuntime("org/jbpm/bpmn2/subprocess/BPMN2-CallActivity2.bpmn2",
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcess.bpmn2");
+    public void testCallActivity2() {
+        Application app = ProcessTestHelper.newApplication();
         TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
-
-        kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human 
Task",
+        ProcessTestHelper.registerHandler(app, "Human Task",
                 workItemHandler);
-        Map<String, Object> params = new HashMap<>();
-        params.put("x", "oldValue");
-        KogitoProcessInstance processInstance = kruntime.startProcess(
-                "CallActivity2", params);
-        assertProcessInstanceActive(processInstance);
-        assertThat(((KogitoWorkflowProcessInstance) 
processInstance).getVariable("y")).isEqualTo("new value");
+        org.kie.kogito.process.Process<CallActivitySubProcessModel> 
callActivitySubProcess = CallActivitySubProcessProcess.newProcess(app);
+        org.kie.kogito.process.Process<CallActivity2Model> process = 
CallActivity2Process.newProcess(app);
+        CallActivity2Model model = process.createModel();
+        model.setX("oldValue");
+        ProcessInstance<CallActivity2Model> processInstance = 
process.createInstance(model);
+        processInstance.start();
 
+        
assertThat(processInstance.status()).isEqualTo(org.jbpm.process.instance.ProcessInstance.STATE_ACTIVE);
+        assertThat(processInstance.variables().getY()).isEqualTo("new value");
         org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem = 
workItemHandler.getWorkItem();
         assertThat(workItem).isNotNull();
         assertThat(workItem.getParameter("ActorId")).isEqualTo("krisv");
-        
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), 
null);
-
-        assertProcessInstanceFinished(processInstance, kruntime);
+        processInstance.completeWorkItem(workItem.getStringId(), null);
+        
assertThat(processInstance.status()).isEqualTo(org.jbpm.process.instance.ProcessInstance.STATE_COMPLETED);
     }
 
     @Test
@@ -1300,36 +1308,43 @@ public class ActivityTest extends JbpmBpmn2TestCase {
     }
 
     @Test
-    public void testSubProcessWithTypeVariable() throws Exception {
-        kruntime = 
createKogitoProcessRuntime("org/jbpm/bpmn2/subprocess/BPMN2-SubProcessWithTypeVariable.bpmn2");
-
+    public void testSubProcessWithTypeVariable() {
+        Application app = ProcessTestHelper.newApplication();
         final List<String> list = new ArrayList<>();
-        kruntime.getProcessEventManager().addEventListener(new 
DefaultKogitoProcessEventListener() {
+        DefaultKogitoProcessEventListener listener = new 
DefaultKogitoProcessEventListener() {
 
             public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
                 if (event.getNodeInstance().getNodeName().equals("Read Map")) {
                     list.add(event.getNodeInstance().getNodeName());
                 }
             }
-        });
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("SubProcessWithTypeVariable");
-        assertProcessInstanceCompleted(processInstance);
+        };
+        ProcessTestHelper.registerProcessEventListener(app, listener);
+        org.kie.kogito.process.Process<SubProcessWithTypeVariableModel> 
process = SubProcessWithTypeVariableProcess.newProcess(app);
+        SubProcessWithTypeVariableModel model = process.createModel();
+        ProcessInstance<SubProcessWithTypeVariableModel> processInstance = 
process.createInstance(model);
+        processInstance.start();
+
+        
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
         assertThat(list).hasSize(2);
     }
 
     @Test
-    public void testUserTaskParametrizedInput() throws Exception {
-        kruntime = 
createKogitoProcessRuntime("org/jbpm/bpmn2/activity/BPMN2-UserTaskWithParametrizedInput.bpmn2");
+    public void testUserTaskParametrizedInput() {
+        Application app = ProcessTestHelper.newApplication();
         TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
+        ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+        org.kie.kogito.process.Process<UserTaskWithParametrizedInputModel> 
process = UserTaskWithParametrizedInputProcess.newProcess(app);
+        UserTaskWithParametrizedInputModel model = process.createModel();
+        ProcessInstance<UserTaskWithParametrizedInputModel> processInstance = 
process.createInstance(model);
+        processInstance.start();
 
-        kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human 
Task", workItemHandler);
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("UserTaskWithParametrizedInput");
-        
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+        
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
         org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem = 
workItemHandler.getWorkItem();
         assertThat(workItem).isNotNull();
-        
assertThat(workItem.getParameter("Description").toString().trim()).isEqualTo("Executing
 task of process instance " + processInstance.getStringId() + " as work item 
with Hello");
-        
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), 
null);
-        assertProcessInstanceFinished(processInstance, kruntime);
+        
assertThat(workItem.getParameter("Description").toString().trim()).isEqualTo("Executing
 task of process instance " + processInstance.id() + " as work item with 
Hello");
+        processInstance.completeWorkItem(workItem.getStringId(), null);
+        
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to