public List<HistoricCaseActivityInstanceDto> queryHistoricCaseActivityInstances(HistoricCaseActivityInstanceQueryDto queryDto, Integer firstResult, Integer maxResults) { HistoricCaseActivityInstanceQuery query = queryDto.toQuery(processEngine); List<HistoricCaseActivityInstance> matchingHistoricCaseActivityInstances; if (firstResult != null || maxResults != null) { matchingHistoricCaseActivityInstances = executePaginatedQuery(query, firstResult, maxResults); } else { matchingHistoricCaseActivityInstances = query.list(); } List<HistoricCaseActivityInstanceDto> historicCaseActivityInstanceResults = new ArrayList<HistoricCaseActivityInstanceDto>(); for (HistoricCaseActivityInstance historicCaseActivityInstance : matchingHistoricCaseActivityInstances) { HistoricCaseActivityInstanceDto resultHistoricCaseActivityInstance = HistoricCaseActivityInstanceDto.fromHistoricCaseActivityInstance(historicCaseActivityInstance); historicCaseActivityInstanceResults.add(resultHistoricCaseActivityInstance); } return historicCaseActivityInstanceResults; }
public List<HistoricCaseActivityInstanceDto> queryHistoricCaseActivityInstances(HistoricCaseActivityInstanceQueryDto queryDto, Integer firstResult, Integer maxResults) { HistoricCaseActivityInstanceQuery query = queryDto.toQuery(processEngine); List<HistoricCaseActivityInstance> matchingHistoricCaseActivityInstances; if (firstResult != null || maxResults != null) { matchingHistoricCaseActivityInstances = executePaginatedQuery(query, firstResult, maxResults); } else { matchingHistoricCaseActivityInstances = query.list(); } List<HistoricCaseActivityInstanceDto> historicCaseActivityInstanceResults = new ArrayList<HistoricCaseActivityInstanceDto>(); for (HistoricCaseActivityInstance historicCaseActivityInstance : matchingHistoricCaseActivityInstances) { HistoricCaseActivityInstanceDto resultHistoricCaseActivityInstance = HistoricCaseActivityInstanceDto.fromHistoricCaseActivityInstance(historicCaseActivityInstance); historicCaseActivityInstanceResults.add(resultHistoricCaseActivityInstance); } return historicCaseActivityInstanceResults; }
protected HistoricCaseActivityInstanceQuery setUpMockHistoricCaseActivityInstanceQuery(List<HistoricCaseActivityInstance> mockedHistoricCaseActivityInstances) { HistoricCaseActivityInstanceQuery mockedHistoricCaseActivityInstanceQuery = mock(HistoricCaseActivityInstanceQuery.class); when(mockedHistoricCaseActivityInstanceQuery.list()).thenReturn(mockedHistoricCaseActivityInstances); when(mockedHistoricCaseActivityInstanceQuery.count()).thenReturn((long) mockedHistoricCaseActivityInstances.size()); when(processEngine.getHistoryService().createHistoricCaseActivityInstanceQuery()).thenReturn(mockedHistoricCaseActivityInstanceQuery); return mockedHistoricCaseActivityInstanceQuery; }
protected void verifyEndedParameterQueryInvocations() { Map<String, Date> finishedDateParameters = getCompleteEndedDateQueryParameters(); verify(mockedQuery).endedAfter(finishedDateParameters.get("endedAfter")); verify(mockedQuery).endedBefore(finishedDateParameters.get("endedBefore")); verify(mockedQuery).list(); }
protected void verifyCreateParameterQueryInvocations() { Map<String, Date> startDateParameters = getCompleteCreateDateQueryParameters(); verify(mockedQuery).createdAfter(startDateParameters.get("createdAfter")); verify(mockedQuery).createdBefore(startDateParameters.get("createdBefore")); verify(mockedQuery).list(); }
protected void verifyStringParameterQueryInvocations() { Map<String, String> stringQueryParameters = getCompleteStringQueryParameters(); verify(mockedQuery).caseActivityInstanceId(stringQueryParameters.get("caseActivityInstanceId")); verify(mockedQuery).caseInstanceId(stringQueryParameters.get("caseInstanceId")); verify(mockedQuery).caseDefinitionId(stringQueryParameters.get("caseDefinitionId")); verify(mockedQuery).caseExecutionId(stringQueryParameters.get("caseExecutionId")); verify(mockedQuery).caseActivityId(stringQueryParameters.get("caseActivityId")); verify(mockedQuery).caseActivityName(stringQueryParameters.get("caseActivityName")); verify(mockedQuery).caseActivityType(stringQueryParameters.get("caseActivityType")); verify(mockedQuery).list(); }
@Test public void testNoParametersQuery() { expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_CASE_ACTIVITY_INSTANCE_RESOURCE_URL); verify(mockedQuery).list(); verifyNoMoreInteractions(mockedQuery); }
public void testQuerySortingAsc() { List<HistoricCaseActivityInstance> historicCaseActivityInstances = historyService.createHistoricCaseActivityInstanceQuery() .orderByTenantId() .asc() .list(); assertThat(historicCaseActivityInstances.size(), is(2)); assertThat(historicCaseActivityInstances.get(0).getTenantId(), is(TENANT_ONE)); assertThat(historicCaseActivityInstances.get(1).getTenantId(), is(TENANT_TWO)); }
public void testQuerySortingDesc() { List<HistoricCaseActivityInstance> historicCaseActivityInstances = historyService.createHistoricCaseActivityInstanceQuery() .orderByTenantId() .desc() .list(); assertThat(historicCaseActivityInstances.size(), is(2)); assertThat(historicCaseActivityInstances.get(0).getTenantId(), is(TENANT_TWO)); assertThat(historicCaseActivityInstances.get(1).getTenantId(), is(TENANT_ONE)); }
verify(mockedQuery).list();
@Test public void testCaseActivityIdListParameter() { given() .queryParam("caseActivityIdIn", MockProvider.EXAMPLE_HISTORIC_CASE_ACTIVITY_ID + "," + MockProvider.EXAMPLE_HISTORIC_ANOTHER_CASE_ACTIVITY_ID) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_CASE_ACTIVITY_INSTANCE_RESOURCE_URL); verify(mockedQuery).caseActivityIdIn(MockProvider.EXAMPLE_HISTORIC_CASE_ACTIVITY_ID, MockProvider.EXAMPLE_HISTORIC_ANOTHER_CASE_ACTIVITY_ID); verify(mockedQuery).list(); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn" }) public void testCleanupHistoryCaseActivityInstance() { // given // create case instance String caseInstanceId = caseService.createCaseInstanceByKey("oneTaskCase").getId(); terminateAndCloseCaseInstance(caseInstanceId, null); // assume List<HistoricCaseActivityInstance> activityInstances = historyService.createHistoricCaseActivityInstanceQuery().list(); assertEquals(1, activityInstances.size()); // when historyService.deleteHistoricCaseInstancesBulk(Arrays.asList(caseInstanceId)); // then activityInstances = historyService.createHistoricCaseActivityInstanceQuery().list(); assertEquals(0, activityInstances.size()); }
@Deployment(resources = { "org/camunda/bpm/engine/test/cmmn/stage/AutoCompleteTest.testProcessTasksOnStage.cmmn", "org/camunda/bpm/engine/test/cmmn/stage/AutoCompleteTest.testProcessTasksOnStage.bpmn" }) @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_FULL) public void testProcessTasksOnStage() { // given // when createCaseInstanceByKey(CASE_DEFINITION_KEY); List<HistoricCaseActivityInstance> historicCaseActivityInstances = historyService.createHistoricCaseActivityInstanceQuery() .caseActivityType("processTask") .list(); // then assertThat(historicCaseActivityInstances.size(), is(2)); }
@Test public void testCaseActivityInstanceIdListParameter() { given() .queryParam("caseActivityInstanceIdIn", MockProvider.EXAMPLE_HISTORIC_CASE_ACTIVITY_INSTANCE_ID + "," + MockProvider.EXAMPLE_HISTORIC_ANOTHER_CASE_ACTIVITY_INSTANCE_ID) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_CASE_ACTIVITY_INSTANCE_RESOURCE_URL); verify(mockedQuery).caseActivityInstanceIdIn(MockProvider.EXAMPLE_HISTORIC_CASE_ACTIVITY_INSTANCE_ID, MockProvider.EXAMPLE_HISTORIC_ANOTHER_CASE_ACTIVITY_INSTANCE_ID); verify(mockedQuery).list(); }
@Test public void testUnfinishedHistoricCaseActivityQuery() { List<HistoricCaseActivityInstance> mockedHistoricCaseActivityInstances = MockProvider.createMockRunningHistoricCaseActivityInstances(); HistoricCaseActivityInstanceQuery mockedHistoricCaseActivityInstanceQuery = mock(HistoricCaseActivityInstanceQuery.class); when(mockedHistoricCaseActivityInstanceQuery.list()).thenReturn(mockedHistoricCaseActivityInstances); when(processEngine.getHistoryService().createHistoricCaseActivityInstanceQuery()).thenReturn(mockedHistoricCaseActivityInstanceQuery); Response response = given() .queryParam("unfinished", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_CASE_ACTIVITY_INSTANCE_RESOURCE_URL); InOrder inOrder = inOrder(mockedHistoricCaseActivityInstanceQuery); inOrder.verify(mockedHistoricCaseActivityInstanceQuery).notEnded(); inOrder.verify(mockedHistoricCaseActivityInstanceQuery).list(); String content = response.asString(); List<String> instances = from(content).getList(""); Assert.assertEquals(1, instances.size()); Assert.assertNotNull(instances.get(0)); String returnedCaseDefinitionId = from(content).getString("[0].caseDefinitionId"); String returnedActivityEndTime = from(content).getString("[0].endTime"); Assert.assertEquals(MockProvider.EXAMPLE_CASE_DEFINITION_ID, returnedCaseDefinitionId); Assert.assertNull(returnedActivityEndTime); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/required/RequiredRuleTest.testVariableBasedRule.cmmn") public void testQueryByRequired() { caseService.createCaseInstanceByKey("case", Collections.<String, Object>singletonMap("required", true)); HistoricCaseActivityInstanceQuery query = historyService .createHistoricCaseActivityInstanceQuery() .required(); assertEquals(1, query.count()); assertEquals(1, query.list().size()); HistoricCaseActivityInstance activityInstance = query.singleResult(); assertNotNull(activityInstance); assertTrue(activityInstance.isRequired()); }
@Test public void testFinishedHistoricCaseActivityQuery() { Response response = given() .queryParam("finished", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_CASE_ACTIVITY_INSTANCE_RESOURCE_URL); InOrder inOrder = inOrder(mockedQuery); inOrder.verify(mockedQuery).ended(); inOrder.verify(mockedQuery).list(); String content = response.asString(); List<String> instances = from(content).getList(""); Assert.assertEquals(1, instances.size()); Assert.assertNotNull(instances.get(0)); String returnedCaseDefinitionId = from(content).getString("[0].caseDefinitionId"); String returnedActivityEndTime = from(content).getString("[0].endTime"); Assert.assertEquals(MockProvider.EXAMPLE_CASE_DEFINITION_ID, returnedCaseDefinitionId); Assert.assertEquals(MockProvider.EXAMPLE_HISTORIC_CASE_ACTIVITY_INSTANCE_END_TIME, returnedActivityEndTime); }
@Test public void testTenantIdListParameter() { mockedQuery = setUpMockHistoricCaseActivityInstanceQuery(createMockHistoricCaseActivityInstancesTwoTenants()); Response response = given() .queryParam("tenantIdIn", MockProvider.EXAMPLE_TENANT_ID_LIST) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_CASE_ACTIVITY_INSTANCE_RESOURCE_URL); verify(mockedQuery).tenantIdIn(MockProvider.EXAMPLE_TENANT_ID, MockProvider.ANOTHER_EXAMPLE_TENANT_ID); verify(mockedQuery).list(); String content = response.asString(); List<String> historicCaseActivityInstances = from(content).getList(""); assertThat(historicCaseActivityInstances).hasSize(2); String returnedTenantId1 = from(content).getString("[0].tenantId"); String returnedTenantId2 = from(content).getString("[1].tenantId"); assertThat(returnedTenantId1).isEqualTo(MockProvider.EXAMPLE_TENANT_ID); assertThat(returnedTenantId2).isEqualTo(MockProvider.ANOTHER_EXAMPLE_TENANT_ID); }
inOrder.verify(mockedQuery).list();
public void testQuerySortingDesc() { List<HistoricCaseActivityInstance> historicCaseActivityInstances = historyService.createHistoricCaseActivityInstanceQuery() .orderByTenantId() .desc() .list(); assertThat(historicCaseActivityInstances.size(), is(2)); assertThat(historicCaseActivityInstances.get(0).getTenantId(), is(TENANT_TWO)); assertThat(historicCaseActivityInstances.get(1).getTenantId(), is(TENANT_ONE)); }