You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kie.apache.org by "elguardian (via GitHub)" <gi...@apache.org> on 2024/06/06 14:27:42 UTC

Re: [PR] [incubator-kie-issues-1131] test migration from V7 to code generation-4 [incubator-kie-kogito-runtimes]

elguardian commented on code in PR #3545:
URL: https://github.com/apache/incubator-kie-kogito-runtimes/pull/3545#discussion_r1629662795


##########
jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/ActivityTest.java:
##########
@@ -434,40 +444,38 @@ public void testUserTask() {
     }
 
     @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 = ((WorkItemNodeInstance) nodeInstance.get()).getWorkItem().getDeploymentId();
+        String nodeInstanceId = ((WorkItemNodeInstance) nodeInstance.get()).getWorkItem().getNodeInstanceStringId();
+        WorkflowElementIdentifier nodeId = ((WorkItemNodeInstance) nodeInstance.get()).getWorkItem().getNodeId();

Review Comment:
   you can use directly workItemHandler to retrieve the workitem instead of transverse the node instance within the process.



-- 
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: commits-unsubscribe@kie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@kie.apache.org
For additional commands, e-mail: commits-help@kie.apache.org