@Override protected void applyFilters(CleanableHistoricDecisionInstanceReport query) { if (decisionDefinitionIdIn != null && decisionDefinitionIdIn.length > 0) { query.decisionDefinitionIdIn(decisionDefinitionIdIn); } if (decisionDefinitionKeyIn != null && decisionDefinitionKeyIn.length > 0) { query.decisionDefinitionKeyIn(decisionDefinitionKeyIn); } if (Boolean.TRUE.equals(withoutTenantId)) { query.withoutTenantId(); } if (tenantIdIn != null && tenantIdIn.length > 0) { query.tenantIdIn(tenantIdIn); } if (Boolean.TRUE.equals(compact)) { query.compact(); } }
@Override protected void applyFilters(CleanableHistoricDecisionInstanceReport query) { if (decisionDefinitionIdIn != null && decisionDefinitionIdIn.length > 0) { query.decisionDefinitionIdIn(decisionDefinitionIdIn); } if (decisionDefinitionKeyIn != null && decisionDefinitionKeyIn.length > 0) { query.decisionDefinitionKeyIn(decisionDefinitionKeyIn); } if (Boolean.TRUE.equals(withoutTenantId)) { query.withoutTenantId(); } if (tenantIdIn != null && tenantIdIn.length > 0) { query.tenantIdIn(tenantIdIn); } if (Boolean.TRUE.equals(compact)) { query.compact(); } }
@Test public void testReportByInvalidDecisionDefinitionId() { CleanableHistoricDecisionInstanceReport report = historyService.createCleanableHistoricDecisionInstanceReport(); try { report.decisionDefinitionIdIn(null); fail("Expected NotValidException"); } catch (NotValidException e) { // expected } try { report.decisionDefinitionIdIn("abc", null, "def"); fail("Expected NotValidException"); } catch (NotValidException e) { // expected } }
protected void verifyQueryParameterInvocations() { verify(historicDecisionInstanceReport).decisionDefinitionIdIn(EXAMPLE_DD_ID, ANOTHER_EXAMPLE_DD_ID); verify(historicDecisionInstanceReport).decisionDefinitionKeyIn(EXAMPLE_DD_KEY, ANOTHER_EXAMPLE_DD_KEY); verify(historicDecisionInstanceReport).tenantIdIn(EXAMPLE_TENANT_ID, ANOTHER_EXAMPLE_TENANT_ID); verify(historicDecisionInstanceReport).withoutTenantId(); verify(historicDecisionInstanceReport).compact(); } }
private void setupHistoryReportMock() { CleanableHistoricDecisionInstanceReport report = mock(CleanableHistoricDecisionInstanceReport.class); when(report.decisionDefinitionIdIn(anyString())).thenReturn(report); when(report.decisionDefinitionKeyIn(anyString())).thenReturn(report); CleanableHistoricDecisionInstanceReportResult reportResult = mock(CleanableHistoricDecisionInstanceReportResult.class); when(reportResult.getDecisionDefinitionId()).thenReturn(EXAMPLE_DD_ID); when(reportResult.getDecisionDefinitionKey()).thenReturn(EXAMPLE_DD_KEY); when(reportResult.getDecisionDefinitionName()).thenReturn(EXAMPLE_DD_NAME); when(reportResult.getDecisionDefinitionVersion()).thenReturn(EXAMPLE_DD_VERSION); when(reportResult.getHistoryTimeToLive()).thenReturn(EXAMPLE_TTL); when(reportResult.getFinishedDecisionInstanceCount()).thenReturn(EXAMPLE_FINISHED_DI_COUNT); when(reportResult.getCleanableDecisionInstanceCount()).thenReturn(EXAMPLE_CLEANABLE_DI_COUNT); when(reportResult.getTenantId()).thenReturn(EXAMPLE_TENANT_ID); CleanableHistoricDecisionInstanceReportResult anotherReportResult = mock(CleanableHistoricDecisionInstanceReportResult.class); when(anotherReportResult.getDecisionDefinitionId()).thenReturn(ANOTHER_EXAMPLE_DD_ID); when(anotherReportResult.getDecisionDefinitionKey()).thenReturn(ANOTHER_EXAMPLE_DD_KEY); when(anotherReportResult.getDecisionDefinitionName()).thenReturn("dpName"); when(anotherReportResult.getDecisionDefinitionVersion()).thenReturn(33); when(anotherReportResult.getHistoryTimeToLive()).thenReturn(5); when(anotherReportResult.getFinishedDecisionInstanceCount()).thenReturn(10l); when(anotherReportResult.getCleanableDecisionInstanceCount()).thenReturn(0l); when(anotherReportResult.getTenantId()).thenReturn(ANOTHER_EXAMPLE_TENANT_ID); List<CleanableHistoricDecisionInstanceReportResult> mocks = new ArrayList<CleanableHistoricDecisionInstanceReportResult>(); mocks.add(reportResult); mocks.add(anotherReportResult); when(report.list()).thenReturn(mocks); when(report.count()).thenReturn((long) mocks.size()); historicDecisionInstanceReport = report; when(processEngine.getHistoryService().createCleanableHistoricDecisionInstanceReport()).thenReturn(historicDecisionInstanceReport); }
@Test public void testQueryByDefinitionId() { given() .queryParam("decisionDefinitionIdIn", EXAMPLE_DD_ID + "," + ANOTHER_EXAMPLE_DD_ID) .then() .expect() .statusCode(Status.OK.getStatusCode()) .contentType(ContentType.JSON) .when() .get(HISTORIC_REPORT_URL); verify(historicDecisionInstanceReport).decisionDefinitionIdIn(EXAMPLE_DD_ID, ANOTHER_EXAMPLE_DD_ID); verify(historicDecisionInstanceReport).list(); verifyNoMoreInteractions(historicDecisionInstanceReport); }
@Test public void testReportComplex() { // given testRule.deploy("org/camunda/bpm/engine/test/repository/two.dmn", "org/camunda/bpm/engine/test/api/dmn/Another_Example.dmn", "org/camunda/bpm/engine/test/api/dmn/Example.dmn"); prepareDecisionInstances(DECISION_DEFINITION_KEY, 0, 5, 10); prepareDecisionInstances(DECISION_DEFINITION_KEY, -6, 5, 10); prepareDecisionInstances(SECOND_DECISION_DEFINITION_KEY, -6, null, 10); prepareDecisionInstances(THIRD_DECISION_DEFINITION_KEY, -6, 5, 10); // when List<CleanableHistoricDecisionInstanceReportResult> reportResults = historyService.createCleanableHistoricDecisionInstanceReport().list(); String secondDecisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(SECOND_DECISION_DEFINITION_KEY).singleResult().getId(); CleanableHistoricDecisionInstanceReportResult secondReportResult = historyService.createCleanableHistoricDecisionInstanceReport().decisionDefinitionIdIn(secondDecisionDefinitionId).singleResult(); CleanableHistoricDecisionInstanceReportResult thirdReportResult = historyService.createCleanableHistoricDecisionInstanceReport().decisionDefinitionKeyIn(THIRD_DECISION_DEFINITION_KEY).singleResult(); // then assertEquals(4, reportResults.size()); for (CleanableHistoricDecisionInstanceReportResult result : reportResults) { if (result.getDecisionDefinitionKey().equals(DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 10, 20); } else if (result.getDecisionDefinitionKey().equals(SECOND_DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 0, 10); } else if (result.getDecisionDefinitionKey().equals(THIRD_DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 10, 10); } else if (result.getDecisionDefinitionKey().equals(FOURTH_DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 0, 0); } } checkResultNumbers(secondReportResult, 0, 10); checkResultNumbers(thirdReportResult, 10, 10); }
@Override protected void applyFilters(CleanableHistoricDecisionInstanceReport query) { if (decisionDefinitionIdIn != null && decisionDefinitionIdIn.length > 0) { query.decisionDefinitionIdIn(decisionDefinitionIdIn); } if (decisionDefinitionKeyIn != null && decisionDefinitionKeyIn.length > 0) { query.decisionDefinitionKeyIn(decisionDefinitionKeyIn); } if (Boolean.TRUE.equals(withoutTenantId)) { query.withoutTenantId(); } if (tenantIdIn != null && tenantIdIn.length > 0) { query.tenantIdIn(tenantIdIn); } if (Boolean.TRUE.equals(compact)) { query.compact(); } }
@Test public void testReportByInvalidDecisionDefinitionId() { CleanableHistoricDecisionInstanceReport report = historyService.createCleanableHistoricDecisionInstanceReport(); try { report.decisionDefinitionIdIn(null); fail("Expected NotValidException"); } catch (NotValidException e) { // expected } try { report.decisionDefinitionIdIn("abc", null, "def"); fail("Expected NotValidException"); } catch (NotValidException e) { // expected } }
@Test public void testReportComplex() { // given testRule.deploy("org/camunda/bpm/engine/test/repository/two.dmn", "org/camunda/bpm/engine/test/api/dmn/Another_Example.dmn", "org/camunda/bpm/engine/test/api/dmn/Example.dmn"); prepareDecisionInstances(DECISION_DEFINITION_KEY, 0, 5, 10); prepareDecisionInstances(DECISION_DEFINITION_KEY, -6, 5, 10); prepareDecisionInstances(SECOND_DECISION_DEFINITION_KEY, -6, null, 10); prepareDecisionInstances(THIRD_DECISION_DEFINITION_KEY, -6, 5, 10); // when List<CleanableHistoricDecisionInstanceReportResult> reportResults = historyService.createCleanableHistoricDecisionInstanceReport().list(); String secondDecisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(SECOND_DECISION_DEFINITION_KEY).singleResult().getId(); CleanableHistoricDecisionInstanceReportResult secondReportResult = historyService.createCleanableHistoricDecisionInstanceReport().decisionDefinitionIdIn(secondDecisionDefinitionId).singleResult(); CleanableHistoricDecisionInstanceReportResult thirdReportResult = historyService.createCleanableHistoricDecisionInstanceReport().decisionDefinitionKeyIn(THIRD_DECISION_DEFINITION_KEY).singleResult(); // then assertEquals(4, reportResults.size()); for (CleanableHistoricDecisionInstanceReportResult result : reportResults) { if (result.getDecisionDefinitionKey().equals(DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 10, 20); } else if (result.getDecisionDefinitionKey().equals(SECOND_DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 0, 10); } else if (result.getDecisionDefinitionKey().equals(THIRD_DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 10, 10); } else if (result.getDecisionDefinitionKey().equals(FOURTH_DECISION_DEFINITION_KEY)) { checkResultNumbers(result, 0, 0); } } checkResultNumbers(secondReportResult, 0, 10); checkResultNumbers(thirdReportResult, 10, 10); }