This is an automated email from the ASF dual-hosted git repository.
martinweiler pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie.git
The following commit(s) were added to refs/heads/main by this push:
new 0511498089e [incubator-kie-issues-2360] Migrate SLAComplianceTest
methods from v7 legacy runtime to code generation (#6833)
0511498089e is described below
commit 0511498089e2fd1e232ed33178a2eb8e33f9b585
Author: SUNILathulya <[email protected]>
AuthorDate: Fri Aug 21 21:23:54 2026 +0530
[incubator-kie-issues-2360] Migrate SLAComplianceTest methods from v7
legacy runtime to code generation (#6833)
* Migrate testSLAonProcessViolated from v7 tov9
* Migrate testSLAonUserTaskViolated from v7 to v9.
* Migrate testSLAonCatchEventViolated from v7 to v9
* Remove SLATimerMode=false tests that have no v9 equivalent
* Remove SLATimerMode handling from WorkflowProcessInstanceImpl
---
.../instance/impl/WorkflowProcessInstanceImpl.java | 14 +-
.../java/org/jbpm/bpmn2/SLAComplianceTest.java | 314 +++++++--------------
2 files changed, 100 insertions(+), 228 deletions(-)
diff --git
a/kogito-jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java
b/kogito-jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java
index 4d9dbb813f0..8e296db9c7e 100755
---
a/kogito-jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java
+++
b/kogito-jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/impl/WorkflowProcessInstanceImpl.java
@@ -595,9 +595,7 @@ public abstract class WorkflowProcessInstanceImpl extends
ProcessInstanceImpl im
}
TimerInstance timerInstance = createDurationTimer(duration);
- if (useTimerSLATracking()) {
- registerTimer(timerInstance, nodeInstanceId);
- }
+ registerTimer(timerInstance, nodeInstanceId);
return timerInstance;
}
@@ -1246,16 +1244,6 @@ public abstract class WorkflowProcessInstanceImpl
extends ProcessInstanceImpl im
return this.deploymentId != null && !this.deploymentId.isEmpty();
}
- protected boolean useTimerSLATracking() {
-
- String mode = (String)
getKnowledgeRuntime().getEnvironment().get("SLATimerMode");
- if (mode == null) {
- return true;
- }
-
- return Boolean.parseBoolean(mode);
- }
-
@Override
public int getSlaCompliance() {
return slaCompliance;
diff --git
a/kogito-jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java
b/kogito-jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java
index ccfbc9b1595..6d0897533c1 100755
--- a/kogito-jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java
+++ b/kogito-jbpm/jbpm-tests/src/test/java/org/jbpm/bpmn2/SLAComplianceTest.java
@@ -46,9 +46,6 @@ import org.kie.api.runtime.process.NodeInstance;
import org.kie.kogito.Application;
import org.kie.kogito.internal.process.event.DefaultKogitoProcessEventListener;
import org.kie.kogito.internal.process.event.KogitoProcessEventListener;
-import org.kie.kogito.internal.process.runtime.KogitoNodeInstance;
-import org.kie.kogito.internal.process.runtime.KogitoProcessInstance;
-import org.kie.kogito.internal.process.runtime.KogitoWorkflowProcessInstance;
import org.kie.kogito.internal.process.workitem.KogitoWorkItem;
import org.kie.kogito.process.ProcessInstance;
import org.kie.kogito.process.SignalFactory;
@@ -61,22 +58,31 @@ public class SLAComplianceTest extends JbpmBpmn2TestCase {
@Test
public void testSLAonProcessViolated() throws Exception {
CountDownLatch latch = new CountDownLatch(1);
- final KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
+ AtomicInteger processSlaCompliance = new AtomicInteger(-1);
+
+ KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
@Override
public void afterSLAViolated(SLAViolatedEvent event) {
latch.countDown();
}
+ @Override
+ public void afterProcessCompleted(ProcessCompletedEvent event) {
+ WorkflowProcessInstanceImpl impl =
(WorkflowProcessInstanceImpl) event.getProcessInstance();
+ processSlaCompliance.set(impl.getSlaCompliance());
+ }
+
};
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLA.bpmn2");
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- kruntime.getProcessEventManager().addEventListener(listener);
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("UserTaskWithSLA");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ ProcessTestHelper.registerProcessEventListener(app, listener);
+ org.kie.kogito.process.Process<UserTaskWithSLAModel> processDefinition
= UserTaskWithSLAProcess.newProcess(app);
+ ProcessInstance<UserTaskWithSLAModel> processInstance =
processDefinition.createInstance(processDefinition.createModel());
+ processInstance.start();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
KogitoWorkItem workItem = workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
@@ -85,17 +91,17 @@ public class SLAComplianceTest extends JbpmBpmn2TestCase {
boolean slaViolated = latch.await(10, TimeUnit.SECONDS);
assertThat(slaViolated).as("SLA was not violated while it is
expected").isTrue();
- processInstance =
kruntime.getProcessInstance(processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+ processInstance =
processDefinition.instances().findById(processInstance.id()).orElse(null);
+ assertThat(processInstance).isNotNull();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
- int slaCompliance =
getSLAComplianceForProcessInstance(processInstance);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
+ int slaCompliance = executeInWorkflowState(processInstance, p ->
p.getSlaCompliance());
+
assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED);
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
- assertProcessInstanceFinished(processInstance, kruntime);
+ ProcessTestHelper.completeWorkItem(processInstance,
Collections.emptyMap(), "john");
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
- slaCompliance = getSLAComplianceForProcessInstance(processInstance);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
+
assertThat(processSlaCompliance.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED);
}
@Test
@@ -132,22 +138,43 @@ public class SLAComplianceTest extends JbpmBpmn2TestCase {
@Test
public void testSLAonUserTaskViolated() throws Exception {
CountDownLatch latch = new CountDownLatch(1);
- final KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
+ AtomicInteger processSlaCompliance = new AtomicInteger(-1);
+ AtomicInteger nodeSlaComplianceAtViolation = new AtomicInteger(-1);
+ AtomicInteger nodeSlaComplianceAfterCompletion = new AtomicInteger(-1);
+
+ KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
@Override
public void afterSLAViolated(SLAViolatedEvent event) {
+ if (event.getNodeInstance() instanceof HumanTaskNodeInstance
nodeInstance) {
+
nodeSlaComplianceAtViolation.set(nodeInstance.getSlaCompliance());
+ }
latch.countDown();
}
+ @Override
+ public void afterNodeLeft(ProcessNodeLeftEvent event) {
+ if (event.getNodeInstance() instanceof HumanTaskNodeInstance
nodeInstance) {
+
nodeSlaComplianceAfterCompletion.set(nodeInstance.getSlaCompliance());
+ }
+ }
+
+ @Override
+ public void afterProcessCompleted(ProcessCompletedEvent event) {
+ WorkflowProcessInstanceImpl impl =
(WorkflowProcessInstanceImpl) event.getProcessInstance();
+ processSlaCompliance.set(impl.getSlaCompliance());
+ }
+
};
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLAOnTask.bpmn2");
+ Application app = ProcessTestHelper.newApplication();
TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- kruntime.getProcessEventManager().addEventListener(listener);
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("UserTaskWithSLAOnTask");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+ ProcessTestHelper.registerHandler(app, "Human Task", workItemHandler);
+ ProcessTestHelper.registerProcessEventListener(app, listener);
+ org.kie.kogito.process.Process<UserTaskWithSLAOnTaskModel>
processDefinition = UserTaskWithSLAOnTaskProcess.newProcess(app);
+ ProcessInstance<UserTaskWithSLAOnTaskModel> processInstance =
processDefinition.createInstance(processDefinition.createModel());
+ processInstance.start();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
KogitoWorkItem workItem = workItemHandler.getWorkItem();
assertThat(workItem).isNotNull();
@@ -156,27 +183,23 @@ public class SLAComplianceTest extends JbpmBpmn2TestCase {
boolean slaViolated = latch.await(10, TimeUnit.SECONDS);
assertThat(slaViolated).as("SLA was not violated while it is
expected").isTrue();
- processInstance =
kruntime.getProcessInstance(processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+ processInstance =
processDefinition.instances().findById(processInstance.id()).orElse(null);
+ assertThat(processInstance).isNotNull();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
- int slaCompliance =
getSLAComplianceForProcessInstance(processInstance);
- assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_NA);
+ int slaCompliance = executeInWorkflowState(processInstance, p ->
p.getSlaCompliance());
+
assertThat(slaCompliance).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_NA);
- Collection<KogitoNodeInstance> active =
((KogitoWorkflowProcessInstance) processInstance).getKogitoNodeInstances();
+ Collection<NodeInstance> active =
executeInWorkflowState(processInstance, p -> p.getNodeInstances());
assertThat(active).hasSize(1);
- KogitoNodeInstance userTaskNode = active.iterator().next();
+
assertThat(nodeSlaComplianceAtViolation.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED);
- slaCompliance =
getSLAComplianceForNodeInstance(processInstance.getStringId(),
(org.jbpm.workflow.instance.NodeInstance) userTaskNode, 0);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
-
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
- assertProcessInstanceFinished(processInstance, kruntime);
+ ProcessTestHelper.completeWorkItem(processInstance,
Collections.emptyMap(), "john");
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
- slaCompliance = getSLAComplianceForProcessInstance(processInstance);
- assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_NA);
- slaCompliance =
getSLAComplianceForNodeInstance(processInstance.getStringId(),
(org.jbpm.workflow.instance.NodeInstance) userTaskNode, 1);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
+
assertThat(processSlaCompliance.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_NA);
+
assertThat(nodeSlaComplianceAfterCompletion.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED);
}
@@ -225,109 +248,6 @@ public class SLAComplianceTest extends JbpmBpmn2TestCase {
assertThat(nodeSlaCompliance.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_MET);
}
- @Test
- public void testSLAonProcessViolatedExternalTracking() throws Exception {
- CountDownLatch latch = new CountDownLatch(1);
- final KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
-
- @Override
- public void afterSLAViolated(SLAViolatedEvent event) {
- latch.countDown();
- }
-
- };
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLA.bpmn2");
-
- TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- kruntime.getProcessEventManager().addEventListener(listener);
- kruntime.getKieRuntime().getEnvironment().set("SLATimerMode", "false");
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("UserTaskWithSLA");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
-
- KogitoWorkItem workItem = workItemHandler.getWorkItem();
- assertThat(workItem).isNotNull();
- assertThat(workItem.getParameter("ActorId")).isEqualTo("john");
-
- boolean slaViolated = latch.await(5, TimeUnit.SECONDS);
- assertThat(slaViolated).as("SLA should not violated by
timer").isFalse();
-
- // simulate external tracking of sla
- kruntime.signalEvent("slaViolation", null,
processInstance.getStringId());
-
- slaViolated = latch.await(10, TimeUnit.SECONDS);
- assertThat(slaViolated).as("SLA was not violated while it is
expected").isTrue();
-
- processInstance =
kruntime.getProcessInstance(processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
-
- int slaCompliance =
getSLAComplianceForProcessInstance(processInstance);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
-
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
- assertProcessInstanceFinished(processInstance, kruntime);
-
- slaCompliance = getSLAComplianceForProcessInstance(processInstance);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
-
- }
-
- @Test
- public void testSLAonUserTaskViolatedExternalTracking() throws Exception {
- CountDownLatch latch = new CountDownLatch(1);
- final KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
-
- @Override
- public void afterSLAViolated(SLAViolatedEvent event) {
- latch.countDown();
- }
-
- };
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLAOnTask.bpmn2");
-
- TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- kruntime.getProcessEventManager().addEventListener(listener);
- kruntime.getKieRuntime().getEnvironment().set("SLATimerMode", "false");
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("UserTaskWithSLAOnTask");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
-
- KogitoWorkItem workItem = workItemHandler.getWorkItem();
- assertThat(workItem).isNotNull();
- assertThat(workItem.getParameter("ActorId")).isEqualTo("john");
-
- boolean slaViolated = latch.await(5, TimeUnit.SECONDS);
- assertThat(slaViolated).as("SLA should not violated by
timer").isFalse();
-
- processInstance =
kruntime.getProcessInstance(processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
-
- Collection<KogitoNodeInstance> active =
((KogitoWorkflowProcessInstance) processInstance).getKogitoNodeInstances();
- assertThat(active).hasSize(1);
-
- KogitoNodeInstance userTaskNode = active.iterator().next();
-
- // simulate external tracking of sla
- kruntime.signalEvent("slaViolation:" + userTaskNode.getStringId(),
null, processInstance.getStringId());
-
- slaViolated = latch.await(10, TimeUnit.SECONDS);
- assertThat(slaViolated).as("SLA was not violated while it is
expected").isTrue();
-
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
- assertProcessInstanceFinished(processInstance, kruntime);
-
- int slaCompliance =
getSLAComplianceForProcessInstance(processInstance);
- assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_NA);
-
- slaCompliance =
getSLAComplianceForNodeInstance(processInstance.getStringId(),
(org.jbpm.workflow.instance.NodeInstance) userTaskNode, 0);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
-
- slaCompliance =
getSLAComplianceForNodeInstance(processInstance.getStringId(),
(org.jbpm.workflow.instance.NodeInstance) userTaskNode, 1);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
-
- }
@Test
public void testSLAonProcessViolatedWithExpression() throws Exception {
@@ -374,89 +294,66 @@ public class SLAComplianceTest extends JbpmBpmn2TestCase {
assertThat(processSlaCompliance.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED);
}
+
@Test
- public void testSLAonProcessViolatedNoTracking() throws Exception {
+ public void testSLAonCatchEventViolated() throws Exception {
CountDownLatch latch = new CountDownLatch(1);
- final KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
+ AtomicInteger processSlaCompliance = new AtomicInteger(-1);
+ AtomicInteger nodeSlaComplianceAtViolation = new AtomicInteger(-1);
+ AtomicInteger nodeSlaComplianceAfterCompletion = new AtomicInteger(-1);
+
+ KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
@Override
public void afterSLAViolated(SLAViolatedEvent event) {
+ if (event.getNodeInstance() instanceof EventNodeInstance
nodeInstance) {
+
nodeSlaComplianceAtViolation.set(nodeInstance.getSlaCompliance());
+ }
latch.countDown();
}
- };
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-UserTaskWithSLA.bpmn2");
-
- TestWorkItemHandler workItemHandler = new TestWorkItemHandler();
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", workItemHandler);
- kruntime.getProcessEventManager().addEventListener(listener);
- kruntime.getKieRuntime().getEnvironment().set("SLATimerMode", "false");
-
- KogitoProcessInstance processInstance =
kruntime.startProcess("UserTaskWithSLA");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
-
- KogitoWorkItem workItem = workItemHandler.getWorkItem();
- assertThat(workItem).isNotNull();
- assertThat(workItem.getParameter("ActorId")).isEqualTo("john");
-
- boolean slaViolated = latch.await(5, TimeUnit.SECONDS);
- assertThat(slaViolated).as("SLA should not violated by
timer").isFalse();
-
- processInstance =
kruntime.getProcessInstance(processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
-
- int slaCompliance =
getSLAComplianceForProcessInstance(processInstance);
- assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_PENDING);
-
-
kruntime.getKogitoWorkItemManager().completeWorkItem(workItem.getStringId(),
null);
- assertProcessInstanceFinished(processInstance, kruntime);
-
- slaCompliance = getSLAComplianceForProcessInstance(processInstance);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
-
- }
-
- @Test
- public void testSLAonCatchEventViolated() throws Exception {
- CountDownLatch latch = new CountDownLatch(1);
- final KogitoProcessEventListener listener = new
DefaultKogitoProcessEventListener() {
+ @Override
+ public void afterNodeLeft(ProcessNodeLeftEvent event) {
+ if (event.getNodeInstance() instanceof EventNodeInstance
nodeInstance) {
+
nodeSlaComplianceAfterCompletion.set(nodeInstance.getSlaCompliance());
+ }
+ }
@Override
- public void afterSLAViolated(SLAViolatedEvent event) {
- latch.countDown();
+ public void afterProcessCompleted(ProcessCompletedEvent event) {
+ WorkflowProcessInstanceImpl impl =
(WorkflowProcessInstanceImpl) event.getProcessInstance();
+ processSlaCompliance.set(impl.getSlaCompliance());
}
};
- kruntime =
createKogitoProcessRuntime("org/jbpm/bpmn2/sla/BPMN2-IntermediateCatchEventSignalWithSLAOnEvent.bpmn2");
- kruntime.getProcessEventManager().addEventListener(listener);
- kruntime.getKogitoWorkItemManager().registerWorkItemHandler("Human
Task", new SystemOutWorkItemHandler());
- KogitoProcessInstance processInstance =
kruntime.startProcess("IntermediateCatchEventSignalWithSLAOnEvent");
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+ Application app = ProcessTestHelper.newApplication();
+ ProcessTestHelper.registerProcessEventListener(app, listener);
+ ProcessTestHelper.registerHandler(app, "Human Task", new
SystemOutWorkItemHandler());
+
org.kie.kogito.process.Process<IntermediateCatchEventSignalWithSLAOnEventModel>
processDefinition =
+
IntermediateCatchEventSignalWithSLAOnEventProcess.newProcess(app);
+ ProcessInstance<IntermediateCatchEventSignalWithSLAOnEventModel>
processInstance =
processDefinition.createInstance(processDefinition.createModel());
+ processInstance.start();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
boolean slaViolated = latch.await(5, TimeUnit.SECONDS);
assertThat(slaViolated).as("SLA should be violated by timer").isTrue();
- processInstance =
kruntime.getProcessInstance(processInstance.getStringId());
-
assertThat(processInstance.getState()).isEqualTo(KogitoProcessInstance.STATE_ACTIVE);
+ processInstance =
processDefinition.instances().findById(processInstance.id()).orElse(null);
+ assertThat(processInstance).isNotNull();
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_ACTIVE);
- Collection<KogitoNodeInstance> active =
((KogitoWorkflowProcessInstance) processInstance).getKogitoNodeInstances();
+ Collection<NodeInstance> active =
executeInWorkflowState(processInstance, p -> p.getNodeInstances());
assertThat(active).hasSize(1);
- KogitoNodeInstance eventNode = active.iterator().next();
-
- kruntime.signalEvent("MyMessage", null, processInstance.getStringId());
-
- assertProcessInstanceFinished(processInstance, kruntime);
+
assertThat(nodeSlaComplianceAtViolation.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED);
- int slaCompliance =
getSLAComplianceForProcessInstance(processInstance);
- assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_NA);
+ processInstance.send(SignalFactory.of("MyMessage", null));
- slaCompliance =
getSLAComplianceForNodeInstance(processInstance.getStringId(),
(org.jbpm.workflow.instance.NodeInstance) eventNode, 0);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
+
assertThat(processInstance.status()).isEqualTo(ProcessInstance.STATE_COMPLETED);
- slaCompliance =
getSLAComplianceForNodeInstance(processInstance.getStringId(),
(org.jbpm.workflow.instance.NodeInstance) eventNode, 1);
-
assertThat(slaCompliance).isEqualTo(KogitoProcessInstance.SLA_VIOLATED);
+
assertThat(processSlaCompliance.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_NA);
+
assertThat(nodeSlaComplianceAfterCompletion.get()).isEqualTo(org.kie.api.runtime.process.ProcessInstance.SLA_VIOLATED);
}
@@ -504,17 +401,4 @@ public class SLAComplianceTest extends JbpmBpmn2TestCase {
assertThat(slaViolated).as("SLA should not be violated by
timer").isFalse();
}
- /*
- * Helper methods
- */
-
- private int getSLAComplianceForProcessInstance(KogitoProcessInstance
processInstance) {
- int slaCompliance = ((org.jbpm.process.instance.ProcessInstance)
processInstance).getSlaCompliance();
- return slaCompliance;
- }
-
- private int getSLAComplianceForNodeInstance(String processInstanceId,
org.jbpm.workflow.instance.NodeInstance nodeInstance, int logType) {
- int slaCompliance = nodeInstance.getSlaCompliance();
- return slaCompliance;
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]