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]

Reply via email to