public virtual void testActivityStatisticsQuery() { runtimeService.startProcessInstanceByKey("ExampleProcess"); ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("ExampleProcess").singleResult(); IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(definition.Id).includeFailedJobs().includeIncidents().list(); Assert.assertEquals(1, statistics.Count); ActivityStatistics activityResult = statistics[0]; Assert.assertEquals(1, activityResult.Instances); Assert.assertEquals("theTask", activityResult.Id); Assert.assertEquals(0, activityResult.FailedJobs); assertTrue(activityResult.IncidentStatistics.Count == 0); }
public virtual void testQueryIncludingFailedJobsWithReadInstancePermissionOnProcessDefinition() { // given string processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).Id; createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ, READ_INSTANCE); // when ActivityStatistics statistics = managementService.createActivityStatisticsQuery(processDefinitionId).includeFailedJobs().singleResult(); // then assertNotNull(statistics); assertEquals("scriptTask", statistics.Id); assertEquals(3, statistics.Instances); assertEquals(3, statistics.FailedJobs); assertTrue(statistics.IncidentStatistics.Count == 0); }
public virtual void testQueryByFailedJobsWithFailedTimerStartEvent() { ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("process").singleResult(); executeAvailableJobs(); IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(definition.Id).includeFailedJobs().list(); assertEquals(1, statistics.Count); ActivityStatistics result = statistics[0]; // there is no running instance assertEquals(0, result.Instances); // but there is one failed timer job assertEquals(1, result.FailedJobs); }
public static ActivityStatisticsResultDto fromActivityStatistics(ActivityStatistics statistics) { ActivityStatisticsResultDto dto = new ActivityStatisticsResultDto(); dto.id = statistics.Id; dto.instances = statistics.Instances; dto.failedJobs = statistics.FailedJobs; dto.incidents = new List <IncidentStatisticsResultDto>(); foreach (IncidentStatistics incident in statistics.IncidentStatistics) { IncidentStatisticsResultDto incidentDto = IncidentStatisticsResultDto.fromIncidentStatistics(incident); dto.incidents.Add(incidentDto); } return(dto); }
public virtual void testManyAuthorizationsActivityStatisticsQuery() { string processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).Id; createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ, READ_INSTANCE); createGrantAuthorizationGroup(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, groupId, READ, READ_INSTANCE); IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(processDefinitionId).list(); assertEquals(1, statistics.Count); ActivityStatistics activityResult = statistics[0]; assertEquals(3, activityResult.Instances); assertEquals("scriptTask", activityResult.Id); assertEquals(0, activityResult.FailedJobs); assertTrue(activityResult.IncidentStatistics.Count == 0); }
public virtual void testActivityStatisticsQueryWithInvalidIncidentType() { IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters["fail"] = true; ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("ExampleProcess", parameters); executeAvailableJobs(); IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(processInstance.ProcessDefinitionId).includeIncidentsForType("invalid").list(); Assert.assertEquals(1, statistics.Count); ActivityStatistics activityResult = statistics[0]; IList <IncidentStatistics> incidentStatistics = activityResult.IncidentStatistics; assertTrue(incidentStatistics.Count == 0); }
public virtual void testActivityStatisticsIgnoreRead() { // given IList <string> permissions = new List <string>(); permissions.Add(READ.name()); permissions.Add(READ_INSTANCE.name()); processEngineConfiguration.DisabledPermissions = permissions; string processDefinitionId = runtimeService.startProcessInstanceByKey("timerBoundaryProcess").ProcessDefinitionId; authRule.enableAuthorization(USER_ID); // when ActivityStatistics statistics = managementService.createActivityStatisticsQuery(processDefinitionId).singleResult(); // then assertNotNull(statistics); assertEquals("task", statistics.Id); assertEquals(1, statistics.Instances); assertEquals(0, statistics.FailedJobs); assertTrue(statistics.IncidentStatistics.Count == 0); }
public virtual void testActivityStatisticsQueryWithoutFailedJobs() { IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters["fail"] = true; runtimeService.startProcessInstanceByKey("ExampleProcess", parameters); executeAvailableJobs(); ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("ExampleProcess").singleResult(); IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(definition.Id).list(); Assert.assertEquals(1, statistics.Count); ActivityStatistics activityResult = statistics[0]; Assert.assertEquals(1, activityResult.Instances); Assert.assertEquals("theServiceTask", activityResult.Id); Assert.assertEquals(0, activityResult.FailedJobs); }
public virtual void testInitActivityInstanceStatistics() { // given ProcessInstance processInstance = rule.processInstance(); // when IList <ActivityStatistics> activityStatistics = rule.ManagementService.createActivityStatisticsQuery(processInstance.ProcessDefinitionId).list(); // then Assert.assertEquals(2, activityStatistics.Count); ActivityStatistics outerTaskStatistics = getStatistics(activityStatistics, "outerTask"); Assert.assertNotNull(outerTaskStatistics); Assert.assertEquals("outerTask", outerTaskStatistics.Id); Assert.assertEquals(1, outerTaskStatistics.Instances); ActivityStatistics afterBoundaryStatistics = getStatistics(activityStatistics, "afterBoundaryTask"); Assert.assertNotNull(afterBoundaryStatistics); Assert.assertEquals("afterBoundaryTask", afterBoundaryStatistics.Id); Assert.assertEquals(1, afterBoundaryStatistics.Instances); }
public virtual void testQueryIncludingInstancesWithReadPermissionOnOneProcessInstance() { // given string processDefinitionId = selectProcessDefinitionByKey(ONE_INCIDENT_PROCESS_KEY).Id; disableAuthorization(); string processInstanceId = runtimeService.createProcessInstanceQuery().list().get(0).Id; enableAuthorization(); createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ); createGrantAuthorization(PROCESS_INSTANCE, processInstanceId, userId, READ); // when ActivityStatistics statistics = managementService.createActivityStatisticsQuery(processDefinitionId).singleResult(); // then assertNotNull(statistics); assertEquals("scriptTask", statistics.Id); assertEquals(1, statistics.Instances); assertEquals(0, statistics.FailedJobs); assertTrue(statistics.IncidentStatistics.Count == 0); }
public virtual void testStartBeforeInnerActivityWithMiBodySequentialSubprocessActivityStatistics() { // given the mi body is not yet instantiated ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("miSequentialSubprocess"); // when runtimeService.createProcessInstanceModification(processInstance.Id).startBeforeActivity("subProcessTask").execute(); // then the activity instance statistics are correct IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(processInstance.ProcessDefinitionId).list(); assertEquals(2, statistics.Count); ActivityStatistics miTasksStatistics = getStatisticsForActivity(statistics, "subProcessTask"); assertNotNull(miTasksStatistics); assertEquals(1, miTasksStatistics.Instances); ActivityStatistics beforeTaskStatistics = getStatisticsForActivity(statistics, "beforeTask"); assertNotNull(beforeTaskStatistics); assertEquals(1, beforeTaskStatistics.Instances); }