inOrder.verify(mockModificationBuilder).cancelAllForActivity("activityId"); inOrder.verify(mockModificationBuilder).cancelActivityInstance("activityInstanceId"); inOrder.verify(mockModificationBuilder).cancelTransitionInstance("transitionInstanceId"); inOrder.verify(mockModificationBuilder).startBeforeActivity("activityId"); inOrder.verify(mockModificationBuilder).startBeforeActivity("activityId", "ancestorActivityInstanceId");
inOrder.verify(mockModificationBuilder).cancelAllForActivity("activityId"); inOrder.verify(mockModificationBuilder).cancelActivityInstance("activityInstanceId"); inOrder.verify(mockModificationBuilder).cancelTransitionInstance("transitionInstanceId"); inOrder.verify(mockModificationBuilder).startBeforeActivity("activityId"); inOrder.verify(mockModificationBuilder).startBeforeActivity("activityId", "ancestorActivityInstanceId");
@Test public void testPriorityOnModification() { // given processInstance = runtimeService.startProcessInstanceByKey("serviceTaskProcess"); TransitionInstance transitionInstance = runtimeService.getActivityInstance(processInstance.getId()) .getTransitionInstances("serviceTask")[0]; // when runtimeService.createProcessInstanceModification(processInstance.getId()) .startBeforeActivity("serviceTask") .cancelTransitionInstance(transitionInstance.getId()) .execute(); // then Job job = managementService.createJobQuery().singleResult(); Assert.assertEquals(PriorityBean.PRIORITY, job.getPriority()); }
@Deployment(resources = ASYNC_BEFORE_FAILING_TASK_PROCESS) public void testRestartAFailedServiceTask() { // given a failed job ProcessInstance instance = runtimeService.createProcessInstanceByKey("failingAfterBeforeTask") .startBeforeActivity("task2") .execute(); executeAvailableJobs(); Incident incident = runtimeService.createIncidentQuery().singleResult(); assertNotNull(incident); // when the service task is restarted ActivityInstance tree = runtimeService.getActivityInstance(instance.getId()); runtimeService.createProcessInstanceModification(instance.getId()) .startBeforeActivity("task2") .cancelTransitionInstance(tree.getTransitionInstances("task2")[0].getId()) .execute(); executeAvailableJobs(); // then executing the task has failed again and there is a new incident Incident newIncident = runtimeService.createIncidentQuery().singleResult(); assertNotNull(newIncident); assertNotSame(incident.getId(), newIncident.getId()); }
.cancelTransitionInstance(transitionInstances[1].getId()) // does not trigger compaction .cancelTransitionInstance(transitionInstances[1].getId()) // should fail
.cancelTransitionInstance(transitionInstance.getId()) .execute();
.cancelTransitionInstance(transitionInstance.getId()) .execute();
.cancelAllForActivity("innerTask2") // compact tree .startBeforeActivity("innerTask2") // expand tree .cancelTransitionInstance(transitionInstances[1].getId()) .execute();
.cancelTransitionInstance(transitionInstances[0].getId()) // triggers tree compaction .startBeforeActivity("innerTask2") // triggers tree expansion .cancelTransitionInstance(transitionInstances[1].getId()) .execute();
@Deployment(resources = ASYNC_BEFORE_FAILING_TASK_PROCESS) public void testRestartAFailedServiceTask() { // given a failed job ProcessInstance instance = runtimeService.createProcessInstanceByKey("failingAfterBeforeTask") .startBeforeActivity("task2") .execute(); executeAvailableJobs(); Incident incident = runtimeService.createIncidentQuery().singleResult(); assertNotNull(incident); // when the service task is restarted ActivityInstance tree = runtimeService.getActivityInstance(instance.getId()); runtimeService.createProcessInstanceModification(instance.getId()) .startBeforeActivity("task2") .cancelTransitionInstance(tree.getTransitionInstances("task2")[0].getId()) .execute(); executeAvailableJobs(); // then executing the task has failed again and there is a new incident Incident newIncident = runtimeService.createIncidentQuery().singleResult(); assertNotNull(newIncident); assertNotSame(incident.getId(), newIncident.getId()); }
.cancelTransitionInstance(transitionInstances[1].getId()) // does not trigger compaction .cancelTransitionInstance(transitionInstances[1].getId()) // should fail
.cancelTransitionInstance(transitionInstance.getId()) .execute();
.cancelTransitionInstance(transitionInstance.getId()) .execute();
.cancelAllForActivity("innerTask2") // compact tree .startBeforeActivity("innerTask2") // expand tree .cancelTransitionInstance(transitionInstances[1].getId()) .execute();
.cancelTransitionInstance(transitionInstances[0].getId()) // triggers tree compaction .startBeforeActivity("innerTask2") // triggers tree expansion .cancelTransitionInstance(transitionInstances[1].getId()) .execute();