private void verifyStringParameterQueryInvocations() { Map<String, String> stringQueryParameters = getCompleteStringQueryParameters(); verify(mockedQuery).activityInstanceId(stringQueryParameters.get("activityInstanceId")); verify(mockedQuery).processInstanceId(stringQueryParameters.get("processInstanceId")); verify(mockedQuery).processDefinitionId(stringQueryParameters.get("processDefinitionId")); verify(mockedQuery).executionId(stringQueryParameters.get("executionId")); verify(mockedQuery).activityId(stringQueryParameters.get("activityId")); verify(mockedQuery).activityName(stringQueryParameters.get("activityName")); verify(mockedQuery).activityType(stringQueryParameters.get("activityType")); verify(mockedQuery).taskAssignee(stringQueryParameters.get("taskAssignee")); verify(mockedQuery).list(); }
@Deployment(resources = "org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.startEventTypesForEventSubprocess.bpmn20.xml") public void testErrorEventSubprocess() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("shouldThrowError", true); runtimeService.startProcessInstanceByKey("process", vars); HistoricActivityInstance historicActivity = historyService.createHistoricActivityInstanceQuery() .activityId("errorStartEvent").singleResult(); assertEquals("errorStartEvent", historicActivity.getActivityType()); }
@Deployment(resources = "org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.startEventTypesForEventSubprocess.bpmn20.xml") public void testMessageEventSubprocess() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("shouldThrowError", false); runtimeService.startProcessInstanceByKey("process", vars); runtimeService.correlateMessage("newMessage"); HistoricActivityInstance historicActivity = historyService.createHistoricActivityInstanceQuery() .activityId("messageStartEvent").singleResult(); assertEquals("messageStartEvent", historicActivity.getActivityType()); }
@Deployment(resources = "org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.startEventTypesForEventSubprocess.bpmn20.xml") public void testSignalEventSubprocess() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("shouldThrowError", false); runtimeService.startProcessInstanceByKey("process", vars); runtimeService.signalEventReceived("newSignal"); HistoricActivityInstance historicActivity = historyService.createHistoricActivityInstanceQuery() .activityId("signalStartEvent").singleResult(); assertEquals("signalStartEvent", historicActivity.getActivityType()); }
@Deployment public void testEndParallelJoin() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); List<HistoricActivityInstance> activityInstance = historyService .createHistoricActivityInstanceQuery() .processInstanceId(pi.getId()) .activityId("parallelJoinEnd") .list(); assertThat(activityInstance.size(), is(2)); assertThat(pi.isEnded(), is(true)); }
@Deployment public void testCompensationEndEventWithActivityRef() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("compensateProcess"); if (!processEngineConfiguration.getHistory().equals(ProcessEngineConfiguration.HISTORY_NONE)) { assertEquals(5, historyService.createHistoricActivityInstanceQuery().activityId("undoBookHotel").count()); assertEquals(0, historyService.createHistoricActivityInstanceQuery().activityId("undoBookFlight").count()); } assertProcessEnded(processInstance.getId()); }
@Deployment public void testCompensationEndEventWithScope() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("compensateProcess"); if (!processEngineConfiguration.getHistory().equals(ProcessEngineConfiguration.HISTORY_NONE)) { assertEquals(5, historyService.createHistoricActivityInstanceQuery().activityId("undoBookHotel").count()); assertEquals(5, historyService.createHistoricActivityInstanceQuery().activityId("undoBookFlight").count()); } assertProcessEnded(processInstance.getId()); }
@Deployment public void testMultiInstanceReceiveActivity() { runtimeService.startProcessInstanceByKey("process"); HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery(); HistoricActivityInstance miBodyInstance = query.activityId("receiveTask#multiInstanceBody").singleResult(); query.activityId("receiveTask"); assertEquals(5, query.count()); List<HistoricActivityInstance> result = query.list(); for (HistoricActivityInstance instance : result) { assertEquals(miBodyInstance.getId(), instance.getParentActivityInstanceId()); } }
@Deployment(resources = "org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.startEventTypesForEventSubprocess.bpmn20.xml") public void testTimerEventSubprocess() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("shouldThrowError", false); runtimeService.startProcessInstanceByKey("process", vars); Job timerJob = managementService.createJobQuery().singleResult(); managementService.executeJob(timerJob.getId()); HistoricActivityInstance historicActivity = historyService.createHistoricActivityInstanceQuery() .activityId("timerStartEvent").singleResult(); assertEquals("startTimerEvent", historicActivity.getActivityType()); }
@Deployment(resources="org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.testEvents.bpmn") public void testIntermediateCatchEventTypes() { HistoricActivityInstanceQuery query = startEventTestProcess(""); query.activityId("intermediateSignalCatchEvent"); assertEquals(1, query.count()); assertEquals("intermediateSignalCatch", query.singleResult().getActivityType()); query.activityId("intermediateMessageCatchEvent"); assertEquals(1, query.count()); assertEquals("intermediateMessageCatch", query.singleResult().getActivityType()); query.activityId("intermediateTimerCatchEvent"); assertEquals(1, query.count()); assertEquals("intermediateTimer", query.singleResult().getActivityType()); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryByActivityInstanceId() { startProcessInstanceAndEvaluateDecision(); String activityInstanceId = historyService.createHistoricActivityInstanceQuery().activityId("task").singleResult().getId(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.activityInstanceIdIn(activityInstanceId).count(), is(1L)); assertThat(query.activityInstanceIdIn("other activity").count(), is(0L)); assertThat(query.activityInstanceIdIn(activityInstanceId, "other activity").count(), is(1L)); }
@Deployment public void testHistoricTaskInstanceAssignmentListener() { Map<String, Object> variables = new HashMap<String, Object>(); variables.put("assignee", "jonny"); runtimeService.startProcessInstanceByKey("testProcess", variables); HistoricActivityInstance hai = historyService.createHistoricActivityInstanceQuery().activityId("task").singleResult(); assertEquals("jonny", hai.getAssignee()); HistoricTaskInstance hti = historyService.createHistoricTaskInstanceQuery().singleResult(); assertEquals("jonny", hti.getAssignee()); assertNull(hti.getOwner()); }
@Deployment public void testBoundaryCompensateEvent() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery(); // the compensation boundary event should not appear in history! query.activityId("compensate"); assertEquals(0, query.count()); assertProcessEnded(pi.getId()); }
@Deployment(resources={"org/camunda/bpm/engine/test/history/HistoricTaskInstanceTest.testHistoricTaskInstance.bpmn20.xml"}) public void testHistoricTaskInstanceQueryByActivityInstanceId() throws Exception { runtimeService.startProcessInstanceByKey("HistoricTaskInstanceTest"); String activityInstanceId = historyService.createHistoricActivityInstanceQuery() .activityId("task") .singleResult() .getId(); HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery() .activityInstanceIdIn(activityInstanceId); assertEquals(1, query.count()); assertEquals(1, query.list().size()); }
@Deployment(resources = { "org/camunda/bpm/engine/test/history/calledProcess.bpmn20.xml", "org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.testCallSimpleSubProcess.bpmn20.xml" }) public void testHistoricActivityInstanceCalledProcessId() { runtimeService.startProcessInstanceByKey("callSimpleSubProcess"); HistoricActivityInstance historicActivityInstance = historyService.createHistoricActivityInstanceQuery().activityId("callSubProcess").singleResult(); HistoricProcessInstance oldInstance = historyService.createHistoricProcessInstanceQuery().processDefinitionKey("calledProcess").singleResult(); assertEquals(oldInstance.getId(), historicActivityInstance.getCalledProcessInstanceId()); }
@Deployment(resources="org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.testBoundaryCompensateEvent.bpmn20.xml") public void testCompensationServiceTaskHasEndTime() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery(); query.activityId("compensationServiceTask"); assertEquals(1, query.count()); assertNotNull(query.singleResult().getEndTime()); assertProcessEnded(pi.getId()); }
@Deployment(resources="org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.testBoundaryCancelEvent.bpmn20.xml") public void testTransaction() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery(); query.activityId("transaction"); assertEquals(1, query.count()); assertNotNull(query.singleResult().getEndTime()); Task task = taskService.createTaskQuery().singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testScopeActivity() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery(); query.activityId("userTask"); assertEquals(1, query.count()); HistoricActivityInstance historicActivityInstance = query.singleResult(); assertEquals(pi.getId(), historicActivityInstance.getParentActivityInstanceId()); Task task = taskService.createTaskQuery().singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testBoundaryErrorEvent() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery(); query.activityId("error"); assertEquals(1, query.count()); assertNotNull(query.singleResult().getEndTime()); assertEquals("boundaryError", query.singleResult().getActivityType()); Task task = taskService.createTaskQuery().singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testBoundaryCancelEvent() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery(); query.activityId("catchCancel"); assertEquals(1, query.count()); assertNotNull(query.singleResult().getEndTime()); assertEquals("cancelBoundaryCatch", query.singleResult().getActivityType()); Task task = taskService.createTaskQuery().singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }