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 373b2ed3f6 [incubator-kie-issues-1131] v7 migration to code generation
(#3618)
373b2ed3f6 is described below
commit 373b2ed3f6e2935d9f4efb52390b073ad7cf28c1
Author: Abhiram Gundala <[email protected]>
AuthorDate: Fri Aug 23 02:29:51 2024 -0400
[incubator-kie-issues-1131] v7 migration to code generation (#3618)
---
.../test/java/org/jbpm/bpmn2/VariableTagsTest.java | 110 +++++++++++----------
1 file changed, 57 insertions(+), 53 deletions(-)
diff --git a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/VariableTagsTest.java
b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/VariableTagsTest.java
index 90d63909c9..db63be23c2 100644
--- a/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/VariableTagsTest.java
+++ b/jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/VariableTagsTest.java
@@ -26,6 +26,11 @@ import java.util.Optional;
import org.drools.io.ClassPathResource;
import org.jbpm.bpmn2.objects.TestWorkItemHandler;
+import org.jbpm.bpmn2.tags.ApprovalWithCustomVariableTagsModel;
+import org.jbpm.bpmn2.tags.ApprovalWithCustomVariableTagsProcess;
+import org.jbpm.bpmn2.tags.ApprovalWithReadonlyVariableTagsModel;
+import org.jbpm.bpmn2.tags.ApprovalWithReadonlyVariableTagsProcess;
+import org.jbpm.bpmn2.tags.ApprovalWithRequiredVariableTagsModel;
import org.jbpm.bpmn2.tags.ApprovalWithRequiredVariableTagsProcess;
import org.jbpm.process.core.context.variable.Variable;
import org.jbpm.ruleflow.core.RuleFlowProcess;
@@ -34,8 +39,8 @@ import org.junit.jupiter.api.Test;
import org.kie.api.event.process.ProcessVariableChangedEvent;
import org.kie.kogito.Application;
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.process.ProcessInstance;
import org.kie.kogito.process.VariableViolationException;
import org.kie.kogito.process.bpmn2.BpmnProcess;
import org.kie.kogito.process.bpmn2.BpmnVariables;
@@ -43,8 +48,6 @@ import org.kie.kogito.process.bpmn2.BpmnVariables;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.entry;
-import static
org.kie.kogito.internal.process.runtime.KogitoProcessInstance.STATE_ABORTED;
-import static
org.kie.kogito.internal.process.runtime.KogitoProcessInstance.STATE_ACTIVE;
public class VariableTagsTest extends JbpmBpmn2TestCase {
@@ -62,75 +65,80 @@ public class VariableTagsTest extends JbpmBpmn2TestCase {
}
@Test
- public void testProcessWithMissingRequiredVariable() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/tags/BPMN2-ApprovalWithRequiredVariableTags.bpmn2");
+ public void testProcessWithMissingRequiredVariable() {
+ Application app = ProcessTestHelper.newApplication();
+ ApprovalWithRequiredVariableTagsProcess processDefinition =
(ApprovalWithRequiredVariableTagsProcess)
ApprovalWithRequiredVariableTagsProcess.newProcess(app);
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
-
assertThatExceptionOfType(VariableViolationException.class).isThrownBy(() ->
kruntime.startProcess("ApprovalWithRequiredVariableTags"));
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ ApprovalWithRequiredVariableTagsModel model =
processDefinition.createModel();
+
+
assertThatExceptionOfType(VariableViolationException.class).isThrownBy(() -> {
+
org.kie.kogito.process.ProcessInstance<ApprovalWithRequiredVariableTagsModel>
instance = processDefinition.createInstance(model);
+ instance.start();
+ });
}
@Test
- public void testProcessWithRequiredVariable() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/tags/BPMN2-ApprovalWithRequiredVariableTags.bpmn2");
-
+ public void testProcessWithRequiredVariable() {
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- Map<String, Object> parameters = new HashMap<>();
- parameters.put("approver", "john");
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("ApprovalWithRequiredVariableTags", parameters);
- assertThat(processInstance.getState()).isEqualTo(STATE_ACTIVE);
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ org.kie.kogito.process.Process<ApprovalWithRequiredVariableTagsModel>
processDefinition = ApprovalWithRequiredVariableTagsProcess.newProcess(app);
+ ApprovalWithRequiredVariableTagsModel model =
processDefinition.createModel();
+ model.setApprover("john");
+
org.kie.kogito.process.ProcessInstance<ApprovalWithRequiredVariableTagsModel>
instance = processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
KogitoWorkItem workItem = workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
+ instance.completeWorkItem(workItem.getStringId(), null);
workItem = workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
- assertProcessInstanceFinished(processInstance, kruntime);
+ instance.completeWorkItem(workItem.getStringId(), null);
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_COMPLETED);
}
@Test
- public void testProcessWithReadonlyVariable() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/tags/BPMN2-ApprovalWithReadonlyVariableTags.bpmn2");
-
+ public void testProcessWithReadonlyVariable() {
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- Map<String, Object> parameters = new HashMap<>();
- parameters.put("approver", "john");
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("ApprovalWithReadonlyVariableTags", parameters);
- assertThat(processInstance.getState()).isEqualTo(STATE_ACTIVE);
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ org.kie.kogito.process.Process<ApprovalWithReadonlyVariableTagsModel>
processDefinition = ApprovalWithReadonlyVariableTagsProcess.newProcess(app);
+ ApprovalWithReadonlyVariableTagsModel model =
processDefinition.createModel();
+ model.setApprover("john");
+
org.kie.kogito.process.ProcessInstance<ApprovalWithReadonlyVariableTagsModel>
instance = processDefinition.createInstance(model);
+ instance.start();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ACTIVE);
KogitoWorkItem workItem = workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
-
assertThatExceptionOfType(VariableViolationException.class)
- .isThrownBy(() ->
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
Collections.singletonMap("ActorId", "john")));
-
- kruntime.abortProcessInstance(processInstance.getStringId());
-
- assertProcessInstanceFinished(processInstance, kruntime);
+ .isThrownBy(() ->
instance.completeWorkItem(workItem.getStringId(),
Collections.singletonMap("ActorId", "john")));
+ instance.abort();
+
assertThat(instance).extracting(ProcessInstance::status).isEqualTo(ProcessInstance.STATE_ABORTED);
}
@Test
- public void testProcessWithCustomVariableTag() throws Exception {
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/tags/BPMN2-ApprovalWithCustomVariableTags.bpmn2");
+ public void testProcessWithCustomVariableTag() {
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- kruntime.getProcessEventManager().addEventListener(new
DefaultKogitoProcessEventListener() {
-
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ DefaultKogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
@Override
public void beforeVariableChanged(ProcessVariableChangedEvent
event) {
if (event.hasTag("onlyAdmin")) {
- throw new
VariableViolationException(((KogitoProcessInstance)
event.getProcessInstance()).getStringId(), event.getVariableId(), "Variable can
only be set by admins");
+ throw new
VariableViolationException(event.getProcessInstance().getId(),
event.getVariableId(), "Variable can only be set by admins");
}
}
-
+ };
+ ProcessTestHelper.registerProcessEventListener(app, listener);
+ org.kie.kogito.process.Process<ApprovalWithCustomVariableTagsModel>
processDefinition = ApprovalWithCustomVariableTagsProcess.newProcess(app);
+ ApprovalWithCustomVariableTagsModel model =
processDefinition.createModel();
+ model.setApprover("john");
+
+
assertThatExceptionOfType(VariableViolationException.class).isThrownBy(() -> {
+
org.kie.kogito.process.ProcessInstance<ApprovalWithCustomVariableTagsModel>
instance = processDefinition.createInstance(model);
+ instance.start();
});
-
- Map<String, Object> parameters = new HashMap<>();
- parameters.put("approver", "john");
-
-
assertThatExceptionOfType(VariableViolationException.class).isThrownBy(() ->
kruntime.startProcess("ApprovalWithCustomVariableTags", parameters));
}
@Test
@@ -139,20 +147,16 @@ public class VariableTagsTest extends JbpmBpmn2TestCase {
BpmnProcess process = processes.get(0);
Map<String, Object> params = new HashMap<>();
params.put("approver", "john");
-
org.kie.kogito.process.ProcessInstance<BpmnVariables> instance =
process.createInstance(BpmnVariables.create(params));
instance.start();
-
- assertThat(instance.status()).isEqualTo(STATE_ACTIVE);
-
+ assertThat(instance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
assertThat(instance.variables().toMap()).hasSize(1);
assertThat(instance.variables().toMap(BpmnVariables.OUTPUTS_ONLY)).isEmpty();
assertThat(instance.variables().toMap(BpmnVariables.INPUTS_ONLY)).isEmpty();
assertThat(instance.variables().toMap(BpmnVariables.INTERNAL_ONLY)).isEmpty();
assertThat(instance.variables().toMap(v ->
v.hasTag("onlyAdmin"))).hasSize(1).containsEntry("approver", "john");
-
instance.abort();
-
- assertThat(instance.status()).isEqualTo(STATE_ABORTED);
+ assertThat(instance.status()).isEqualTo(ProcessInstance.STATE_ABORTED);
}
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]