protected HistoricIncidentEventEntity loadIncidentEvent(Incident incident) { String incidentId = incident.getId(); HistoricIncidentEventEntity cachedEntity = findInCache(HistoricIncidentEventEntity.class, incidentId); if(cachedEntity != null) { return cachedEntity; } else { return newIncidentEventEntity(incident); } }
protected HistoricIncidentEventEntity loadIncidentEvent(Incident incident) { String incidentId = incident.getId(); HistoricIncidentEventEntity cachedEntity = findInCache(HistoricIncidentEventEntity.class, incidentId); if(cachedEntity != null) { return cachedEntity; } else { return newIncidentEventEntity(incident); } }
public static Incident createMockIncident(String tenantId) { Incident incident = mock(Incident.class); when(incident.getId()).thenReturn(EXAMPLE_INCIDENT_ID); when(incident.getIncidentTimestamp()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_INCIDENT_TIMESTAMP)); when(incident.getIncidentType()).thenReturn(EXAMPLE_INCIDENT_TYPE); when(incident.getExecutionId()).thenReturn(EXAMPLE_INCIDENT_EXECUTION_ID); when(incident.getActivityId()).thenReturn(EXAMPLE_INCIDENT_ACTIVITY_ID); when(incident.getProcessInstanceId()).thenReturn(EXAMPLE_INCIDENT_PROC_INST_ID); when(incident.getProcessDefinitionId()).thenReturn(EXAMPLE_INCIDENT_PROC_DEF_ID); when(incident.getCauseIncidentId()).thenReturn(EXAMPLE_INCIDENT_CAUSE_INCIDENT_ID); when(incident.getRootCauseIncidentId()).thenReturn(EXAMPLE_INCIDENT_ROOT_CAUSE_INCIDENT_ID); when(incident.getConfiguration()).thenReturn(EXAMPLE_INCIDENT_CONFIGURATION); when(incident.getIncidentMessage()).thenReturn(EXAMPLE_INCIDENT_MESSAGE); when(incident.getTenantId()).thenReturn(tenantId); when(incident.getJobDefinitionId()).thenReturn(EXAMPLE_JOB_DEFINITION_ID); return incident; }
@Test public void testQueryByIncidentId() { Incident incident= runtimeService.createIncidentQuery().processInstanceId(processInstanceIds.get(0)).singleResult(); assertNotNull(incident); IncidentQuery query = runtimeService.createIncidentQuery().incidentId(incident.getId()); assertEquals(1, query.count()); List<Incident> incidents = query.list(); assertFalse(incidents.isEmpty()); assertEquals(1, incidents.size()); }
public static IncidentDto fromIncident(Incident incident) { IncidentDto dto = new IncidentDto(); dto.id = incident.getId(); dto.processDefinitionId = incident.getProcessDefinitionId(); dto.processInstanceId = incident.getProcessInstanceId(); dto.executionId = incident.getExecutionId(); dto.incidentTimestamp = incident.getIncidentTimestamp(); dto.incidentType = incident.getIncidentType(); dto.activityId = incident.getActivityId(); dto.causeIncidentId = incident.getCauseIncidentId(); dto.rootCauseIncidentId = incident.getRootCauseIncidentId(); dto.configuration = incident.getConfiguration(); dto.incidentMessage = incident.getIncidentMessage(); dto.tenantId = incident.getTenantId(); dto.jobDefinitionId = incident.getJobDefinitionId(); return dto; }
public static IncidentDto fromIncident(Incident incident) { IncidentDto dto = new IncidentDto(); dto.id = incident.getId(); dto.processDefinitionId = incident.getProcessDefinitionId(); dto.processInstanceId = incident.getProcessInstanceId(); dto.executionId = incident.getExecutionId(); dto.incidentTimestamp = incident.getIncidentTimestamp(); dto.incidentType = incident.getIncidentType(); dto.activityId = incident.getActivityId(); dto.causeIncidentId = incident.getCauseIncidentId(); dto.rootCauseIncidentId = incident.getRootCauseIncidentId(); dto.configuration = incident.getConfiguration(); dto.incidentMessage = incident.getIncidentMessage(); dto.tenantId = incident.getTenantId(); dto.jobDefinitionId = incident.getJobDefinitionId(); return dto; }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentId() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<Execution> executionList = runtimeService .createExecutionQuery() .incidentId(incident.getId()).list(); assertEquals(1, executionList.size()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingSubProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentIdSubProcess() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingSubProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<Execution> executionList = runtimeService .createExecutionQuery() .incidentId(incident.getId()).list(); assertEquals(1, executionList.size()); // execution id of subprocess != process instance id assertNotSame(processInstance.getId(), executionList.get(0).getId()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentId() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); testHelper.executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<ProcessInstance> processInstanceList = runtimeService .createProcessInstanceQuery() .incidentId(incident.getId()).list(); assertEquals(1, processInstanceList.size()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingSubProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentIdInSubProcess() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingSubProcess"); testHelper.executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<ProcessInstance> processInstanceList = runtimeService .createProcessInstanceQuery() .incidentId(incident.getId()).list(); assertEquals(1, processInstanceList.size()); assertEquals(processInstance.getId(), processInstanceList.get(0).getId()); }
@Test public void createIncident() { // given testRule.deploy(ProcessModels.TWO_TASKS_PROCESS); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Process"); // when Incident incident = runtimeService.createIncident("foo", processInstance.getId(), "aa", "bar"); // then Incident incident2 = runtimeService.createIncidentQuery().executionId(processInstance.getId()).singleResult(); assertEquals(incident2.getId(), incident.getId()); assertEquals("foo", incident2.getIncidentType()); assertEquals("aa", incident2.getConfiguration()); assertEquals("bar", incident2.getIncidentMessage()); assertEquals(processInstance.getId(), incident2.getExecutionId()); }
@Test public void resolveIncident() { // given testRule.deploy(ProcessModels.TWO_TASKS_PROCESS); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Process"); Incident incident = runtimeService.createIncident("foo", processInstance.getId(), "userTask1", "bar"); // when runtimeService.resolveIncident(incident.getId()); // then Incident incident2 = runtimeService.createIncidentQuery().executionId(processInstance.getId()).singleResult(); assertNull(incident2); }
@Test public void resolveIncidentWithIncidentHandler() { // given testRule.deploy(ProcessModels.TWO_TASKS_PROCESS); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("Process"); runtimeService.createIncident("custom", processInstance.getId(), "configuration"); Incident incident = runtimeService.createIncidentQuery().singleResult(); // when runtimeService.resolveIncident(incident.getId()); // then incident = runtimeService.createIncidentQuery().singleResult(); assertNull(incident); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/runtime/IncidentQueryTest.testQueryByCauseIncidentId.bpmn"}) public void testQueryByCauseIncidentId() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("callFailingProcess"); testHelper.executeAvailableJobs(); ProcessInstance subProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(processInstance.getId()).singleResult(); assertNotNull(subProcessInstance); Incident causeIncident = runtimeService.createIncidentQuery().processInstanceId(subProcessInstance.getId()).singleResult(); assertNotNull(causeIncident); IncidentQuery query = runtimeService.createIncidentQuery().causeIncidentId(causeIncident.getId()); assertEquals(2, query.count()); List<Incident> incidents = query.list(); assertFalse(incidents.isEmpty()); assertEquals(2, incidents.size()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/history/HistoricIncidentQueryTest.testQueryByCauseIncidentId.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/oneFailingServiceProcess.bpmn20.xml"}) public void testQueryByCauseIncidentId() { startProcessInstance("process"); String processInstanceId = runtimeService.createProcessInstanceQuery() .processDefinitionKey(PROCESS_DEFINITION_KEY) .singleResult() .getId(); Incident incident = runtimeService.createIncidentQuery() .processInstanceId(processInstanceId) .singleResult(); HistoricIncidentQuery query = historyService.createHistoricIncidentQuery() .causeIncidentId(incident.getId()); assertEquals(2, query.list().size()); assertEquals(2, query.count()); }
@org.camunda.bpm.engine.test.Deployment(resources={"org/camunda/bpm/engine/test/api/repository/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentId() { assertEquals(1, repositoryService.createProcessDefinitionQuery() .processDefinitionKey("failingProcess") .count()); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); ProcessDefinitionQuery query = repositoryService .createProcessDefinitionQuery() .incidentId(incident.getId()); verifyQueryResults(query, 1); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/history/HistoricIncidentQueryTest.testQueryByCauseIncidentId.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/oneFailingServiceProcess.bpmn20.xml"}) public void testQueryByRootCauseIncidentId() { startProcessInstance("process"); String processInstanceId = runtimeService.createProcessInstanceQuery() .processDefinitionKey(PROCESS_DEFINITION_KEY) .singleResult() .getId(); Incident incident = runtimeService.createIncidentQuery() .processInstanceId(processInstanceId) .singleResult(); HistoricIncidentQuery query = historyService.createHistoricIncidentQuery() .rootCauseIncidentId(incident.getId()); assertEquals(2, query.list().size()); assertEquals(2, query.count()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/IncidentTest.testShouldCreateOneIncident.bpmn"}) public void testShouldCreateOneIncident() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(incident); assertNotNull(incident.getId()); assertNotNull(incident.getIncidentTimestamp()); assertEquals(Incident.FAILED_JOB_HANDLER_TYPE, incident.getIncidentType()); assertEquals(AlwaysFailingDelegate.MESSAGE, incident.getIncidentMessage()); assertEquals(processInstance.getId(), incident.getExecutionId()); assertEquals("theServiceTask", incident.getActivityId()); assertEquals(processInstance.getId(), incident.getProcessInstanceId()); assertEquals(processInstance.getProcessDefinitionId(), incident.getProcessDefinitionId()); assertEquals(incident.getId(), incident.getCauseIncidentId()); assertEquals(incident.getId(), incident.getRootCauseIncidentId()); Job job = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(job); assertEquals(job.getId(), incident.getConfiguration()); assertEquals(job.getJobDefinitionId(), incident.getJobDefinitionId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/IncidentTest.testShouldCreateOneIncident.bpmn"}) public void testShouldDeleteIncidentAfterJobHasBeenDeleted() { // start failing process ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); // get the job Job job = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(job); // there exists one incident to failed Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(incident); // delete the job managementService.deleteJob(job.getId()); // the incident has been deleted too. incident = runtimeService.createIncidentQuery().incidentId(incident.getId()).singleResult(); assertNull(incident); }
@Test public void resolveIncident() { testRule.deployAndGetDefinition(ProcessModels.TWO_TASKS_PROCESS); ProcessInstance processInstance = engineRule.getRuntimeService().startProcessInstanceByKey("Process"); ExecutionEntity execution = (ExecutionEntity) engineRule.getRuntimeService().createExecutionQuery().active().singleResult(); authRule.disableAuthorization(); Incident incident = engineRule.getRuntimeService() .createIncident("foo", execution.getId(), execution.getActivityId(), "bar"); authRule .init(scenario) .withUser("userId") .bindResource("processInstance", processInstance.getId()) .bindResource("processDefinition", "Process") .start(); // when engineRule.getRuntimeService().resolveIncident(incident.getId()); // then authRule.assertScenario(scenario); } }