@Test public void testActivtyStatisticsIncidentsAndFailedJobsOption() { given().pathParam("id", "aDefinitionId") .queryParam("incidents", "true").queryParam("failedJobs", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeFailedJobs(); inOrder.verify(activityQueryMock).includeIncidents(); inOrder.verify(activityQueryMock).list(); }
@Override public List<StatisticsResultDto> getActivityStatistics(Boolean includeFailedJobs, Boolean includeIncidents, String includeIncidentsForType) { if (includeIncidents != null && includeIncidentsForType != null) { throw new InvalidRequestException(Status.BAD_REQUEST, "Only one of the query parameter includeIncidents or includeIncidentsForType can be set."); } ManagementService mgmtService = engine.getManagementService(); ActivityStatisticsQuery query = mgmtService.createActivityStatisticsQuery(processDefinitionId); if (includeFailedJobs != null && includeFailedJobs) { query.includeFailedJobs(); } if (includeIncidents != null && includeIncidents) { query.includeIncidents(); } else if (includeIncidentsForType != null) { query.includeIncidentsForType(includeIncidentsForType); } List<ActivityStatistics> queryResults = query.list(); List<StatisticsResultDto> results = new ArrayList<StatisticsResultDto>(); for (ActivityStatistics queryResult : queryResults) { StatisticsResultDto dto = ActivityStatisticsResultDto.fromActivityStatistics(queryResult); results.add(dto); } return results; }
@Test @Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/StatisticsTest.testStatisticsQuery.bpmn20.xml") public void testActivityStatisticsQueryCount() { runtimeService.startProcessInstanceByKey("ExampleProcess"); ProcessDefinition definition = repositoryService.createProcessDefinitionQuery() .processDefinitionKey("ExampleProcess").singleResult(); long count = managementService .createActivityStatisticsQuery(definition.getId()) .includeFailedJobs() .includeIncidents() .count(); Assert.assertEquals(1, count); }
public void testQueryIncludingIncidentsAndFailedJobsWithoutAuthorizationOnProcessInstance() { // given String processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ); // when ActivityStatistics statistics = managementService .createActivityStatisticsQuery(processDefinitionId) .includeIncidents() .includeFailedJobs() .singleResult(); // then assertNull(statistics); }
@Test public void testActivtyStatisticsIncidentsForTypeAndFailedJobsOptionByKey() { given().pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .queryParam("incidentsForType", "failedJob").queryParam("failedJobs", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_BY_KEY_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeFailedJobs(); inOrder.verify(activityQueryMock).includeIncidentsForType("failedJob"); inOrder.verify(activityQueryMock).list(); }
@Test public void testActivityStatisticsIncidentsForTypeTypeOptionByKey() { given().pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY).queryParam("incidentsForType", "failedJob") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_BY_KEY_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeIncidentsForType("failedJob"); inOrder.verify(activityQueryMock).list(); }
@Test public void testActivityStatisticsWithIncidents() { given().pathParam("id", "aDefinitionId").queryParam("incidents", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeIncidents(); inOrder.verify(activityQueryMock).list(); }
private void setupActivityStatisticsMock() { List<ActivityStatistics> mocks = MockProvider.createMockActivityStatistics(); activityQueryMock = mock(ActivityStatisticsQuery.class); when(activityQueryMock.list()).thenReturn(mocks); when(processEngine.getManagementService().createActivityStatisticsQuery(any(String.class))).thenReturn(activityQueryMock); }
@Test public void testActivityStatisticsWithFailedJobs() { given().pathParam("id", "aDefinitionId").queryParam("failedJobs", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeFailedJobs(); inOrder.verify(activityQueryMock).list(); }
public void testQueryIncludingFailedJobsWithoutAuthorizationOnProcessInstance() { // given String processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ); // when ActivityStatistics statistics = managementService .createActivityStatisticsQuery(processDefinitionId) .includeFailedJobs() .singleResult(); // then assertNull(statistics); }
public void testQueryIncludingIncidentsWithoutAuthorizationOnProcessInstance() { // given String processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ); // when ActivityStatistics statistics = managementService .createActivityStatisticsQuery(processDefinitionId) .includeIncidents() .singleResult(); // then assertNull(statistics); }
@Test @Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/StatisticsTest.testParallelGatewayStatisticsQuery.bpmn20.xml") public void testActivityStatisticsQueryPagination() { ProcessDefinition definition = repositoryService .createProcessDefinitionQuery() .processDefinitionKey("ParGatewayExampleProcess") .singleResult(); runtimeService.startProcessInstanceById(definition.getId()); List<ActivityStatistics> statistics = managementService .createActivityStatisticsQuery(definition.getId()) .includeFailedJobs() .includeIncidents() .listPage(0, 1); Assert.assertEquals(1, statistics.size()); }
public void testQueryIncludingInstancesWithReadInstancePermissionOnProcessDefinition() { // given String processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ, READ_INSTANCE); // when ActivityStatistics statistics = managementService.createActivityStatisticsQuery(processDefinitionId).singleResult(); // then assertNotNull(statistics); assertEquals("scriptTask", statistics.getId()); assertEquals(3, statistics.getInstances()); assertEquals(0, statistics.getFailedJobs()); assertTrue(statistics.getIncidentStatistics().isEmpty()); }
public void testActivityStatistics() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("SingleTaskProcess"); ActivityStatisticsQuery query = managementService.createActivityStatisticsQuery(processInstance.getProcessDefinitionId()); assertThat(query.count(), is(1L)); }
public void testQueryIncludingIncidentsAndFailedJobsWithReadInstancePermissionOnProcessDefinition() { // given String processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ, READ_INSTANCE); // when ActivityStatistics statistics = managementService .createActivityStatisticsQuery(processDefinitionId) .includeIncidents() .includeFailedJobs() .singleResult(); // then assertNotNull(statistics); assertEquals("scriptTask", statistics.getId()); assertEquals(3, statistics.getInstances()); assertEquals(3, statistics.getFailedJobs()); assertFalse(statistics.getIncidentStatistics().isEmpty()); IncidentStatistics incidentStatistics = statistics.getIncidentStatistics().get(0); assertEquals(3, incidentStatistics.getIncidentCount()); }
@Test public void testActivityStatisticsIncidentsForTypeTypeOption() { given().pathParam("id", "aDefinitionId").queryParam("incidentsForType", "failedJob") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeIncidentsForType("failedJob"); inOrder.verify(activityQueryMock).list(); }
@Test public void testActivityStatisticsWithIncidentsByKey() { given().pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY).queryParam("incidents", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_BY_KEY_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeIncidents(); inOrder.verify(activityQueryMock).list(); }
@Test public void testActivtyStatisticsIncidentsForTypeAndFailedJobsOption() { given().pathParam("id", "aDefinitionId") .queryParam("incidentsForType", "failedJob").queryParam("failedJobs", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeFailedJobs(); inOrder.verify(activityQueryMock).includeIncidentsForType("failedJob"); inOrder.verify(activityQueryMock).list(); }
@Test public void testNullProcessDefinitionParameter() { try { managementService.createActivityStatisticsQuery(null).list(); Assert.fail(); } catch (ProcessEngineException e) { // expected } }
@Test public void testActivityStatisticsWithFailedJobsByKey() { given().pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY).queryParam("failedJobs", "true") .then().expect() .statusCode(Status.OK.getStatusCode()) .when().get(ACTIVITY_STATISTICS_BY_KEY_URL); InOrder inOrder = Mockito.inOrder(activityQueryMock); inOrder.verify(activityQueryMock).includeFailedJobs(); inOrder.verify(activityQueryMock).list(); }