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 131de5c680 [incubator-kie-issues-1131] v7 migration to code generation
(#3601)
131de5c680 is described below
commit 131de5c6807e11a13afa3d86ee68e242ec53daf3
Author: Abhiram Gundala <[email protected]>
AuthorDate: Fri Aug 9 05:47:48 2024 -0400
[incubator-kie-issues-1131] v7 migration to code generation (#3601)
---
.../org/jbpm/bpmn2/StandaloneBPMNProcessTest.java | 431 ++++++++++++---------
1 file changed, 254 insertions(+), 177 deletions(-)
diff --git
a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/StandaloneBPMNProcessTest.java
b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/StandaloneBPMNProcessTest.java
index 2e0093de5e..d38604d1a2 100755
---
a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/StandaloneBPMNProcessTest.java
+++
b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/StandaloneBPMNProcessTest.java
@@ -31,6 +31,8 @@ import java.util.Map;
import javax.xml.parsers.DocumentBuilderFactory;
+import org.jbpm.bpmn2.activity.ScriptTaskModel;
+import org.jbpm.bpmn2.activity.ScriptTaskProcess;
import org.jbpm.bpmn2.adhoc.AdHocSubProcessAutoCompleteExpressionModel;
import org.jbpm.bpmn2.adhoc.AdHocSubProcessAutoCompleteExpressionProcess;
import org.jbpm.bpmn2.adhoc.AdHocSubProcessAutoCompleteModel;
@@ -38,12 +40,49 @@ import
org.jbpm.bpmn2.adhoc.AdHocSubProcessAutoCompleteProcess;
import org.jbpm.bpmn2.adhoc.AdHocSubProcessEmptyCompleteExpressionProcess;
import org.jbpm.bpmn2.adhoc.AdHocTerminateEndEventModel;
import org.jbpm.bpmn2.adhoc.AdHocTerminateEndEventProcess;
+import org.jbpm.bpmn2.data.DataObjectModel;
+import org.jbpm.bpmn2.data.DataObjectProcess;
+import org.jbpm.bpmn2.data.Evaluation2Model;
+import org.jbpm.bpmn2.data.Evaluation2Process;
+import org.jbpm.bpmn2.data.Evaluation3Model;
+import org.jbpm.bpmn2.data.Evaluation3Process;
+import org.jbpm.bpmn2.data.EvaluationModel;
+import org.jbpm.bpmn2.data.EvaluationProcess;
+import org.jbpm.bpmn2.event.ErrorEndEventModel;
+import org.jbpm.bpmn2.event.ErrorEndEventProcess;
+import org.jbpm.bpmn2.event.SignalEndEventModel;
+import org.jbpm.bpmn2.event.SignalEndEventProcess;
+import org.jbpm.bpmn2.flow.CompositeWithDIGraphicalModel;
+import org.jbpm.bpmn2.flow.CompositeWithDIGraphicalProcess;
+import org.jbpm.bpmn2.flow.ExclusiveSplitModel;
+import org.jbpm.bpmn2.flow.ExclusiveSplitProcess;
+import org.jbpm.bpmn2.flow.InclusiveSplitModel;
+import org.jbpm.bpmn2.flow.InclusiveSplitProcess;
+import org.jbpm.bpmn2.flow.MinimalModel;
+import org.jbpm.bpmn2.flow.MinimalProcess;
+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.SubProcessModel;
+import org.jbpm.bpmn2.flow.SubProcessProcess;
+import org.jbpm.bpmn2.flow.UserTaskModel;
+import org.jbpm.bpmn2.flow.UserTaskProcess;
import org.jbpm.bpmn2.handler.ReceiveTaskHandler;
import org.jbpm.bpmn2.handler.SendTaskHandler;
+import org.jbpm.bpmn2.intermediate.EventBasedSplit4Model;
+import org.jbpm.bpmn2.intermediate.EventBasedSplit4Process;
+import org.jbpm.bpmn2.intermediate.EventBasedSplitModel;
+import org.jbpm.bpmn2.intermediate.EventBasedSplitProcess;
import org.jbpm.bpmn2.intermediate.IntermediateThrowEventMessageModel;
import org.jbpm.bpmn2.intermediate.IntermediateThrowEventMessageProcess;
import org.jbpm.bpmn2.objects.Person;
import org.jbpm.bpmn2.objects.TestWorkItemHandler;
+import org.jbpm.bpmn2.subprocess.CallActivityModel;
+import org.jbpm.bpmn2.subprocess.CallActivityProcess;
+import org.jbpm.bpmn2.subprocess.CallActivitySubProcessProcess;
+import org.jbpm.bpmn2.task.SendTaskModel;
+import org.jbpm.bpmn2.task.SendTaskProcess;
import org.jbpm.process.instance.impl.demo.DoNothingWorkItemHandler;
import org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler;
import org.jbpm.process.instance.impl.humantask.InternalHumanTaskWorkItem;
@@ -57,11 +96,14 @@ import org.kie.api.event.process.ProcessStartedEvent;
import org.kie.api.io.Resource;
import org.kie.internal.io.ResourceFactory;
import org.kie.kogito.Application;
+import org.kie.kogito.auth.SecurityPolicy;
import org.kie.kogito.event.impl.MessageProducer;
import org.kie.kogito.internal.process.event.DefaultKogitoProcessEventListener;
import org.kie.kogito.internal.process.runtime.KogitoProcessInstance;
import org.kie.kogito.internal.process.runtime.KogitoWorkItem;
import org.kie.kogito.internal.process.runtime.KogitoWorkflowProcessInstance;
+import org.kie.kogito.process.ProcessInstance;
+import org.kie.kogito.process.impl.Sig;
import org.w3c.dom.Document;
import static org.assertj.core.api.Assertions.assertThat;
@@ -70,103 +112,120 @@ import static org.assertj.core.api.Assertions.fail;
public class StandaloneBPMNProcessTest extends JbpmBpmn2TestCase {
@Test
- public void testMinimalProcess() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-MinimalProcess.bpmn2");
- KogitoProcessInstance processInstance =
kruntime.startProcess("Minimal");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testMinimalProcess() {
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<MinimalModel> minimalProcess =
MinimalProcess.newProcess(app);
+ MinimalModel model = minimalProcess.createModel();
+ org.kie.kogito.process.ProcessInstance<MinimalModel> instance =
minimalProcess.createInstance(model);
+ instance.start();
+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testMinimalProcessWithGraphical() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-MinimalProcessWithGraphical.bpmn2");
- KogitoProcessInstance processInstance =
kruntime.startProcess("MinimalWithGraphical");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testMinimalProcessWithGraphical() {
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<MinimalWithGraphicalModel>
minimalWithGraphicalProcess = MinimalWithGraphicalProcess.newProcess(app);
+ MinimalWithGraphicalModel model =
minimalWithGraphicalProcess.createModel();
+ org.kie.kogito.process.ProcessInstance<MinimalWithGraphicalModel>
instance = minimalWithGraphicalProcess.createInstance(model);
+ instance.start();
+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testMinimalProcessWithDIGraphical() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-MinimalProcessWithDIGraphical.bpmn2");
- KogitoProcessInstance processInstance =
kruntime.startProcess("MinimalWithDIGraphical");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testMinimalProcessWithDIGraphical() {
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<MinimalWithDIGraphicalModel> process =
MinimalWithDIGraphicalProcess.newProcess(app);
+ MinimalWithDIGraphicalModel model = process.createModel();
+ org.kie.kogito.process.ProcessInstance<MinimalWithDIGraphicalModel>
instance = process.createInstance(model);
+ instance.start();
+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
}
@Test
public void testCompositeProcessWithDIGraphical() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-CompositeProcessWithDIGraphical.bpmn2");
- KogitoProcessInstance processInstance =
kruntime.startProcess("CompositeWithDIGraphical");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<CompositeWithDIGraphicalModel>
compositeWithDIGraphicalProcess =
CompositeWithDIGraphicalProcess.newProcess(app);
+ CompositeWithDIGraphicalModel model =
compositeWithDIGraphicalProcess.createModel();
+ org.kie.kogito.process.ProcessInstance<CompositeWithDIGraphicalModel>
instance = compositeWithDIGraphicalProcess.createInstance(model);
+ instance.start();
+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testScriptTask() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/activity/BPMN2-ScriptTask.bpmn2");
- KogitoProcessInstance processInstance =
kruntime.startProcess("ScriptTask");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testScriptTask() {
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<ScriptTaskModel> scriptTaskProcess =
ScriptTaskProcess.newProcess(app);
+ ScriptTaskModel model = scriptTaskProcess.createModel();
+ org.kie.kogito.process.ProcessInstance<ScriptTaskModel> instance =
scriptTaskProcess.createInstance(model);
+ instance.start();
+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testDataObject() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/data/BPMN2-DataObject.bpmn2");
-
- Map<String, Object> params = new HashMap<>();
- params.put("employee", "UserId-12345");
- KogitoProcessInstance processInstance =
kruntime.startProcess("DataObject", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testDataObject() {
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<DataObjectModel> dataObjectProcess =
DataObjectProcess.newProcess(app);
+ DataObjectModel model = dataObjectProcess.createModel();
+ model.setEmployee("UserId-12345");
+ org.kie.kogito.process.ProcessInstance<DataObjectModel> instance =
dataObjectProcess.createInstance(model);
+ instance.start();
+
assertThat(instance.status()).isEqualTo(org.kie.kogito.process.ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testEvaluationProcess() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/data/BPMN2-Evaluation.bpmn2");
-
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", new SystemOutWorkItemHandler());
-
kruntime.getKogitoWorkItemManager().registerWorkItemHandler("RegisterRequest",
new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<>();
- params.put("employee", "UserId-12345");
- KogitoProcessInstance processInstance =
kruntime.startProcess("Evaluation", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testEvaluationProcess() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Human Task", new
SystemOutWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "RegisterRequest", new
SystemOutWorkItemHandler());
+ org.kie.kogito.process.Process<EvaluationModel> processDefinition =
EvaluationProcess.newProcess(app);
+ EvaluationModel model = processDefinition.createModel();
+ model.setEmployee("UserId-12345");
+ org.kie.kogito.process.ProcessInstance<EvaluationModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testEvaluationProcess2() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/data/BPMN2-Evaluation2.bpmn2");
-
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<>();
- params.put("employee", "UserId-12345");
- KogitoProcessInstance processInstance =
kruntime.startProcess("Evaluation2", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testEvaluationProcess2() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Human Task", new
SystemOutWorkItemHandler());
+ org.kie.kogito.process.Process<Evaluation2Model> processDefinition =
Evaluation2Process.newProcess(app);
+ Evaluation2Model model = processDefinition.createModel();
+ model.setEmployee("UserId-12345");
+ org.kie.kogito.process.ProcessInstance<Evaluation2Model> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testEvaluationProcess3() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/data/BPMN2-Evaluation3.bpmn2");
-
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", new SystemOutWorkItemHandler());
-
kruntime.getKogitoWorkItemManager().registerWorkItemHandler("RegisterRequest",
new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<>();
- params.put("employee", "john2");
- KogitoProcessInstance processInstance =
kruntime.startProcess("Evaluation3", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testEvaluationProcess3() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Human Task", new
SystemOutWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "RegisterRequest", new
SystemOutWorkItemHandler());
+ org.kie.kogito.process.Process<Evaluation3Model> processDefinition =
Evaluation3Process.newProcess(app);
+ Evaluation3Model model = processDefinition.createModel();
+ model.setEmployee("john2");
+ org.kie.kogito.process.ProcessInstance<Evaluation3Model> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testUserTask() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/activity/BPMN2-UserTask.bpmn2");
-
+ public void testUserTask() {
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- Map<String, Object> params = new HashMap<>();
- String varId = "s";
- String varValue = "initialValue";
- params.put(varId, varValue);
- KogitoProcessInstance processInstance =
kruntime.startProcess("UserTask", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
-
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ org.kie.kogito.process.Process<UserTaskModel> processDefinition =
UserTaskProcess.newProcess(app);
+ UserTaskModel model = processDefinition.createModel();
+ model.setS("initialValue");
+ org.kie.kogito.process.ProcessInstance<UserTaskModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
KogitoWorkItem workItem = workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
assertThat(workItem.getParameter("ActorId")).isEqualTo("john");
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
+ instance.completeWorkItem(workItem.getStringId(),
Collections.emptyMap(), SecurityPolicy.of("john", null));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
@@ -193,25 +252,31 @@ public class StandaloneBPMNProcessTest extends
JbpmBpmn2TestCase {
}
@Test
- public void testExclusiveSplit() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-ExclusiveSplit.bpmn2");
+ public void testExclusiveSplit() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Email", new
SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email",
new SystemOutWorkItemHandler());
- Map<String, Object> params = new HashMap<>();
- params.put("x", "First");
- params.put("y", "Second");
- KogitoProcessInstance processInstance =
kruntime.startProcess("ExclusiveSplit", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ org.kie.kogito.process.Process<ExclusiveSplitModel> processDefinition
= ExclusiveSplitProcess.newProcess(app);
+ ExclusiveSplitModel model = processDefinition.createModel();
+ model.setX("First");
+ model.setY("Second");
+
+ org.kie.kogito.process.ProcessInstance<ExclusiveSplitModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testInclusiveSplit() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/flow/BPMN2-InclusiveSplit.bpmn2");
+ public void testInclusiveSplit() {
+ Application app = ProcessTestHelper.newApplication();
- Map<String, Object> params = new HashMap<>();
- params.put("x", 15);
- KogitoProcessInstance processInstance =
kruntime.startProcess("InclusiveSplit", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ org.kie.kogito.process.Process<InclusiveSplitModel> processDefinition
= InclusiveSplitProcess.newProcess(app);
+ InclusiveSplitModel model = processDefinition.createModel();
+ model.setX(15);
+
+ org.kie.kogito.process.ProcessInstance<InclusiveSplitModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
@@ -233,69 +298,65 @@ public class StandaloneBPMNProcessTest extends
JbpmBpmn2TestCase {
}
@Test
- public void testEventBasedSplit() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/intermediate/BPMN2-EventBasedSplit.bpmn2");
+ public void testEventBasedSplit() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Email1", new
SystemOutWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "Email2", new
SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- // Yes
- KogitoProcessInstance processInstance =
kruntime.startProcess("EventBasedSplit");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- kruntime.signalEvent("Yes", "YesValue", processInstance.getStringId());
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
- // No
- processInstance = kruntime.startProcess("EventBasedSplit");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- kruntime.signalEvent("No", "NoValue", processInstance.getStringId());
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
+ org.kie.kogito.process.Process<EventBasedSplitModel> processDefinition
= EventBasedSplitProcess.newProcess(app);
+ EventBasedSplitModel model = processDefinition.createModel();
+ org.kie.kogito.process.ProcessInstance<EventBasedSplitModel> instance
= processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ instance.send(Sig.of("Yes", "YesValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
+ instance = processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ instance.send(Sig.of("No", "NoValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testEventBasedSplitBefore() throws Exception {
- // signaling before the split is reached should have no effect
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/intermediate/BPMN2-EventBasedSplit.bpmn2");
+ public void testEventBasedSplitBefore() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Email1", new
DoNothingWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "Email2", new
DoNothingWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new DoNothingWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new DoNothingWorkItemHandler());
- // Yes
- KogitoProcessInstance processInstance =
kruntime.startProcess("EventBasedSplit");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new DoNothingWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new DoNothingWorkItemHandler());
- kruntime.signalEvent("Yes", "YesValue", processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- // No
- processInstance = kruntime.startProcess("EventBasedSplit");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new DoNothingWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new DoNothingWorkItemHandler());
- kruntime.signalEvent("No", "NoValue", processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+ org.kie.kogito.process.Process<EventBasedSplitModel> processDefinition
= EventBasedSplitProcess.newProcess(app);
+ EventBasedSplitModel model = processDefinition.createModel();
+ org.kie.kogito.process.ProcessInstance<EventBasedSplitModel> instance
= processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ instance.send(Sig.of("Yes", "YesValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+
+ instance = processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ instance.send(Sig.of("No", "NoValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
}
@Test
- public void testEventBasedSplitAfter() throws Exception {
+ public void testEventBasedSplitAfter() {
// signaling the other alternative after one has been selected should
// have no effect
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/intermediate/BPMN2-EventBasedSplit.bpmn2");
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Email1", new
SystemOutWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "Email2", new
DoNothingWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new DoNothingWorkItemHandler());
+ org.kie.kogito.process.Process<EventBasedSplitModel> processDefinition
= EventBasedSplitProcess.newProcess(app);
+ EventBasedSplitModel model = processDefinition.createModel();
+ org.kie.kogito.process.ProcessInstance<EventBasedSplitModel> instance
= processDefinition.createInstance(model);
// Yes
- KogitoProcessInstance processInstance =
kruntime.startProcess("EventBasedSplit");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new DoNothingWorkItemHandler());
- kruntime.signalEvent("Yes", "YesValue", processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new DoNothingWorkItemHandler());
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ instance.send(Sig.of("Yes", "YesValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
// No
- kruntime.signalEvent("No", "NoValue", processInstance.getStringId());
+ instance.send(Sig.of("No", "NoValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
}
@Test
@@ -347,24 +408,23 @@ public class StandaloneBPMNProcessTest extends
JbpmBpmn2TestCase {
}
@Test
- public void testEventBasedSplit4() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/intermediate/BPMN2-EventBasedSplit4.bpmn2");
+ public void testEventBasedSplit4() {
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerHandler(app, "Email1", new
SystemOutWorkItemHandler());
+ ProcessTestHelper.registerHandler(app, "Email2", new
SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- // Yes
- KogitoProcessInstance processInstance =
kruntime.startProcess("EventBasedSplit4");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- kruntime.signalEvent("Message-YesMessage", "YesValue",
processInstance.getStringId());
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email1",
new SystemOutWorkItemHandler());
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Email2",
new SystemOutWorkItemHandler());
- // No
- processInstance = kruntime.startProcess("EventBasedSplit4");
- kruntime.signalEvent("Message-NoMessage", "NoValue",
processInstance.getStringId());
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
+ org.kie.kogito.process.Process<EventBasedSplit4Model>
processDefinition = EventBasedSplit4Process.newProcess(app);
+ EventBasedSplit4Model model = processDefinition.createModel();
+ org.kie.kogito.process.ProcessInstance<EventBasedSplit4Model> instance
= processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
+ instance.send(Sig.of("Message-YesMessage", "YesValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
+
+ instance = processDefinition.createInstance(model);
+ instance.start();
+ instance.send(Sig.of("Message-NoMessage", "NoValue"));
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
@@ -397,23 +457,29 @@ public class StandaloneBPMNProcessTest extends
JbpmBpmn2TestCase {
}
@Test
- public void testCallActivity() throws Exception {
- kruntime = createKogitoProcessRuntime(
- "org/jbpm/bpmn2/subprocess/BPMN2-CallActivity.bpmn2",
-
"org/jbpm/bpmn2/subprocess/BPMN2-CallActivitySubProcess.bpmn2");
+ public void testCallActivity() {
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<CallActivityModel> processDefinition =
CallActivityProcess.newProcess(app);
+ CallActivitySubProcessProcess.newProcess(app);
+ CallActivityModel model = processDefinition.createModel();
+ model.setX("oldValue");
+ ProcessInstance<CallActivityModel> instance =
processDefinition.createInstance(model);
- Map<String, Object> params = new HashMap<>();
- params.put("x", "oldValue");
- KogitoProcessInstance processInstance =
kruntime.startProcess("CallActivity", params);
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
- assertThat(((KogitoWorkflowProcessInstance)
processInstance).getVariable("y")).isEqualTo("new value");
+ CallActivitySubProcessProcess.newProcess(app);
+
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
+ assertThat(instance.variables().getY()).isEqualTo("new value");
}
@Test
- public void testSubProcess() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/subprocess/BPMN2-SubProcess.bpmn2");
- KogitoProcessInstance processInstance =
kruntime.startProcess("SubProcess");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_COMPLETED);
+ public void testSubProcess() {
+ Application app = ProcessTestHelper.newApplication();
+ org.kie.kogito.process.Process<SubProcessModel> processDefinition =
SubProcessProcess.newProcess(app);
+ SubProcessModel model = processDefinition.createModel();
+ org.kie.kogito.process.ProcessInstance<SubProcessModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
@@ -618,22 +684,28 @@ public class StandaloneBPMNProcessTest extends
JbpmBpmn2TestCase {
}
@Test
- public void testErrorEndEventProcess() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/event/BPMN2-ErrorEndEvent.bpmn2");
+ public void testErrorEndEventProcess() {
+ Application app = ProcessTestHelper.newApplication();
- KogitoProcessInstance processInstance =
kruntime.startProcess("ErrorEndEvent");
- assertProcessInstanceAborted(processInstance.getStringId(), kruntime);
+ org.kie.kogito.process.Process<ErrorEndEventModel> processDefinition =
ErrorEndEventProcess.newProcess(app);
+ ErrorEndEventModel model = processDefinition.createModel();
+
+ org.kie.kogito.process.ProcessInstance<ErrorEndEventModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ABORTED);
}
@Test
- public void testSendTask() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/task/BPMN2-SendTask.bpmn2");
-
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Send
Task", new SendTaskHandler());
- Map<String, Object> params = new HashMap<>();
- params.put("s", "john");
- KogitoWorkflowProcessInstance processInstance =
(KogitoWorkflowProcessInstance) kruntime.startProcess("SendTask", params);
- assertProcessInstanceCompleted(processInstance.getStringId(),
kruntime);
+ public void testSendTask() {
+ Application app = ProcessTestHelper.newApplication();
+ SendTaskHandler sendTaskHandler = new SendTaskHandler();
+ ProcessTestHelper.registerHandler(app, "Send Task", sendTaskHandler);
+ org.kie.kogito.process.Process<SendTaskModel> processDefinition =
SendTaskProcess.newProcess(app);
+ SendTaskModel model = processDefinition.createModel();
+ model.setS("john");
+ org.kie.kogito.process.ProcessInstance<SendTaskModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
@@ -698,11 +770,16 @@ public class StandaloneBPMNProcessTest extends
JbpmBpmn2TestCase {
}
@Test
- public void testSignalEnd() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/event/BPMN2-SignalEndEvent.bpmn2");
- Map<String, Object> params = new HashMap<>();
- params.put("x", "MyValue");
- kruntime.startProcess("SignalEndEvent", params);
+ public void testSignalEnd() {
+ Application app = ProcessTestHelper.newApplication();
+
+ org.kie.kogito.process.Process<SignalEndEventModel> processDefinition
= SignalEndEventProcess.newProcess(app);
+ SignalEndEventModel model = processDefinition.createModel();
+ model.setX("MyValue");
+
+ org.kie.kogito.process.ProcessInstance<SignalEndEventModel> instance =
processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance.status()).isEqualTo(org.jbpm.process.instance.ProcessInstance.STATE_COMPLETED);
}
@Test
@@ -719,7 +796,7 @@ public class StandaloneBPMNProcessTest extends
JbpmBpmn2TestCase {
}
@Test
- public void testMessageIntermediateThrow() throws Exception {
+ public void testMessageIntermediateThrow() {
Application app = ProcessTestHelper.newApplication();
ProcessTestHelper.registerHandler(app, "Send Task", new
SendTaskHandler());
IntermediateThrowEventMessageProcess definition =
(IntermediateThrowEventMessageProcess)
IntermediateThrowEventMessageProcess.newProcess(app);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]