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; }
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; }
public void testSimpleQueryWithReadInstancesPermissionOnOneTaskProcess() { // given String processInstanceId = startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ONE_INCIDENT_PROCESS_KEY, userId, READ_INSTANCE); // when IncidentQuery query = runtimeService.createIncidentQuery(); // then verifyQueryResults(query, 1); Incident incident = query.singleResult(); assertNotNull(incident); assertEquals(processInstanceId, incident.getProcessInstanceId()); }
public void testSimpleQueryWithReadPermissionOnProcessInstance() { // given String processInstanceId = startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_INSTANCE, processInstanceId, userId, READ); // when IncidentQuery query = runtimeService.createIncidentQuery(); // then verifyQueryResults(query, 1); Incident incident = query.singleResult(); assertNotNull(incident); assertEquals(processInstanceId, incident.getProcessInstanceId()); }
public void testSimpleQueryWithReadPermissionOnAnyProcessInstance() { // given String processInstanceId = startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_INSTANCE, ANY, userId, READ); // when IncidentQuery query = runtimeService.createIncidentQuery(); // then verifyQueryResults(query, 1); Incident incident = query.singleResult(); assertNotNull(incident); assertEquals(processInstanceId, incident.getProcessInstanceId()); }
public void testSimpleQueryWithReadInstancesPermissionOnAnyProcessDefinition() { // given String processInstanceId = startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ANY, userId, READ_INSTANCE); // when IncidentQuery query = runtimeService.createIncidentQuery(); // then verifyQueryResults(query, 1); Incident incident = query.singleResult(); assertNotNull(incident); assertEquals(processInstanceId, incident.getProcessInstanceId()); }
public void testSimpleQueryWithMultiple() { // given String processInstanceId = startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_INSTANCE, processInstanceId, userId, READ); createGrantAuthorization(PROCESS_INSTANCE, ANY, userId, READ); // when IncidentQuery query = runtimeService.createIncidentQuery(); // then verifyQueryResults(query, 1); Incident incident = query.singleResult(); assertNotNull(incident); assertEquals(processInstanceId, incident.getProcessInstanceId()); }
@Deployment public void testActivityIdProperty() { executeAvailableJobs(); Incident incident = runtimeService .createIncidentQuery() .singleResult(); assertNotNull(incident); assertNotNull(incident.getActivityId()); assertEquals("theStart", incident.getActivityId()); assertNull(incident.getProcessInstanceId()); assertNull(incident.getExecutionId()); }
public void testQueryWithReadPermissionOnProcessInstance() { // given startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY); startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY); String processInstanceId = startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY).getId(); startProcessAndExecuteJob(ANOTHER_ONE_INCIDENT_PROCESS_KEY); startProcessAndExecuteJob(ANOTHER_ONE_INCIDENT_PROCESS_KEY); startProcessAndExecuteJob(ANOTHER_ONE_INCIDENT_PROCESS_KEY); startProcessAndExecuteJob(ANOTHER_ONE_INCIDENT_PROCESS_KEY); createGrantAuthorization(PROCESS_INSTANCE, processInstanceId, userId, READ); // when IncidentQuery query = runtimeService.createIncidentQuery(); // then verifyQueryResults(query, 1); Incident incident = query.singleResult(); assertNotNull(incident); assertEquals(processInstanceId, incident.getProcessInstanceId()); }
evt.setProcessInstanceId(incident.getProcessInstanceId()); evt.setExecutionId(incident.getExecutionId()); evt.setCreateTime(incident.getIncidentTimestamp());
evt.setProcessInstanceId(incident.getProcessInstanceId()); evt.setExecutionId(incident.getExecutionId()); evt.setCreateTime(incident.getIncidentTimestamp());
assertEquals("failedExternalTask", incident.getIncidentType()); assertEquals(task.getProcessDefinitionId(), incident.getProcessDefinitionId()); assertEquals(task.getProcessInstanceId(), incident.getProcessInstanceId()); assertEquals(incident.getId(), incident.getRootCauseIncidentId()); AssertUtil.assertEqualsSecondPrecision(nowMinus(4000L), incident.getIncidentTimestamp());
@Deployment(resources = TEST_PROCESS_ONE_JOB) public void testSetProcessDefinitionVersionMigrateIncident() { // given a process instance ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneJobProcess", Variables.createVariables().putValue("shouldFail", true)); // with a failed job executeAvailableJobs(); // and an incident Incident incident = runtimeService.createIncidentQuery().singleResult(); assertNotNull(incident); // and a second deployment of the process org.camunda.bpm.engine.repository.Deployment deployment = repositoryService .createDeployment() .addClasspathResource(TEST_PROCESS_ONE_JOB) .deploy(); ProcessDefinition newDefinition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult(); assertNotNull(newDefinition); // when the process instance is migrated CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutorTxRequired(); commandExecutor.execute(new SetProcessDefinitionVersionCmd(instance.getId(), 2)); // then the the incident should also be migrated Incident migratedIncident = runtimeService.createIncidentQuery().singleResult(); assertNotNull(migratedIncident); assertEquals(newDefinition.getId(), migratedIncident.getProcessDefinitionId()); assertEquals(instance.getId(), migratedIncident.getProcessInstanceId()); assertEquals(instance.getId(), migratedIncident.getExecutionId()); repositoryService.deleteDeployment(deployment.getId(), true); }
assertEquals(job.getExecutionId(), causeIncident.getExecutionId()); assertEquals("theServiceTask", causeIncident.getActivityId()); assertEquals(failingProcess.getId(), causeIncident.getProcessInstanceId()); assertEquals(causeIncident.getId(), causeIncident.getCauseIncidentId()); assertEquals(causeIncident.getId(), causeIncident.getRootCauseIncidentId()); assertEquals(theCallActivityExecution.getId(), recursiveCreatedIncident.getExecutionId()); assertEquals("theCallActivity", recursiveCreatedIncident.getActivityId()); assertEquals(processInstance.getId(), recursiveCreatedIncident.getProcessInstanceId()); assertEquals(causeIncident.getId(), recursiveCreatedIncident.getCauseIncidentId()); assertEquals(causeIncident.getId(), recursiveCreatedIncident.getRootCauseIncidentId());
assertEquals(job.getExecutionId(), rootCauseIncident.getExecutionId()); assertEquals("theServiceTask", rootCauseIncident.getActivityId()); assertEquals(failingProcess.getId(), rootCauseIncident.getProcessInstanceId()); assertEquals(rootCauseIncident.getId(), rootCauseIncident.getCauseIncidentId()); assertEquals(rootCauseIncident.getId(), rootCauseIncident.getRootCauseIncidentId()); assertEquals(theCallActivityExecution.getId(), causeIncident.getExecutionId()); assertEquals("theCallActivity", causeIncident.getActivityId()); assertEquals(callFailingProcess.getId(), causeIncident.getProcessInstanceId()); assertEquals(rootCauseIncident.getId(), causeIncident.getCauseIncidentId()); assertEquals(rootCauseIncident.getId(), causeIncident.getRootCauseIncidentId()); assertEquals(theCallingCallActivity.getId(), topLevelIncident.getExecutionId()); assertEquals("theCallingCallActivity", topLevelIncident.getActivityId()); assertEquals(processInstance.getId(), topLevelIncident.getProcessInstanceId()); assertEquals(causeIncident.getId(), topLevelIncident.getCauseIncidentId()); assertEquals(rootCauseIncident.getId(), topLevelIncident.getRootCauseIncidentId());
@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.testShouldCreateOneIncidentForNestedExecution.bpmn"}) public void testShouldCreateOneIncidentForNestedExecution() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcessWithNestedExecutions"); executeAvailableJobs(); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(incident); Job job = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(job); String executionIdOfNestedFailingExecution = job.getExecutionId(); assertFalse(processInstance.getId() == executionIdOfNestedFailingExecution); assertNotNull(incident.getId()); assertNotNull(incident.getIncidentTimestamp()); assertEquals(Incident.FAILED_JOB_HANDLER_TYPE, incident.getIncidentType()); assertEquals(AlwaysFailingDelegate.MESSAGE, incident.getIncidentMessage()); assertEquals(executionIdOfNestedFailingExecution, incident.getExecutionId()); assertEquals("theServiceTask", incident.getActivityId()); assertEquals(processInstance.getId(), incident.getProcessInstanceId()); assertEquals(incident.getId(), incident.getCauseIncidentId()); assertEquals(incident.getId(), incident.getRootCauseIncidentId()); assertEquals(job.getId(), incident.getConfiguration()); assertEquals(job.getJobDefinitionId(), incident.getJobDefinitionId()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneFailingServiceProcess.bpmn20.xml"}) public void testPropertiesOfHistoricIncident() { startProcessInstance(PROCESS_DEFINITION_KEY); Incident incident = runtimeService.createIncidentQuery().singleResult(); assertNotNull(incident); HistoricIncident historicIncident = historyService.createHistoricIncidentQuery().singleResult(); assertNotNull(historicIncident); assertEquals(incident.getId(), historicIncident.getId()); assertEquals(incident.getIncidentTimestamp(), historicIncident.getCreateTime()); assertNull(historicIncident.getEndTime()); assertEquals(incident.getIncidentType(), historicIncident.getIncidentType()); assertEquals(incident.getIncidentMessage(), historicIncident.getIncidentMessage()); assertEquals(incident.getExecutionId(), historicIncident.getExecutionId()); assertEquals(incident.getActivityId(), historicIncident.getActivityId()); assertEquals(incident.getProcessInstanceId(), historicIncident.getProcessInstanceId()); assertEquals(incident.getProcessDefinitionId(), historicIncident.getProcessDefinitionId()); assertEquals(PROCESS_DEFINITION_KEY, historicIncident.getProcessDefinitionKey()); assertEquals(incident.getCauseIncidentId(), historicIncident.getCauseIncidentId()); assertEquals(incident.getRootCauseIncidentId(), historicIncident.getRootCauseIncidentId()); assertEquals(incident.getConfiguration(), historicIncident.getConfiguration()); assertEquals(incident.getJobDefinitionId(), historicIncident.getJobDefinitionId()); assertTrue(historicIncident.isOpen()); assertFalse(historicIncident.isDeleted()); assertFalse(historicIncident.isResolved()); }
public void testSimpleQueryWithReadPermissionOnAnyProcessInstance() { // given String processInstanceId = startProcessAndExecuteJob(ONE_INCIDENT_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_INSTANCE, ANY, userId, READ); // when IncidentQuery query = runtimeService.createIncidentQuery(); // then verifyQueryResults(query, 1); Incident incident = query.singleResult(); assertNotNull(incident); assertEquals(processInstanceId, incident.getProcessInstanceId()); }