use of org.camunda.bpm.engine.task.Task in project camunda-bpm-platform by camunda.
the class ExternalTaskServiceTest method testHandleBpmnError.
@Deployment(resources = "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml")
public void testHandleBpmnError() {
// given
runtimeService.startProcessInstanceByKey("twoExternalTaskProcess");
// when
List<LockedExternalTask> externalTasks = helperHandleBpmnError(1, WORKER_ID, TOPIC_NAME, LOCK_TIME, "ERROR-OCCURED");
// then
assertEquals(0, externalTasks.size());
assertEquals(0, externalTaskService.createExternalTaskQuery().count());
Task afterBpmnError = taskService.createTaskQuery().singleResult();
assertNotNull(afterBpmnError);
assertEquals(afterBpmnError.getTaskDefinitionKey(), "afterBpmnError");
}
use of org.camunda.bpm.engine.task.Task in project camunda-bpm-platform by camunda.
the class ExternalTaskServiceTest method testHandleFailureThenComplete.
@Deployment(resources = "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml")
public void testHandleFailureThenComplete() {
// given a failed external task with incident
runtimeService.startProcessInstanceByKey("twoExternalTaskProcess");
List<LockedExternalTask> tasks = externalTaskService.fetchAndLock(5, WORKER_ID).topic(TOPIC_NAME, LOCK_TIME).execute();
LockedExternalTask task = tasks.get(0);
externalTaskService.handleFailure(task.getId(), WORKER_ID, "someError", 0, LOCK_TIME);
// when
externalTaskService.complete(task.getId(), WORKER_ID);
// then the task has been completed nonetheless
Task followingTask = taskService.createTaskQuery().singleResult();
assertNotNull(followingTask);
assertEquals("afterExternalTask", followingTask.getTaskDefinitionKey());
}
use of org.camunda.bpm.engine.task.Task in project camunda-bpm-platform by camunda.
the class ExternalTaskServiceTest method testCancelExternalTaskWithBoundaryEvent.
@Deployment
public void testCancelExternalTaskWithBoundaryEvent() {
// given
runtimeService.startProcessInstanceByKey("boundaryExternalTaskProcess");
assertEquals(1, externalTaskService.createExternalTaskQuery().count());
// when the external task is cancelled by a boundary event
runtimeService.correlateMessage("Message");
// then the external task instance has been removed
assertEquals(0, externalTaskService.createExternalTaskQuery().count());
Task afterBoundaryTask = taskService.createTaskQuery().singleResult();
assertNotNull(afterBoundaryTask);
assertEquals("afterBoundaryTask", afterBoundaryTask.getTaskDefinitionKey());
}
use of org.camunda.bpm.engine.task.Task in project camunda-bpm-platform by camunda.
the class ExternalTaskServiceTest method testExternalTaskExecutionTreeExpansion.
@Deployment
public void testExternalTaskExecutionTreeExpansion() {
// given
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("boundaryExternalTaskProcess");
List<LockedExternalTask> tasks = externalTaskService.fetchAndLock(1, WORKER_ID).topic(TOPIC_NAME, LOCK_TIME).execute();
LockedExternalTask externalTask = tasks.get(0);
// when a non-interrupting boundary event is triggered meanwhile
// such that the execution tree is expanded
runtimeService.correlateMessage("Message");
// then the external task can still be completed
externalTaskService.complete(externalTask.getId(), WORKER_ID);
ActivityInstance activityInstance = runtimeService.getActivityInstance(processInstance.getId());
assertThat(activityInstance).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).activity("afterBoundaryTask").done());
Task afterBoundaryTask = taskService.createTaskQuery().singleResult();
taskService.complete(afterBoundaryTask.getId());
assertProcessEnded(processInstance.getId());
}
use of org.camunda.bpm.engine.task.Task in project camunda-bpm-platform by camunda.
the class FilterTaskQueryTest method testExecuteTaskQuerySingleResult.
public void testExecuteTaskQuerySingleResult() {
TaskQuery query = taskService.createTaskQuery();
query.taskDelegationState(DelegationState.PENDING);
saveQuery(query);
Task task = filterService.singleResult(filter.getId());
assertNotNull(task);
assertEquals("Task 1", task.getName());
}
Aggregations