public static CaseInstance createMockCaseInstance(String tenantId) { CaseInstance mock = mock(CaseInstance.class); when(mock.getId()).thenReturn(EXAMPLE_CASE_INSTANCE_ID); when(mock.getBusinessKey()).thenReturn(EXAMPLE_CASE_INSTANCE_BUSINESS_KEY); when(mock.getCaseDefinitionId()).thenReturn(EXAMPLE_CASE_INSTANCE_CASE_DEFINITION_ID); when(mock.getTenantId()).thenReturn(tenantId); when(mock.isActive()).thenReturn(EXAMPLE_CASE_INSTANCE_IS_ACTIVE); when(mock.isCompleted()).thenReturn(EXAMPLE_CASE_INSTANCE_IS_COMPLETED); when(mock.isTerminated()).thenReturn(EXAMPLE_CASE_INSTANCE_IS_TERMINATED); return mock; }
public static CaseInstanceDto fromCaseInstance(CaseInstance instance) { CaseInstanceDto result = new CaseInstanceDto(); result.id = instance.getId(); result.caseDefinitionId = instance.getCaseDefinitionId(); result.businessKey = instance.getBusinessKey(); result.tenantId = instance.getTenantId(); result.active = instance.isActive(); result.completed = instance.isCompleted(); result.terminated = instance.isTerminated(); return result; }
public static CaseInstanceDto fromCaseInstance(CaseInstance instance) { CaseInstanceDto result = new CaseInstanceDto(); result.id = instance.getId(); result.caseDefinitionId = instance.getCaseDefinitionId(); result.businessKey = instance.getBusinessKey(); result.tenantId = instance.getTenantId(); result.active = instance.isActive(); result.completed = instance.isCompleted(); result.terminated = instance.isTerminated(); return result; }
@Deployment(resources={ "org/camunda/bpm/engine/test/api/cmmn/oneCaseTaskCase.cmmn", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testStartWithVariables() { // given // variables Map<String, Object> variables = new HashMap<String, Object>(); variables.put("aVariableName", "abc"); variables.put("anotherVariableName", 999); String superCaseInstanceId = createCaseInstance(DEFINITION_KEY, variables).getId(); CaseInstance subCaseInstance; // then subCaseInstance = queryCaseInstanceByKey(DEFINITION_KEY_2); assertNotNull(subCaseInstance); assertTrue(subCaseInstance.isActive()); CaseExecution caseTask = queryCaseExecutionByActivityId(CASE_TASK_KEY); assertTrue(caseTask.isActive()); // the case instance has two variables: // - aVariableName // - anotherVariableName List<VariableInstance> result = runtimeService .createVariableInstanceQuery() .list(); assertFalse(result.isEmpty()); assertEquals(2, result.size()); verifyVariables(superCaseInstanceId, result); }
/** * assert on default behaviour - remove manual activation */ @Deployment(resources = { "org/camunda/bpm/engine/test/api/cmmn/oneCaseTaskCase.cmmn", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testTerminateCaseTask() { // given String superCaseInstanceId = createCaseInstanceByKey(ONE_CASE_TASK_CASE).getId(); String caseTaskId = queryCaseExecutionByActivityId(CASE_TASK).getId(); CaseInstance subCaseInstance = queryOneTaskCaseInstance(); assertTrue(subCaseInstance.isActive()); // when terminate(caseTaskId); subCaseInstance = queryOneTaskCaseInstance(); assertTrue(subCaseInstance.isActive()); // complete //////////////////////////////////////////////////////// String subCaseInstanceId = queryOneTaskCaseInstance().getId(); terminate(subCaseInstanceId); close(subCaseInstanceId); assertCaseEnded(subCaseInstanceId); close(superCaseInstanceId); assertCaseEnded(superCaseInstanceId); }
@Deployment(resources={ "org/camunda/bpm/engine/test/api/cmmn/oneCaseTaskCase.cmmn", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testStart() { // given createCaseInstance(DEFINITION_KEY).getId(); queryCaseExecutionByActivityId(CASE_TASK_KEY).getId(); CaseInstance subCaseInstance; // then subCaseInstance = queryCaseInstanceByKey(DEFINITION_KEY_2); assertNotNull(subCaseInstance); assertTrue(subCaseInstance.isActive()); CaseExecution caseTask = queryCaseExecutionByActivityId(CASE_TASK_KEY); assertTrue(caseTask.isActive()); }
/** * assertion on completion - remove manual start */ @Deployment(resources = { "org/camunda/bpm/engine/test/api/cmmn/oneCaseTaskCase.cmmn", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testSuspendCaseTask() { // given String superCaseInstanceId = createCaseInstanceByKey(ONE_CASE_TASK_CASE).getId(); String caseTaskId = queryCaseExecutionByActivityId(CASE_TASK).getId(); CaseInstance subCaseInstance = queryOneTaskCaseInstance(); assertTrue(subCaseInstance.isActive()); // when suspend(caseTaskId); subCaseInstance = queryOneTaskCaseInstance(); assertTrue(subCaseInstance.isActive()); // complete //////////////////////////////////////////////////////// String subCaseInstanceId = queryOneTaskCaseInstance().getId(); terminate(subCaseInstanceId); close(subCaseInstanceId); assertCaseEnded(subCaseInstanceId); terminate(superCaseInstanceId); close(superCaseInstanceId); assertCaseEnded(superCaseInstanceId); }
@Deployment(resources={ "org/camunda/bpm/engine/test/api/cmmn/oneCaseTaskCase.cmmn", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testStartWithVariable() { // given String superCaseInstanceId = createCaseInstance(DEFINITION_KEY, Variables.createVariables() .putValue("aVariableName", "abc") .putValue("anotherVariableName", 999)).getId(); CaseInstance subCaseInstance; // then subCaseInstance = queryCaseInstanceByKey(DEFINITION_KEY_2); assertNotNull(subCaseInstance); assertTrue(subCaseInstance.isActive()); CaseExecution caseTask = queryCaseExecutionByActivityId(CASE_TASK_KEY); assertTrue(caseTask.isActive()); // the case instance has two variables: // - aVariableName // - anotherVariableName List<VariableInstance> result = runtimeService .createVariableInstanceQuery() .list(); assertFalse(result.isEmpty()); assertEquals(2, result.size()); verifyVariables(superCaseInstanceId, result); }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/cmmn/oneCaseTaskCase.cmmn", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testResumeCaseTask() { // given String superCaseInstanceId = createCaseInstanceByKey(ONE_CASE_TASK_CASE).getId(); String caseTaskId = queryCaseExecutionByActivityId(CASE_TASK).getId(); suspend(caseTaskId); CaseInstance subCaseInstance = queryOneTaskCaseInstance(); assertTrue(subCaseInstance.isActive()); // when resume(caseTaskId); // then CaseExecution caseTask = queryCaseExecutionByActivityId(CASE_TASK); assertTrue(caseTask.isActive()); subCaseInstance = queryOneTaskCaseInstance(); assertTrue(subCaseInstance.isActive()); // complete //////////////////////////////////////////////////////// String subCaseInstanceId = queryOneTaskCaseInstance().getId(); terminate(subCaseInstanceId); close(subCaseInstanceId); assertCaseEnded(subCaseInstanceId); terminate(caseTaskId); close(superCaseInstanceId); assertCaseEnded(superCaseInstanceId); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testCreateByKeyWithBusinessKeyNonFluent() { // given a deployed case definition String caseDefinitionId = repositoryService .createCaseDefinitionQuery() .singleResult() .getId(); // when CaseInstance caseInstance = caseService.createCaseInstanceByKey("oneTaskCase", "aBusinessKey"); // then assertNotNull(caseInstance); // check properties assertEquals("aBusinessKey", caseInstance.getBusinessKey()); assertEquals(caseDefinitionId, caseInstance.getCaseDefinitionId()); assertEquals(caseInstance.getId(), caseInstance.getCaseInstanceId()); assertTrue(caseInstance.isActive()); assertFalse(caseInstance.isEnabled()); // get persisted case instance CaseInstance instance = caseService .createCaseInstanceQuery() .singleResult(); // should have the same properties assertEquals(caseInstance.getId(), instance.getId()); assertEquals(caseInstance.getBusinessKey(), instance.getBusinessKey()); assertEquals(caseInstance.getCaseDefinitionId(), instance.getCaseDefinitionId()); assertEquals(caseInstance.getCaseInstanceId(), instance.getCaseInstanceId()); assertEquals(caseInstance.isActive(), instance.isActive()); assertEquals(caseInstance.isEnabled(), instance.isEnabled()); }
assertEquals(caseDefinitionId, caseInstance.getCaseDefinitionId()); assertEquals(caseInstance.getId(), caseInstance.getCaseInstanceId()); assertTrue(caseInstance.isActive()); assertFalse(caseInstance.isEnabled()); assertEquals(caseInstance.getCaseDefinitionId(), instance.getCaseDefinitionId()); assertEquals(caseInstance.getCaseInstanceId(), instance.getCaseInstanceId()); assertEquals(caseInstance.isActive(), instance.isActive()); assertEquals(caseInstance.isEnabled(), instance.isEnabled());
@Deployment(resources={ "org/camunda/bpm/engine/test/api/cmmn/oneCaseTaskCaseWithManualActivation.cmmn", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testManualStart() { // given createCaseInstance(DEFINITION_KEY).getId(); String caseTaskId = queryCaseExecutionByActivityId(CASE_TASK_KEY).getId(); CaseInstance subCaseInstance = queryCaseInstanceByKey(DEFINITION_KEY_2); assertNull(subCaseInstance); // when caseService .withCaseExecution(caseTaskId) .manualStart(); // then subCaseInstance = queryCaseInstanceByKey(DEFINITION_KEY_2); assertNotNull(subCaseInstance); assertTrue(subCaseInstance.isActive()); CaseExecution caseTask = queryCaseExecutionByActivityId(CASE_TASK_KEY); assertTrue(caseTask.isActive()); }
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/CaseCallActivityTest.testCallCaseAsConstant.bpmn20.xml", "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testDeleteProcessInstance() { // given String superProcessInstanceId = startProcessInstanceByKey(PROCESS_DEFINITION_KEY).getId(); String subCaseInstanceId = queryOneTaskCaseInstance().getId(); // when runtimeService.deleteProcessInstance(superProcessInstanceId, null); // then assertEquals(0, runtimeService.createProcessInstanceQuery().count()); CaseInstance subCaseInstance = queryOneTaskCaseInstance(); assertNotNull(subCaseInstance); assertTrue(subCaseInstance.isActive()); // complete //////////////////////////////////////////////////////// terminate(subCaseInstanceId); close(subCaseInstanceId); assertCaseEnded(subCaseInstanceId); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testCloseAnActiveCaseInstance() { // given: // a deployed case definition String caseDefinitionId = repositoryService .createCaseDefinitionQuery() .singleResult() .getId(); String caseInstanceId = caseService .withCaseDefinition(caseDefinitionId) .create() .getId(); try { // when caseService .withCaseExecution(caseInstanceId) .close(); fail("It should not be possible to close an active case instance."); } catch (ProcessEngineException e) { } // then CaseInstance caseInstance = caseService .createCaseInstanceQuery() .singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isActive()); }
@Deployment public void testEntryCriteriaAndManualActivationDisabled() { // given String caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).getId(); CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery(); String humanTask1Id = executionQuery .activityId("PI_HumanTask_1") .singleResult() .getId(); // when (1) complete(humanTask1Id); // then (1) CaseInstanceQuery instanceQuery = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId); CaseInstance caseInstance = instanceQuery.singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isActive()); String humanTask2Id = executionQuery .activityId("PI_HumanTask_2") .singleResult() .getId(); // when (2) complete(humanTask2Id); // then (2) caseInstance = instanceQuery.singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); }
public void testCaseInstanceProperties() { String caseDefinitionId = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey(CASE_DEFINITION_KEY_2) .singleResult() .getId(); CaseInstance caseInstance = caseService .createCaseInstanceQuery() .caseDefinitionKey(CASE_DEFINITION_KEY_2) .singleResult(); assertNotNull(caseInstance.getId()); assertEquals(caseInstance.getId(), caseInstance.getCaseInstanceId()); assertEquals("1", caseInstance.getBusinessKey()); assertEquals(caseDefinitionId, caseInstance.getCaseDefinitionId()); assertEquals("CasePlanModel_1", caseInstance.getActivityId()); assertNull(caseInstance.getActivityName()); assertNull(caseInstance.getParentId()); assertTrue(caseInstance.isActive()); assertFalse(caseInstance.isEnabled()); }
@Deployment public void testManualActivationDisabled() { // given // a deployed case definition // when (1) String caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).getId(); // then (1) CaseInstanceQuery instanceQuery = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId); CaseInstance caseInstance = instanceQuery.singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isActive()); CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery(); String humanTask2Id = executionQuery .activityId("PI_HumanTask_2") .singleResult() .getId(); // when (2) caseService.completeCaseExecution(humanTask2Id); // then (2) caseInstance = instanceQuery.singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); // humanTask1 and humanTask2 are not available assertNull(executionQuery.activityId("PI_HumanTask_1").singleResult()); assertNull(executionQuery.activityId("PI_HumanTask_2").singleResult()); }
@Deployment public void testStage() { // given String caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).getId(); CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_Stage_1"); String stageId = query.singleResult().getId(); // when caseService.manuallyStartCaseExecution(stageId); // then // the instance is still active (contains // a further human task) CaseInstance caseInstance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isActive()); // humanTask1 is still available assertNotNull(query.activityId("PI_HumanTask_1").singleResult()); // stage, humanTask2, humanTask3 are not available assertNull(query.activityId("PI_Stage_1").singleResult()); assertNull(query.activityId("PI_HumanTask_2").singleResult()); assertNull(query.activityId("PI_HumanTask_3").singleResult()); }
@Deployment public void testAutoCompleteStageRequiredRepeatableTask() { // given String caseInstanceId = createCaseInstance().getId(); // then (1) CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); String activeTaskId = query.singleResult().getId(); // when (2) complete(activeTaskId); // then (2) query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1"); assertNotNull(stage); assertTrue(stage.isActive()); CaseInstance caseInstance = (CaseInstance) queryCaseExecutionById(caseInstanceId); assertTrue(caseInstance.isActive()); }
@Deployment public void testAutoCompleteStageAutoActivationRepeatableTask() { // given String caseInstanceId = createCaseInstance().getId(); String stageId = queryCaseExecutionByActivityId("PI_Stage_1").getId(); // then (1) CaseExecutionQuery query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); String activeTaskId = query.singleResult().getId(); // when (2) // completing active task complete(activeTaskId); // then (2) query = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1"); assertEquals(1, query.count()); assertEquals(1, query.active().count()); CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1"); assertNotNull(stage); assertTrue(stage.isActive()); CaseInstance caseInstance = (CaseInstance) queryCaseExecutionById(caseInstanceId); assertTrue(caseInstance.isActive()); }