public virtual void testQueryIncludingIncidentsAndFailedJobsWithReadPermissionOnOneProcessInstance() { // 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).includeIncidents().includeFailedJobs().singleResult(); // then assertNotNull(statistics); assertEquals("scriptTask", statistics.Id); assertEquals(1, statistics.Instances); assertEquals(1, statistics.FailedJobs); assertFalse(statistics.IncidentStatistics.Count == 0); IncidentStatistics incidentStatistics = statistics.IncidentStatistics[0]; assertEquals(1, incidentStatistics.IncidentCount); }
public virtual void testQueryByFailedJobsAndIncidentsWithFailedTimerStartEvent() { ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("process").singleResult(); executeAvailableJobs(); IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(definition.Id).includeFailedJobs().includeIncidents().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); IList <IncidentStatistics> incidentStatistics = result.IncidentStatistics; // and there is one incident for the failed timer job assertEquals(1, incidentStatistics.Count); IncidentStatistics incidentStatistic = incidentStatistics[0]; assertEquals(1, incidentStatistic.IncidentCount); assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incidentStatistic.IncidentType); }
public virtual void testActivityStatisticsQueryWithIncidentType() { 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("failedJob").list(); Assert.assertEquals(1, statistics.Count); ActivityStatistics activityResult = statistics[0]; IList <IncidentStatistics> incidentStatistics = activityResult.IncidentStatistics; assertFalse(incidentStatistics.Count == 0); assertEquals(1, incidentStatistics.Count); IncidentStatistics incident = incidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incident.IncidentType); assertEquals(1, incident.IncidentCount); }
public virtual void testQueryByFailedJobsAndIncidentsWithFailedTimerStartEvent() { executeAvailableJobs(); IList <DeploymentStatistics> statistics = managementService.createDeploymentStatisticsQuery().includeFailedJobs().includeIncidents().list(); assertEquals(1, statistics.Count); DeploymentStatistics result = statistics[0]; // there is no running instance assertEquals(0, result.Instances); // but there is one failed timer job assertEquals(1, result.FailedJobs); IList <IncidentStatistics> incidentStatistics = result.IncidentStatistics; // and there is one incident for the failed timer job assertEquals(1, incidentStatistics.Count); IncidentStatistics incidentStatistic = incidentStatistics[0]; assertEquals(1, incidentStatistic.IncidentCount); assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incidentStatistic.IncidentType); }
public virtual void testActivityStatisticsQueryWithIncidentsWithoutFailedJobs() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("callExampleSubProcess"); executeAvailableJobs(); IList <ActivityStatistics> statistics = managementService.createActivityStatisticsQuery(processInstance.ProcessDefinitionId).includeIncidents().includeFailedJobs().list(); Assert.assertEquals(1, statistics.Count); ActivityStatistics activityResult = statistics[0]; Assert.assertEquals("callSubProcess", activityResult.Id); Assert.assertEquals(0, activityResult.FailedJobs); // has no failed jobs IList <IncidentStatistics> incidentStatistics = activityResult.IncidentStatistics; assertFalse(incidentStatistics.Count == 0); assertEquals(1, incidentStatistics.Count); IncidentStatistics incident = incidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incident.IncidentType); assertEquals(1, incident.IncidentCount); //... but has one incident }
public virtual void testDeploymentStatisticsQueryWithTwoIncidentsAndOneFailedJobs() { runtimeService.startProcessInstanceByKey("callExampleSubProcess"); executeAvailableJobs(); IList <DeploymentStatistics> statistics = managementService.createDeploymentStatisticsQuery().includeIncidents().includeFailedJobs().list(); assertFalse(statistics.Count == 0); assertEquals(1, statistics.Count); DeploymentStatistics result = statistics[0]; // has one failed job Assert.assertEquals(1, result.FailedJobs); IList <IncidentStatistics> incidentStatistics = result.IncidentStatistics; assertFalse(incidentStatistics.Count == 0); assertEquals(1, incidentStatistics.Count); IncidentStatistics incident = incidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incident.IncidentType); assertEquals(2, incident.IncidentCount); // ...but two incidents }
public virtual void testDeploymentStatisticsQueryWithIncidentsAndFailedJobs() { IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters["fail"] = true; runtimeService.startProcessInstanceByKey("MIExampleProcess"); runtimeService.startProcessInstanceByKey("ExampleProcess", parameters); executeAvailableJobs(); IList <DeploymentStatistics> statistics = managementService.createDeploymentStatisticsQuery().includeIncidents().includeFailedJobs().list(); assertFalse(statistics.Count == 0); assertEquals(1, statistics.Count); DeploymentStatistics result = statistics[0]; Assert.assertEquals(1, result.FailedJobs); IList <IncidentStatistics> incidentStatistics = result.IncidentStatistics; assertFalse(incidentStatistics.Count == 0); assertEquals(1, incidentStatistics.Count); IncidentStatistics incident = incidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incident.IncidentType); assertEquals(1, incident.IncidentCount); }
public virtual void testProcessDefinitionStatisticsQueryWithIncidents() { runtimeService.startProcessInstanceByKey("ExampleProcess"); IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters["fail"] = true; runtimeService.startProcessInstanceByKey("ExampleProcess", parameters); executeAvailableJobs(); IList <ProcessDefinitionStatistics> statistics = managementService.createProcessDefinitionStatisticsQuery().includeIncidents().list(); Assert.assertEquals(1, statistics.Count); ProcessDefinitionStatistics definitionResult = statistics[0]; Assert.assertEquals(2, definitionResult.Instances); assertFalse(definitionResult.IncidentStatistics.Count == 0); assertEquals(1, definitionResult.IncidentStatistics.Count); IncidentStatistics incidentStatistics = definitionResult.IncidentStatistics[0]; Assert.assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incidentStatistics.IncidentType); Assert.assertEquals(1, incidentStatistics.IncidentCount); }
public virtual void testProcessDefinitionStatisticsQueryWithIncidentsWithoutFailedJobs() { runtimeService.startProcessInstanceByKey("callExampleSubProcess"); executeAvailableJobs(); IList <ProcessDefinitionStatistics> statistics = managementService.createProcessDefinitionStatisticsQuery().includeIncidents().includeFailedJobs().list(); Assert.assertEquals(2, statistics.Count); ProcessDefinitionStatistics callExampleSubProcessStaticstics = null; ProcessDefinitionStatistics exampleSubProcessStaticstics = null; foreach (ProcessDefinitionStatistics current in statistics) { if (current.Key.Equals("callExampleSubProcess")) { callExampleSubProcessStaticstics = current; } else if (current.Key.Equals("ExampleProcess")) { exampleSubProcessStaticstics = current; } else { fail(current.Key + " was not expected."); } } assertNotNull(callExampleSubProcessStaticstics); assertNotNull(exampleSubProcessStaticstics); // "super" process definition assertEquals(1, callExampleSubProcessStaticstics.Instances); assertEquals(0, callExampleSubProcessStaticstics.FailedJobs); assertFalse(callExampleSubProcessStaticstics.IncidentStatistics.Count == 0); assertEquals(1, callExampleSubProcessStaticstics.IncidentStatistics.Count); IncidentStatistics incidentStatistics = callExampleSubProcessStaticstics.IncidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incidentStatistics.IncidentType); assertEquals(1, incidentStatistics.IncidentCount); // "called" process definition assertEquals(1, exampleSubProcessStaticstics.Instances); assertEquals(1, exampleSubProcessStaticstics.FailedJobs); assertFalse(exampleSubProcessStaticstics.IncidentStatistics.Count == 0); assertEquals(1, exampleSubProcessStaticstics.IncidentStatistics.Count); incidentStatistics = exampleSubProcessStaticstics.IncidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incidentStatistics.IncidentType); assertEquals(1, incidentStatistics.IncidentCount); }
public virtual void testProcessDefinitionStatisticsQueryForMultipleVersionsWithFailedJobsAndIncidents() { org.camunda.bpm.engine.repository.Deployment deployment = repositoryService.createDeployment().addClasspathResource("org/camunda/bpm/engine/test/api/mgmt/StatisticsTest.testStatisticsQueryWithFailedJobs.bpmn20.xml").deploy(); IList <ProcessDefinition> definitions = repositoryService.createProcessDefinitionQuery().processDefinitionKey("ExampleProcess").list(); IDictionary <string, object> parameters = new Dictionary <string, object>(); parameters["fail"] = true; foreach (ProcessDefinition definition in definitions) { runtimeService.startProcessInstanceById(definition.Id, parameters); } executeAvailableJobs(); IList <ProcessDefinitionStatistics> statistics = managementService.createProcessDefinitionStatisticsQuery().includeFailedJobs().includeIncidents().list(); Assert.assertEquals(2, statistics.Count); ProcessDefinitionStatistics definitionResult = statistics[0]; Assert.assertEquals(1, definitionResult.Instances); Assert.assertEquals(1, definitionResult.FailedJobs); IList <IncidentStatistics> incidentStatistics = definitionResult.IncidentStatistics; assertFalse(incidentStatistics.Count == 0); assertEquals(1, incidentStatistics.Count); IncidentStatistics incident = incidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incident.IncidentType); assertEquals(1, incident.IncidentCount); definitionResult = statistics[1]; Assert.assertEquals(1, definitionResult.Instances); Assert.assertEquals(1, definitionResult.FailedJobs); incidentStatistics = definitionResult.IncidentStatistics; assertFalse(incidentStatistics.Count == 0); assertEquals(1, incidentStatistics.Count); incident = incidentStatistics[0]; assertEquals(org.camunda.bpm.engine.runtime.Incident_Fields.FAILED_JOB_HANDLER_TYPE, incident.IncidentType); assertEquals(1, incident.IncidentCount); repositoryService.deleteDeployment(deployment.Id, true); }
public virtual void testManyAuthorizationsActivityStatisticsQueryIncludingFailedJobsAndIncidents() { 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).includeFailedJobs().includeIncidents().list(); assertEquals(1, statistics.Count); ActivityStatistics activityResult = statistics[0]; assertEquals(3, activityResult.Instances); assertEquals("scriptTask", activityResult.Id); assertEquals(3, activityResult.FailedJobs); assertFalse(activityResult.IncidentStatistics.Count == 0); IncidentStatistics incidentStatistics = activityResult.IncidentStatistics[0]; assertEquals(3, incidentStatistics.IncidentCount); }