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 31a4857b16 [incubator-kie-issues-1131] test migration from V7 to code 
generation (#3558)
31a4857b16 is described below

commit 31a4857b168c9953de501ff4a20c4c718f8e7b6d
Author: Abhiram Gundala <[email protected]>
AuthorDate: Mon Jul 15 03:15:27 2024 -0400

    [incubator-kie-issues-1131] test migration from V7 to code generation 
(#3558)
---
 .../src/test/java/org/jbpm/bpmn2/ActivityTest.java | 157 ++++++++++++---------
 1 file changed, 87 insertions(+), 70 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 2578981db0..0426894158 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
@@ -51,6 +51,10 @@ import org.jbpm.bpmn2.flow.MinimalWithDIGraphicalModel;
 import org.jbpm.bpmn2.flow.MinimalWithDIGraphicalProcess;
 import org.jbpm.bpmn2.flow.MinimalWithGraphicalModel;
 import org.jbpm.bpmn2.flow.MinimalWithGraphicalProcess;
+import org.jbpm.bpmn2.flow.ProcessCustomDescriptionMetaDataModel;
+import org.jbpm.bpmn2.flow.ProcessCustomDescriptionMetaDataProcess;
+import org.jbpm.bpmn2.flow.ProcessVariableCustomDescriptionMetaDataModel;
+import org.jbpm.bpmn2.flow.ProcessVariableCustomDescriptionMetaDataProcess;
 import org.jbpm.bpmn2.flow.ProcessWithVariableNameModel;
 import org.jbpm.bpmn2.flow.ProcessWithVariableNameProcess;
 import org.jbpm.bpmn2.flow.UserTaskModel;
@@ -86,8 +90,16 @@ 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.CallActivityProcessBoundaryErrorModel;
+import org.jbpm.bpmn2.subprocess.CallActivityProcessBoundaryErrorProcess;
+import org.jbpm.bpmn2.subprocess.CallActivitySubProcessBoundaryErrorModel;
+import org.jbpm.bpmn2.subprocess.CallActivitySubProcessBoundaryErrorProcess;
 import org.jbpm.bpmn2.subprocess.CallActivitySubProcessModel;
 import org.jbpm.bpmn2.subprocess.CallActivitySubProcessProcess;
+import org.jbpm.bpmn2.subprocess.CallActivitySubProcessWithBoundaryEventModel;
+import 
org.jbpm.bpmn2.subprocess.CallActivitySubProcessWithBoundaryEventProcess;
+import org.jbpm.bpmn2.subprocess.CallActivityWithBoundaryEventModel;
+import org.jbpm.bpmn2.subprocess.CallActivityWithBoundaryEventProcess;
 import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionModel;
 import org.jbpm.bpmn2.subprocess.CallActivityWithIOexpressionProcess;
 import org.jbpm.bpmn2.subprocess.InputMappingUsingValueModel;
@@ -969,31 +981,26 @@ public class ActivityTest extends JbpmBpmn2TestCase {
     }
 
     @Test
-    public void testCallActivityWithBoundaryEvent() throws Exception {
-        ProcessCompletedCountDownProcessEventListener countDownListener = new 
ProcessCompletedCountDownProcessEventListener();
-        kruntime = createKogitoProcessRuntime(
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivityWithBoundaryEvent.bpmn2",
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcessWithBoundaryEvent.bpmn2");
-        kruntime.getProcessEventManager().addEventListener(countDownListener);
-
+    public void testCallActivityWithBoundaryEvent() {
+        Application app = ProcessTestHelper.newApplication();
         TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
-        kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human 
Task",
-                workItemHandler);
-        Map<String, Object> params = new HashMap<>();
-        params.put("x", "oldValue");
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("CallActivityWithBoundaryEvent", params);
-
-        countDownListener.waitTillCompleted();
-
-        assertProcessInstanceFinished(processInstance, kruntime);
-        // assertEquals("new timer value",
-        // ((WorkflowProcessInstance) processInstance).getVariable("y"));
-        // first check the parent process executed nodes
-        assertNodeTriggered(processInstance.getStringId(), "StartProcess",
-                "CallActivity", "Boundary event", "Script Task", "end");
-        // 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");
+        ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+        ProcessCompletedCountDownProcessEventListener listener = new 
ProcessCompletedCountDownProcessEventListener();
+        ProcessTestHelper.registerProcessEventListener(app, listener);
+        
org.kie.kogito.process.Process<CallActivitySubProcessWithBoundaryEventModel> 
callActivitySubProcessWithBoundaryEventProcess = 
CallActivitySubProcessWithBoundaryEventProcess.newProcess(app);
+        org.kie.kogito.process.Process<CallActivityWithBoundaryEventModel> 
process = CallActivityWithBoundaryEventProcess.newProcess(app);
+        CallActivityWithBoundaryEventModel model = process.createModel();
+        model.setX("oldValue");
+        ProcessInstance<CallActivityWithBoundaryEventModel> processInstance = 
process.createInstance(model);
+        processInstance.start();
+        listener.waitTillCompleted();
+        
assertThat(processInstance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
+        Collection<String> processNodes = 
process.findNodes(Objects::nonNull).stream().map(Node::getName).collect(Collectors.toSet());
+        Collection<String> subProcessNodes = 
callActivitySubProcessWithBoundaryEventProcess.findNodes(Objects::nonNull).stream().map(Node::getName).collect(Collectors.toSet());
+        assertThat(processNodes.containsAll(List.of("StartProcess",
+                "CallActivity", "Boundary event", "Script Task", 
"end"))).isTrue();
+        assertThat(subProcessNodes.containsAll(List.of("StartProcess2",
+                "User Task"))).isTrue();
     }
 
     @Test
@@ -1059,45 +1066,56 @@ public class ActivityTest extends JbpmBpmn2TestCase {
     }
 
     @Test
-    public void testCallActivityWithBoundaryErrorEvent() throws Exception {
-        kruntime = createKogitoProcessRuntime(
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivityProcessBoundaryError.bpmn2",
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcessBoundaryError.bpmn2");
-
-        kruntime.getKogitoWorkItemManager().registerWorkItemHandler("task1",
-                new SystemOutWorkItemHandler());
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("CallActivityProcessBoundaryError");
+    public void testCallActivityWithBoundaryErrorEvent() {
+        Application app = ProcessTestHelper.newApplication();
+        SystemOutWorkItemHandler workItemHandler = new 
SystemOutWorkItemHandler();
+        ProcessTestHelper.registerHandler(app, "task1", workItemHandler);
+        ProcessCompletedCountDownProcessEventListener listener = new 
ProcessCompletedCountDownProcessEventListener();
+        ProcessTestHelper.registerProcessEventListener(app, listener);
+        
org.kie.kogito.process.Process<CallActivitySubProcessBoundaryErrorModel> 
callActivitySubProcessBoundaryErrorProcess = 
CallActivitySubProcessBoundaryErrorProcess.newProcess(app);
+        org.kie.kogito.process.Process<CallActivityProcessBoundaryErrorModel> 
process = CallActivityProcessBoundaryErrorProcess.newProcess(app);
+        CallActivityProcessBoundaryErrorModel model = process.createModel();
+        ProcessInstance<CallActivityProcessBoundaryErrorModel> processInstance 
= process.createInstance(model);
+        processInstance.start();
+        
assertThat(processInstance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
 
-        assertProcessInstanceFinished(processInstance, kruntime);
-        assertNodeTriggered(processInstance.getStringId(), "StartProcess",
-                "Call Activity 1", "Boundary event", "Task Parent", "End2");
-        // then check child process executed nodes - is there better way to 
get child process id than simply increment?
-        assertNodeTriggered(processInstance.getStringId() + 1, "StartProcess", 
"Task 1", "End");
+        Collection<String> processNodes = 
process.findNodes(Objects::nonNull).stream().map(Node::getName).collect(Collectors.toSet());
+        Collection<String> subProcessNodes = 
callActivitySubProcessBoundaryErrorProcess.findNodes(Objects::nonNull).stream()
+                .map(Node::getName).collect(Collectors.toSet());
+        assertThat(processNodes.containsAll(List.of("StartProcess",
+                "Call Activity 1", "Boundary event", "Task Parent", 
"End2"))).isTrue();
+        assertThat(subProcessNodes.containsAll(List.of("StartProcess", "Task 
1", "End"))).isTrue();
     }
 
     @Test
-    public void testCallActivityWithBoundaryErrorEventWithWaitState() throws 
Exception {
-        kruntime = createKogitoProcessRuntime(
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivityProcessBoundaryError.bpmn2",
-                
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcessBoundaryError.bpmn2");
-
+    public void testCallActivityWithBoundaryErrorEventWithWaitState() {
+        Application app = ProcessTestHelper.newApplication();
         TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
-        kruntime.getKogitoWorkItemManager().registerWorkItemHandler("task1", 
workItemHandler);
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("CallActivityProcessBoundaryError");
+        ProcessTestHelper.registerHandler(app, "task1", workItemHandler);
+
+        
org.kie.kogito.process.Process<CallActivitySubProcessBoundaryErrorModel> 
callActivitySubProcessBoundaryErrorProcess = 
CallActivitySubProcessBoundaryErrorProcess.newProcess(app);
+        ProcessInstance<CallActivitySubProcessBoundaryErrorModel> 
subProcessInstance = callActivitySubProcessBoundaryErrorProcess
+                
.createInstance(callActivitySubProcessBoundaryErrorProcess.createModel());
+        org.kie.kogito.process.Process<CallActivityProcessBoundaryErrorModel> 
process = CallActivityProcessBoundaryErrorProcess.newProcess(app);
+        CallActivityProcessBoundaryErrorModel model = process.createModel();
+        ProcessInstance<CallActivityProcessBoundaryErrorModel> processInstance 
= process.createInstance(model);
+        processInstance.start();
 
         org.kie.kogito.internal.process.runtime.KogitoWorkItem workItem = 
workItemHandler.getWorkItem();
         assertThat(workItem).isNotNull();
-        
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), 
null);
+
+        subProcessInstance.completeWorkItem(workItem.getStringId(), 
Collections.emptyMap());
 
         workItem = workItemHandler.getWorkItem();
         assertThat(workItem).isNotNull();
-        
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(), 
null);
-
-        assertProcessInstanceFinished(processInstance, kruntime);
-        assertNodeTriggered(processInstance.getStringId(), "StartProcess",
-                "Call Activity 1", "Boundary event", "Task Parent", "End2");
-        // then check child process executed nodes - is there better way to 
get child process id than simply increment?
-        assertNodeTriggered(processInstance.getStringId() + 1, "StartProcess", 
"Task 1", "End");
+        processInstance.completeWorkItem(workItem.getStringId(), 
Collections.emptyMap());
+        
assertThat(processInstance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
+        Collection<String> processNodes = 
process.findNodes(Objects::nonNull).stream().map(Node::getName).collect(Collectors.toSet());
+        Collection<String> subProcessNodes = 
callActivitySubProcessBoundaryErrorProcess.findNodes(Objects::nonNull).stream()
+                .map(Node::getName).collect(Collectors.toSet());
+        assertThat(processNodes.containsAll(List.of("StartProcess",
+                "Call Activity 1", "Boundary event", "Task Parent", 
"End2"))).isTrue();
+        assertThat(subProcessNodes.containsAll(List.of("StartProcess", "Task 
1", "End"))).isTrue();
     }
 
     @Test
@@ -1246,28 +1264,27 @@ public class ActivityTest extends JbpmBpmn2TestCase {
     }
 
     @Test
-    public void testProcessCustomDescriptionMetaData() throws Exception {
-        kruntime = 
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-ProcessCustomDescriptionMetaData.bpmn2");
-
-        Map<String, Object> params = new HashMap<>();
-
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("ProcessCustomDescriptionMetaData", params);
-        assertProcessInstanceCompleted(processInstance);
-
-        String description = processInstance.getDescription();
+    public void testProcessCustomDescriptionMetaData() {
+        Application app = ProcessTestHelper.newApplication();
+        org.kie.kogito.process.Process<ProcessCustomDescriptionMetaDataModel> 
process = ProcessCustomDescriptionMetaDataProcess.newProcess(app);
+        ProcessCustomDescriptionMetaDataModel model = process.createModel();
+        ProcessInstance<ProcessCustomDescriptionMetaDataModel> processInstance 
= process.createInstance(model);
+        processInstance.start();
+        
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
+        String description = processInstance.description();
         assertThat(description).isNotNull().isEqualTo("my process with 
description");
     }
 
     @Test
-    public void testProcessVariableCustomDescriptionMetaData() throws 
Exception {
-        kruntime = 
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-ProcessVariableCustomDescriptionMetaData.bpmn2");
-
-        Map<String, Object> params = new HashMap<>();
-        params.put("x", "variable name for process");
-        KogitoProcessInstance processInstance = 
kruntime.startProcess("ProcessVariableCustomDescriptionMetaData", params);
-        assertProcessInstanceCompleted(processInstance);
-
-        String description = processInstance.getDescription();
+    public void testProcessVariableCustomDescriptionMetaData() {
+        Application app = ProcessTestHelper.newApplication();
+        
org.kie.kogito.process.Process<ProcessVariableCustomDescriptionMetaDataModel> 
process = ProcessVariableCustomDescriptionMetaDataProcess.newProcess(app);
+        ProcessVariableCustomDescriptionMetaDataModel model = 
process.createModel();
+        model.setX("variable name for process");
+        ProcessInstance<ProcessVariableCustomDescriptionMetaDataModel> 
processInstance = process.createInstance(model);
+        processInstance.start();
+        
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
+        String description = processInstance.description();
         assertThat(description).isNotNull().isEqualTo("variable name for 
process");
     }
 


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

Reply via email to