@Before public void setUpRuntimeData() { historyServiceMock = mock(HistoryService.class); // runtime service when(processEngine.getHistoryService()).thenReturn(historyServiceMock); historicInstanceMock = MockProvider.createMockHistoricDecisionInstance(); historicQueryMock = mock(HistoricDecisionInstanceQuery.class); when(historyServiceMock.createHistoricDecisionInstanceQuery()).thenReturn(historicQueryMock); when(historicQueryMock.decisionInstanceId(anyString())).thenReturn(historicQueryMock); when(historicQueryMock.singleResult()).thenReturn(historicInstanceMock); }
protected void verifyStringParameterQueryInvocations() { Map<String, String> stringQueryParameters = getCompleteStringQueryParameters(); StringArrayConverter stringArrayConverter = new StringArrayConverter(); verify(mockedQuery).decisionInstanceId(stringQueryParameters.get("decisionInstanceId")); verify(mockedQuery).decisionInstanceIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters.get("decisionInstanceIdIn"))); verify(mockedQuery).decisionDefinitionId(stringQueryParameters.get("decisionDefinitionId")); verify(mockedQuery).decisionDefinitionIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters.get("decisionDefinitionIdIn"))); verify(mockedQuery).decisionDefinitionKey(stringQueryParameters.get("decisionDefinitionKey")); verify(mockedQuery).decisionDefinitionKeyIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters.get("decisionDefinitionKeyIn"))); verify(mockedQuery).decisionDefinitionName(stringQueryParameters.get("decisionDefinitionName")); verify(mockedQuery).decisionDefinitionNameLike(stringQueryParameters.get("decisionDefinitionNameLike")); verify(mockedQuery).processDefinitionId(stringQueryParameters.get("processDefinitionId")); verify(mockedQuery).processDefinitionKey(stringQueryParameters.get("processDefinitionKey")); verify(mockedQuery).processInstanceId(stringQueryParameters.get("processInstanceId")); verify(mockedQuery).caseDefinitionId(stringQueryParameters.get("caseDefinitionId")); verify(mockedQuery).caseDefinitionKey(stringQueryParameters.get("caseDefinitionKey")); verify(mockedQuery).caseInstanceId(stringQueryParameters.get("caseInstanceId")); verify(mockedQuery).activityIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters.get("activityIdIn"))); verify(mockedQuery).activityInstanceIdIn(stringArrayConverter.convertQueryParameterToType(stringQueryParameters.get("activityInstanceIdIn"))); verify(mockedQuery).evaluatedBefore(DateTimeUtil.parseDate(stringQueryParameters.get("evaluatedBefore"))); verify(mockedQuery).evaluatedAfter(DateTimeUtil.parseDate(stringQueryParameters.get("evaluatedAfter"))); verify(mockedQuery).userId(stringQueryParameters.get("userId")); verify(mockedQuery).rootDecisionInstanceId(stringQueryParameters.get("rootDecisionInstanceId")); verify(mockedQuery).decisionRequirementsDefinitionId(stringQueryParameters.get("decisionRequirementsDefinitionId")); verify(mockedQuery).decisionRequirementsDefinitionKey(stringQueryParameters.get("decisionRequirementsDefinitionKey")); verify(mockedQuery).list(); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryIncludeInputsForNonExistingDecision() { HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().includeInputs(); assertThat(query.singleResult(), is(nullValue())); startProcessInstanceAndEvaluateDecision(); assertThat(query.decisionInstanceId("nonExisting").singleResult(), is(nullValue())); }
@Override protected void applyFilters(HistoricDecisionInstanceQuery query) { if (decisionInstanceId != null) { query.decisionInstanceId(decisionInstanceId);
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryIncludeOutputsForNonExistingDecision() { HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().includeOutputs(); assertThat(query.singleResult(), is(nullValue())); startProcessInstanceAndEvaluateDecision(); assertThat(query.decisionInstanceId("nonExisting").singleResult(), is(nullValue())); }
@Override protected void applyFilters(HistoricDecisionInstanceQuery query) { if (decisionInstanceId != null) { query.decisionInstanceId(decisionInstanceId);
@Test public void testGetSingleHistoricDecisionInstanceWithDisabledCustomObjectDeserialization() { historicInstanceMock = MockProvider.createMockHistoricDecisionInstanceWithInputsAndOutputs(); when(historicQueryMock.singleResult()).thenReturn(historicInstanceMock); given() .pathParam("id", MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID) .queryParam("disableCustomObjectDeserialization", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_SINGLE_DECISION_INSTANCE_URL); InOrder inOrder = inOrder(historicQueryMock); inOrder.verify(historicQueryMock).decisionInstanceId(MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); inOrder.verify(historicQueryMock).disableCustomObjectDeserialization(); inOrder.verify(historicQueryMock).singleResult(); }
@Override protected void applyFilters(HistoricDecisionInstanceQuery query) { if (decisionInstanceId != null) { query.decisionInstanceId(decisionInstanceId);
@Test public void testGetSingleHistoricDecisionInstanceWithDisabledBinaryFetching() { historicInstanceMock = MockProvider.createMockHistoricDecisionInstanceWithInputsAndOutputs(); when(historicQueryMock.singleResult()).thenReturn(historicInstanceMock); given() .pathParam("id", MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID) .queryParam("disableBinaryFetching", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_SINGLE_DECISION_INSTANCE_URL); InOrder inOrder = inOrder(historicQueryMock); inOrder.verify(historicQueryMock).decisionInstanceId(MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); inOrder.verify(historicQueryMock).disableBinaryFetching(); inOrder.verify(historicQueryMock).singleResult(); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryByDecisionInstanceId() { ProcessInstance pi1 = startProcessInstanceAndEvaluateDecision(); ProcessInstance pi2 = startProcessInstanceAndEvaluateDecision(); String decisionInstanceId1 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi1.getId()).singleResult().getId(); String decisionInstanceId2 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi2.getId()).singleResult().getId(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.decisionInstanceId(decisionInstanceId1).count(), is(1L)); assertThat(query.decisionInstanceId(decisionInstanceId2).count(), is(1L)); assertThat(query.decisionInstanceId("unknown").count(), is(0L)); }
public HistoricDecisionInstanceDto getHistoricDecisionInstance(Boolean includeInputs, Boolean includeOutputs, Boolean disableBinaryFetching, Boolean disableCustomObjectDeserialization) { HistoryService historyService = engine.getHistoryService(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().decisionInstanceId(decisionInstanceId); if (includeInputs != null && includeInputs) { query.includeInputs(); } if (includeOutputs != null && includeOutputs) { query.includeOutputs(); } if (disableBinaryFetching != null && disableBinaryFetching) { query.disableBinaryFetching(); } if (disableCustomObjectDeserialization != null && disableCustomObjectDeserialization) { query.disableCustomObjectDeserialization(); } HistoricDecisionInstance instance = query.singleResult(); if (instance == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Historic decision instance with id '" + decisionInstanceId + "' does not exist"); } return HistoricDecisionInstanceDto.fromHistoricDecisionInstance(instance); } }
@Test public void testGetSingleHistoricDecisionInstanceWithInputsAndOutputs() { historicInstanceMock = MockProvider.createMockHistoricDecisionInstanceWithInputsAndOutputs(); when(historicQueryMock.singleResult()).thenReturn(historicInstanceMock); Response response = given() .pathParam("id", MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID) .queryParam("includeInputs", true) .queryParam("includeOutputs", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_SINGLE_DECISION_INSTANCE_URL); InOrder inOrder = inOrder(historicQueryMock); inOrder.verify(historicQueryMock).decisionInstanceId(MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); inOrder.verify(historicQueryMock).includeInputs(); inOrder.verify(historicQueryMock).includeOutputs(); inOrder.verify(historicQueryMock).singleResult(); String content = response.asString(); List<Map<String, Object>> returnedInputs = from(content).getList("inputs"); List<Map<String, Object>> returnedOutputs = from(content).getList("outputs"); assertThat(returnedInputs, is(notNullValue())); assertThat(returnedInputs, hasSize(3)); assertThat(returnedOutputs, is(notNullValue())); assertThat(returnedOutputs, hasSize(3)); }
@Test public void testGetSingleHistoricDecisionInstanceWithInputs() { historicInstanceMock = MockProvider.createMockHistoricDecisionInstanceWithInputs(); when(historicQueryMock.singleResult()).thenReturn(historicInstanceMock); Response response = given() .pathParam("id", MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID) .queryParam("includeInputs", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_SINGLE_DECISION_INSTANCE_URL); InOrder inOrder = inOrder(historicQueryMock); inOrder.verify(historicQueryMock).decisionInstanceId(MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); inOrder.verify(historicQueryMock).includeInputs(); inOrder.verify(historicQueryMock, never()).includeOutputs(); inOrder.verify(historicQueryMock).singleResult(); String content = response.asString(); List<Map<String, Object>> returnedInputs = from(content).getList("inputs"); List<Map<String, Object>> returnedOutputs = from(content).getList("outputs"); assertThat(returnedInputs, is(notNullValue())); assertThat(returnedInputs, hasSize(3)); assertThat(returnedOutputs, is(nullValue())); }
@Test public void testGetSingleHistoricDecisionInstanceWithOutputs() { historicInstanceMock = MockProvider.createMockHistoricDecisionInstanceWithOutputs(); when(historicQueryMock.singleResult()).thenReturn(historicInstanceMock); Response response = given() .pathParam("id", MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID) .queryParam("includeOutputs", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_SINGLE_DECISION_INSTANCE_URL); InOrder inOrder = inOrder(historicQueryMock); inOrder.verify(historicQueryMock).decisionInstanceId(MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); inOrder.verify(historicQueryMock, never()).includeInputs(); inOrder.verify(historicQueryMock).includeOutputs(); inOrder.verify(historicQueryMock).singleResult(); String content = response.asString(); List<Map<String, Object>> returnedInputs = from(content).getList("inputs"); List<Map<String, Object>> returnedOutputs = from(content).getList("outputs"); assertThat(returnedInputs, is(nullValue())); assertThat(returnedOutputs, is(notNullValue())); assertThat(returnedOutputs, hasSize(3)); }
public HistoricDecisionInstanceDto getHistoricDecisionInstance(Boolean includeInputs, Boolean includeOutputs, Boolean disableBinaryFetching, Boolean disableCustomObjectDeserialization) { HistoryService historyService = engine.getHistoryService(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().decisionInstanceId(decisionInstanceId); if (includeInputs != null && includeInputs) { query.includeInputs(); } if (includeOutputs != null && includeOutputs) { query.includeOutputs(); } if (disableBinaryFetching != null && disableBinaryFetching) { query.disableBinaryFetching(); } if (disableCustomObjectDeserialization != null && disableCustomObjectDeserialization) { query.disableCustomObjectDeserialization(); } HistoricDecisionInstance instance = query.singleResult(); if (instance == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Historic decision instance with id '" + decisionInstanceId + "' does not exist"); } return HistoricDecisionInstanceDto.fromHistoricDecisionInstance(instance); } }
inOrder.verify(historicQueryMock).decisionInstanceId(MockProvider.EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); inOrder.verify(historicQueryMock).singleResult();
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryIncludeOutputsForNonExistingDecision() { HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().includeOutputs(); assertThat(query.singleResult(), is(nullValue())); startProcessInstanceAndEvaluateDecision(); assertThat(query.decisionInstanceId("nonExisting").singleResult(), is(nullValue())); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryIncludeInputsForNonExistingDecision() { HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().includeInputs(); assertThat(query.singleResult(), is(nullValue())); startProcessInstanceAndEvaluateDecision(); assertThat(query.decisionInstanceId("nonExisting").singleResult(), is(nullValue())); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryByDecisionInstanceId() { ProcessInstance pi1 = startProcessInstanceAndEvaluateDecision(); ProcessInstance pi2 = startProcessInstanceAndEvaluateDecision(); String decisionInstanceId1 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi1.getId()).singleResult().getId(); String decisionInstanceId2 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi2.getId()).singleResult().getId(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.decisionInstanceId(decisionInstanceId1).count(), is(1L)); assertThat(query.decisionInstanceId(decisionInstanceId2).count(), is(1L)); assertThat(query.decisionInstanceId("unknown").count(), is(0L)); }
public HistoricDecisionInstanceDto getHistoricDecisionInstance(Boolean includeInputs, Boolean includeOutputs, Boolean disableBinaryFetching, Boolean disableCustomObjectDeserialization) { HistoryService historyService = engine.getHistoryService(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().decisionInstanceId(decisionInstanceId); if (includeInputs != null && includeInputs) { query.includeInputs(); } if (includeOutputs != null && includeOutputs) { query.includeOutputs(); } if (disableBinaryFetching != null && disableBinaryFetching) { query.disableBinaryFetching(); } if (disableCustomObjectDeserialization != null && disableCustomObjectDeserialization) { query.disableCustomObjectDeserialization(); } HistoricDecisionInstance instance = query.singleResult(); if (instance == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Historic decision instance with id '" + decisionInstanceId + "' does not exist"); } return HistoricDecisionInstanceDto.fromHistoricDecisionInstance(instance); } }