public void assertCaseEnded(final String caseInstanceId) { CaseInstance caseInstance = processEngine .getCaseService() .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); if (caseInstance!=null) { throw new AssertionFailedError("Expected finished case instance '"+caseInstanceId+"' but it was still in the db"); } }
public void assertCaseEnded(final String caseInstanceId) { CaseInstance caseInstance = processEngine .getCaseService() .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); if (caseInstance!=null) { throw new AssertionFailedError("Expected finished case instance '"+caseInstanceId+"' but it was still in the db"); } }
public void testQueryByInvalidCaseInstanceId() { CaseInstanceQuery query = caseService.createCaseInstanceQuery(); query.caseInstanceId("invalid"); verifyQueryResults(query, 0); try { query.caseInstanceId(null); fail(); } catch (NotValidException e) {} }
public CaseInstanceDto getCaseInstance() { CaseService caseService = engine.getCaseService(); CaseInstance instance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); if (instance == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Case instance with id " + caseInstanceId + " does not exist."); } CaseInstanceDto result = CaseInstanceDto.fromCaseInstance(instance); return result; }
public void testQueryByCaseInstanceId() { CaseInstanceQuery query = caseService.createCaseInstanceQuery(); for (String caseInstanceId : caseInstanceIds) { query.caseInstanceId(caseInstanceId); verifyQueryResults(query, 1); } }
public CaseInstanceDto getCaseInstance() { CaseService caseService = engine.getCaseService(); CaseInstance instance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); if (instance == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Case instance with id " + caseInstanceId + " does not exist."); } CaseInstanceDto result = CaseInstanceDto.fromCaseInstance(instance); return result; }
@Before public void setUpRuntime() { CaseInstance mockCaseInstance = MockProvider.createMockCaseInstance(); caseServiceMock = mock(CaseService.class); when(processEngine.getCaseService()).thenReturn(caseServiceMock); caseInstanceQueryMock = mock(CaseInstanceQuery.class); when(caseServiceMock.createCaseInstanceQuery()).thenReturn(caseInstanceQueryMock); when(caseInstanceQueryMock.caseInstanceId(MockProvider.EXAMPLE_CASE_INSTANCE_ID)).thenReturn(caseInstanceQueryMock); when(caseInstanceQueryMock.singleResult()).thenReturn(mockCaseInstance); when(caseServiceMock.getVariableTyped(anyString(), eq(EXAMPLE_VARIABLE_KEY), anyBoolean())).thenReturn(EXAMPLE_VARIABLE_VALUE); when(caseServiceMock.getVariableTyped(anyString(), eq(EXAMPLE_BYTES_VARIABLE_KEY), eq(false))).thenReturn(EXAMPLE_VARIABLE_VALUE_BYTES); when(caseServiceMock.getVariablesTyped(anyString(), eq(true))).thenReturn(EXAMPLE_VARIABLES); when(caseServiceMock.getVariablesTyped(anyString(), Matchers.<Collection<String>>any(), eq(true))).thenReturn(EXAMPLE_VARIABLES); caseExecutionCommandBuilderMock = mock(CaseExecutionCommandBuilder.class); when(caseServiceMock.withCaseExecution(MockProvider.EXAMPLE_CASE_INSTANCE_ID)).thenReturn(caseExecutionCommandBuilderMock); when(caseExecutionCommandBuilderMock.setVariable(anyString(), any())).thenReturn(caseExecutionCommandBuilderMock); when(caseExecutionCommandBuilderMock.setVariables(Matchers.<Map<String, Object>>any())).thenReturn(caseExecutionCommandBuilderMock); when(caseExecutionCommandBuilderMock.removeVariable(anyString())).thenReturn(caseExecutionCommandBuilderMock); when(caseExecutionCommandBuilderMock.removeVariables(Matchers.<Collection<String>>any())).thenReturn(caseExecutionCommandBuilderMock); }
public void assertCaseEnded(String caseInstanceId) { CaseInstance caseInstance = processEngine .getCaseService() .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertThat("Case instance with id " + caseInstanceId + " is not finished", caseInstance, is(nullValue())); }
@Test public void testCaseInstanceRetrieval() { given() .pathParam("id", MockProvider.EXAMPLE_CASE_INSTANCE_ID) .then() .expect() .statusCode(Status.OK.getStatusCode()) .body("id", equalTo(MockProvider.EXAMPLE_CASE_INSTANCE_ID)) .body("businessKey", equalTo(MockProvider.EXAMPLE_CASE_INSTANCE_BUSINESS_KEY)) .body("caseDefinitionId", equalTo(MockProvider.EXAMPLE_CASE_INSTANCE_CASE_DEFINITION_ID)) .body("tenantId", equalTo(MockProvider.EXAMPLE_TENANT_ID)) .body("active", equalTo(MockProvider.EXAMPLE_CASE_INSTANCE_IS_ACTIVE)) .body("completed", equalTo(MockProvider.EXAMPLE_CASE_INSTANCE_IS_COMPLETED)) .body("terminated", equalTo(MockProvider.EXAMPLE_CASE_INSTANCE_IS_TERMINATED)) .when() .get(SINGLE_CASE_INSTANCE_URL); verify(caseServiceMock).createCaseInstanceQuery(); verify(caseInstanceQueryMock).caseInstanceId(MockProvider.EXAMPLE_CASE_INSTANCE_ID); verify(caseInstanceQueryMock).singleResult(); }
public void assertSuperExecutionOfCaseInstance(String caseInstanceId, String expectedSuperExecutionId) { CaseExecutionEntity calledInstance = (CaseExecutionEntity) processEngine.getCaseService() .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); Assert.assertEquals(expectedSuperExecutionId, calledInstance.getSuperExecutionId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/milestone/MilestoneTest.testWithoutEntryCriterias.cmmn"}) public void testWithoutEntryCriterias() { // given // when String caseInstanceId = caseService .withCaseDefinitionByKey("case") .create() .getId(); // then CaseInstance caseInstance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertTrue(caseInstance.isCompleted()); Object occurVariable = caseService.getVariable(caseInstanceId, "occur"); assertNotNull(occurVariable); assertTrue((Boolean) occurVariable); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/stage/AutoCompleteTest.testRequiredEnabled.cmmn"}) public void testTerminate() { // given // a deployed case definition String caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).getId(); CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery(); CaseInstanceQuery instanceQuery = caseService.createCaseInstanceQuery().caseInstanceId(caseInstanceId); String humanTask2Id = executionQuery .activityId("PI_HumanTask_2") .singleResult() .getId(); manualStart(humanTask2Id); // when terminate(humanTask2Id); // then CaseInstance caseInstance = instanceQuery.singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); }
@Deployment public void testCasePlanModel() { // given // a deployed process // when String caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).getId(); // then CaseInstance caseInstance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); // humanTask1 and humanTask2 are not available CaseExecutionQuery query = caseService.createCaseExecutionQuery(); assertNull(query.activityId("PI_HumanTask_1").singleResult()); assertNull(query.activityId("PI_HumanTask_2").singleResult()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/cmmn/loan-application.cmmn") public void testCreateCaseInstanceByKey() { // given // there exists a deployment containing a case definition with key "loanApplication" CaseDefinition caseDefinition = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey("loanApplication") .singleResult(); assertNotNull(caseDefinition); // when // create a new case instance by key CaseInstance caseInstance = caseService .withCaseDefinitionByKey(caseDefinition.getKey()) .create(); // then // the returned caseInstance is not null assertNotNull(caseInstance); // verify that the case instance is persisted using the API CaseInstance instance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstance.getId()) .singleResult(); assertNotNull(instance); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/cmmn/loan-application.cmmn") public void testCreateCaseInstanceById() { // given // there exists a deployment containing a case definition with key "loanApplication" CaseDefinition caseDefinition = repositoryService .createCaseDefinitionQuery() .caseDefinitionKey("loanApplication") .singleResult(); assertNotNull(caseDefinition); // when // create a new case instance by id CaseInstance caseInstance = caseService .withCaseDefinition(caseDefinition.getId()) .create(); // then // the returned caseInstance is not null assertNotNull(caseInstance); // verify that the case instance is persisted using the API CaseInstance instance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstance.getId()) .singleResult(); assertNotNull(instance); }
@Deployment public void testExitCriteriaAndRequiredEnabled() { // given String caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).getId(); CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery(); String humanTask1Id = executionQuery .activityId("PI_HumanTask_1") .singleResult() .getId(); CaseExecution humanTask2 = executionQuery .activityId("PI_HumanTask_2") .singleResult(); manualStart(humanTask2.getId()); // when complete(humanTask1Id); // then CaseInstance caseInstance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); }
@Deployment public void testNested() { // given // a deployed case definition CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery(); // when String caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).getId(); // then CaseInstance caseInstance = caseService .createCaseInstanceQuery() .caseInstanceId(caseInstanceId) .singleResult(); assertNotNull(caseInstance); assertTrue(caseInstance.isCompleted()); // stage, humanTask1, humanTask2, humanTask3 are not available assertNull(executionQuery.activityId("PI_Stage_1").singleResult()); assertNull(executionQuery.activityId("PI_HumanTask_1").singleResult()); assertNull(executionQuery.activityId("PI_HumanTask_2").singleResult()); assertNull(executionQuery.activityId("PI_HumanTask_3").singleResult()); }
@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()); }
@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()); }