public static HistoricActivityInstance createMockRunningHistoricActivityInstance() { HistoricActivityInstance mock = mock(HistoricActivityInstance.class); when(mock.getId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_ID); when(mock.getParentActivityInstanceId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_PARENT_ACTIVITY_INSTANCE_ID); when(mock.getActivityId()).thenReturn(EXAMPLE_ACTIVITY_ID); when(mock.getActivityName()).thenReturn(EXAMPLE_ACTIVITY_NAME); when(mock.getActivityType()).thenReturn(EXAMPLE_ACTIVITY_TYPE); when(mock.getProcessDefinitionId()).thenReturn(EXAMPLE_PROCESS_DEFINITION_ID); when(mock.getProcessInstanceId()).thenReturn(EXAMPLE_PROCESS_INSTANCE_ID); when(mock.getExecutionId()).thenReturn(EXAMPLE_EXECUTION_ID); when(mock.getTaskId()).thenReturn(EXAMPLE_TASK_ID); when(mock.getCalledProcessInstanceId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_CALLED_PROCESS_INSTANCE_ID); when(mock.getCalledCaseInstanceId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_CALLED_CASE_INSTANCE_ID); when(mock.getAssignee()).thenReturn(EXAMPLE_TASK_ASSIGNEE_NAME); when(mock.getStartTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_START_TIME)); when(mock.getEndTime()).thenReturn(null); when(mock.getDurationInMillis()).thenReturn(null); return mock; }
public static HistoricActivityInstance createMockHistoricActivityInstance(String tenantId) { HistoricActivityInstance mock = mock(HistoricActivityInstance.class); when(mock.getId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_ID); when(mock.getParentActivityInstanceId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_PARENT_ACTIVITY_INSTANCE_ID); when(mock.getActivityId()).thenReturn(EXAMPLE_ACTIVITY_ID); when(mock.getActivityName()).thenReturn(EXAMPLE_ACTIVITY_NAME); when(mock.getActivityType()).thenReturn(EXAMPLE_ACTIVITY_TYPE); when(mock.getProcessDefinitionKey()).thenReturn(EXAMPLE_PROCESS_DEFINITION_KEY); when(mock.getProcessDefinitionId()).thenReturn(EXAMPLE_PROCESS_DEFINITION_ID); when(mock.getProcessInstanceId()).thenReturn(EXAMPLE_PROCESS_INSTANCE_ID); when(mock.getExecutionId()).thenReturn(EXAMPLE_EXECUTION_ID); when(mock.getTaskId()).thenReturn(EXAMPLE_TASK_ID); when(mock.getCalledProcessInstanceId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_CALLED_PROCESS_INSTANCE_ID); when(mock.getCalledCaseInstanceId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_CALLED_CASE_INSTANCE_ID); when(mock.getAssignee()).thenReturn(EXAMPLE_TASK_ASSIGNEE_NAME); when(mock.getStartTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_START_TIME)); when(mock.getEndTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_END_TIME)); when(mock.getDurationInMillis()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_DURATION); when(mock.isCanceled()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_IS_CANCELED); when(mock.isCompleteScope()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_IS_COMPLETE_SCOPE); when(mock.getTenantId()).thenReturn(tenantId); when(mock.getRemovalTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_ACTIVITY_INSTANCE_REMOVAL_TIME)); when(mock.getRootProcessInstanceId()).thenReturn(EXAMPLE_HISTORIC_ACTIVITY_ROOT_PROCESS_INSTANCE_ID); return mock; }
@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(resources = {"org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.testHistoricActivityInstanceProperties.bpmn20.xml"}) public void testAssigneeSavedWhenTaskSaved() { // given HistoricActivityInstanceQuery query = historyService .createHistoricActivityInstanceQuery() .activityId("theTask"); runtimeService.startProcessInstanceByKey("taskAssigneeProcess"); HistoricActivityInstance historicActivityInstance = query.singleResult(); Task task = taskService.createTaskQuery().singleResult(); // assume assertEquals("kermit", historicActivityInstance.getAssignee()); // when task.setAssignee("gonzo"); taskService.saveTask(task); // then historicActivityInstance = query.singleResult(); assertEquals("gonzo", historicActivityInstance.getAssignee()); }
@Deployment public void testHistoricActivityInstanceProperties() { // Start process instance runtimeService.startProcessInstanceByKey("taskAssigneeProcess"); // Get task list HistoricActivityInstance historicActivityInstance = historyService.createHistoricActivityInstanceQuery().activityId("theTask").singleResult(); Task task = taskService.createTaskQuery().singleResult(); assertEquals(task.getId(), historicActivityInstance.getTaskId()); assertEquals("kermit", historicActivityInstance.getAssignee()); // change assignee of the task taskService.setAssignee(task.getId(), "gonzo"); task = taskService.createTaskQuery().singleResult(); historicActivityInstance = historyService.createHistoricActivityInstanceQuery().activityId("theTask").singleResult(); assertEquals("gonzo", historicActivityInstance.getAssignee()); }
public static HistoricActivityInstanceDto fromHistoricActivityInstance(HistoricActivityInstance historicActivityInstance) { HistoricActivityInstanceDto dto = new HistoricActivityInstanceDto(); dto.id = historicActivityInstance.getId(); dto.parentActivityInstanceId = historicActivityInstance.getParentActivityInstanceId(); dto.activityId = historicActivityInstance.getActivityId(); dto.activityName = historicActivityInstance.getActivityName(); dto.activityType = historicActivityInstance.getActivityType(); dto.processDefinitionKey = historicActivityInstance.getProcessDefinitionKey(); dto.processDefinitionId = historicActivityInstance.getProcessDefinitionId(); dto.processInstanceId = historicActivityInstance.getProcessInstanceId(); dto.executionId = historicActivityInstance.getExecutionId(); dto.taskId = historicActivityInstance.getTaskId(); dto.calledProcessInstanceId = historicActivityInstance.getCalledProcessInstanceId(); dto.calledCaseInstanceId = historicActivityInstance.getCalledCaseInstanceId(); dto.assignee = historicActivityInstance.getAssignee(); dto.startTime = historicActivityInstance.getStartTime(); dto.endTime = historicActivityInstance.getEndTime(); dto.durationInMillis = historicActivityInstance.getDurationInMillis(); dto.canceled = historicActivityInstance.isCanceled(); dto.completeScope = historicActivityInstance.isCompleteScope(); dto.tenantId = historicActivityInstance.getTenantId(); dto.removalTime = historicActivityInstance.getRemovalTime(); dto.rootProcessInstanceId = historicActivityInstance.getRootProcessInstanceId(); return dto; } }
public static HistoricActivityInstanceDto fromHistoricActivityInstance(HistoricActivityInstance historicActivityInstance) { HistoricActivityInstanceDto dto = new HistoricActivityInstanceDto(); dto.id = historicActivityInstance.getId(); dto.parentActivityInstanceId = historicActivityInstance.getParentActivityInstanceId(); dto.activityId = historicActivityInstance.getActivityId(); dto.activityName = historicActivityInstance.getActivityName(); dto.activityType = historicActivityInstance.getActivityType(); dto.processDefinitionKey = historicActivityInstance.getProcessDefinitionKey(); dto.processDefinitionId = historicActivityInstance.getProcessDefinitionId(); dto.processInstanceId = historicActivityInstance.getProcessInstanceId(); dto.executionId = historicActivityInstance.getExecutionId(); dto.taskId = historicActivityInstance.getTaskId(); dto.calledProcessInstanceId = historicActivityInstance.getCalledProcessInstanceId(); dto.calledCaseInstanceId = historicActivityInstance.getCalledCaseInstanceId(); dto.assignee = historicActivityInstance.getAssignee(); dto.startTime = historicActivityInstance.getStartTime(); dto.endTime = historicActivityInstance.getEndTime(); dto.durationInMillis = historicActivityInstance.getDurationInMillis(); dto.canceled = historicActivityInstance.isCanceled(); dto.completeScope = historicActivityInstance.isCompleteScope(); dto.tenantId = historicActivityInstance.getTenantId(); dto.removalTime = historicActivityInstance.getRemovalTime(); dto.rootProcessInstanceId = historicActivityInstance.getRootProcessInstanceId(); return dto; } }
@Deployment(resources = EXCLUSIVE_GATEWAY_PROCESS) public void testSkipCustomListenerEnsureHistoryWritten() { // when creating the task skipping custom listeners runtimeService.createProcessInstanceByKey("exclusiveGateway") .startBeforeActivity("task2") .execute(true, false); // then the task assignment history (which uses a task listener) is written Task task = taskService.createTaskQuery().taskDefinitionKey("task2").singleResult(); HistoricActivityInstance instance = historyService .createHistoricActivityInstanceQuery() .activityId("task2") .singleResult(); assertNotNull(instance); assertEquals(task.getId(), instance.getTaskId()); assertEquals("kermit", instance.getAssignee()); }
@Deployment(resources = EXCLUSIVE_GATEWAY_PROCESS) public void testSkipCustomListenerEnsureHistoryWritten() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("exclusiveGateway").getId(); // when creating the task skipping custom listeners runtimeService.createProcessInstanceModification(processInstanceId) .startBeforeActivity("task2") .execute(true, false); // then the task assignment history (which uses a task listener) is written Task task = taskService.createTaskQuery().taskDefinitionKey("task2").singleResult(); HistoricActivityInstance instance = historyService .createHistoricActivityInstanceQuery() .activityId("task2") .singleResult(); assertNotNull(instance); assertEquals(task.getId(), instance.getTaskId()); assertEquals("kermit", instance.getAssignee()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.sequentialUserTasks.bpmn20.xml"}) public void testSequentialUserTasksHistory() { runtimeService.startProcessInstanceByKey("miSequentialUserTasks", CollectionUtil.singletonMap("nrOfLoops", 4)).getId(); for (int i=0; i<4; i++) { taskService.complete(taskService.createTaskQuery().singleResult().getId()); } if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_NONE) { List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery().activityType("userTask").list(); assertEquals(4, historicActivityInstances.size()); for (HistoricActivityInstance hai : historicActivityInstances) { assertNotNull(hai.getActivityId()); assertNotNull(hai.getActivityName()); assertNotNull(hai.getStartTime()); assertNotNull(hai.getEndTime()); assertNotNull(hai.getAssignee()); } } if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_ACTIVITY) { List<HistoricTaskInstance> historicTaskInstances = historyService.createHistoricTaskInstanceQuery().list(); assertEquals(4, historicTaskInstances.size()); for (HistoricTaskInstance ht : historicTaskInstances) { assertNotNull(ht.getAssignee()); assertNotNull(ht.getStartTime()); assertNotNull(ht.getEndTime()); } } }
assertNotNull(hai.getStartTime()); assertNotNull(hai.getEndTime()); assertNotNull(hai.getAssignee()); assertEquals("userTask", hai.getActivityType()); assertEquals(multiInstanceBodyInstance.getId(), hai.getParentActivityInstanceId());
@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(resources = {"org/camunda/bpm/engine/test/history/HistoricActivityInstanceTest.testHistoricActivityInstanceProperties.bpmn20.xml"}) public void testAssigneeSavedWhenTaskSaved() { // given HistoricActivityInstanceQuery query = historyService .createHistoricActivityInstanceQuery() .activityId("theTask"); runtimeService.startProcessInstanceByKey("taskAssigneeProcess"); HistoricActivityInstance historicActivityInstance = query.singleResult(); Task task = taskService.createTaskQuery().singleResult(); // assume assertEquals("kermit", historicActivityInstance.getAssignee()); // when task.setAssignee("gonzo"); taskService.saveTask(task); // then historicActivityInstance = query.singleResult(); assertEquals("gonzo", historicActivityInstance.getAssignee()); }
@Deployment public void testHistoricActivityInstanceProperties() { // Start process instance runtimeService.startProcessInstanceByKey("taskAssigneeProcess"); // Get task list HistoricActivityInstance historicActivityInstance = historyService.createHistoricActivityInstanceQuery().activityId("theTask").singleResult(); Task task = taskService.createTaskQuery().singleResult(); assertEquals(task.getId(), historicActivityInstance.getTaskId()); assertEquals("kermit", historicActivityInstance.getAssignee()); // change assignee of the task taskService.setAssignee(task.getId(), "gonzo"); task = taskService.createTaskQuery().singleResult(); historicActivityInstance = historyService.createHistoricActivityInstanceQuery().activityId("theTask").singleResult(); assertEquals("gonzo", historicActivityInstance.getAssignee()); }
public static HistoricActivityInstanceDto fromHistoricActivityInstance(HistoricActivityInstance historicActivityInstance) { HistoricActivityInstanceDto dto = new HistoricActivityInstanceDto(); dto.id = historicActivityInstance.getId(); dto.parentActivityInstanceId = historicActivityInstance.getParentActivityInstanceId(); dto.activityId = historicActivityInstance.getActivityId(); dto.activityName = historicActivityInstance.getActivityName(); dto.activityType = historicActivityInstance.getActivityType(); dto.processDefinitionKey = historicActivityInstance.getProcessDefinitionKey(); dto.processDefinitionId = historicActivityInstance.getProcessDefinitionId(); dto.processInstanceId = historicActivityInstance.getProcessInstanceId(); dto.executionId = historicActivityInstance.getExecutionId(); dto.taskId = historicActivityInstance.getTaskId(); dto.calledProcessInstanceId = historicActivityInstance.getCalledProcessInstanceId(); dto.calledCaseInstanceId = historicActivityInstance.getCalledCaseInstanceId(); dto.assignee = historicActivityInstance.getAssignee(); dto.startTime = historicActivityInstance.getStartTime(); dto.endTime = historicActivityInstance.getEndTime(); dto.durationInMillis = historicActivityInstance.getDurationInMillis(); dto.canceled = historicActivityInstance.isCanceled(); dto.completeScope = historicActivityInstance.isCompleteScope(); dto.tenantId = historicActivityInstance.getTenantId(); dto.removalTime = historicActivityInstance.getRemovalTime(); dto.rootProcessInstanceId = historicActivityInstance.getRootProcessInstanceId(); return dto; } }
@Deployment(resources = EXCLUSIVE_GATEWAY_PROCESS) public void testSkipCustomListenerEnsureHistoryWritten() { // when creating the task skipping custom listeners runtimeService.createProcessInstanceByKey("exclusiveGateway") .startBeforeActivity("task2") .execute(true, false); // then the task assignment history (which uses a task listener) is written Task task = taskService.createTaskQuery().taskDefinitionKey("task2").singleResult(); HistoricActivityInstance instance = historyService .createHistoricActivityInstanceQuery() .activityId("task2") .singleResult(); assertNotNull(instance); assertEquals(task.getId(), instance.getTaskId()); assertEquals("kermit", instance.getAssignee()); }
@Deployment(resources = EXCLUSIVE_GATEWAY_PROCESS) public void testSkipCustomListenerEnsureHistoryWritten() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("exclusiveGateway").getId(); // when creating the task skipping custom listeners runtimeService.createProcessInstanceModification(processInstanceId) .startBeforeActivity("task2") .execute(true, false); // then the task assignment history (which uses a task listener) is written Task task = taskService.createTaskQuery().taskDefinitionKey("task2").singleResult(); HistoricActivityInstance instance = historyService .createHistoricActivityInstanceQuery() .activityId("task2") .singleResult(); assertNotNull(instance); assertEquals(task.getId(), instance.getTaskId()); assertEquals("kermit", instance.getAssignee()); }
assertNotNull(hai.getStartTime()); assertNotNull(hai.getEndTime()); assertNotNull(hai.getAssignee()); assertEquals("userTask", hai.getActivityType()); assertEquals(multiInstanceBodyInstance.getId(), hai.getParentActivityInstanceId());
@Deployment(resources = {"org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.sequentialUserTasks.bpmn20.xml"}) public void testSequentialUserTasksHistory() { runtimeService.startProcessInstanceByKey("miSequentialUserTasks", CollectionUtil.singletonMap("nrOfLoops", 4)).getId(); for (int i=0; i<4; i++) { taskService.complete(taskService.createTaskQuery().singleResult().getId()); } if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_NONE) { List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery().activityType("userTask").list(); assertEquals(4, historicActivityInstances.size()); for (HistoricActivityInstance hai : historicActivityInstances) { assertNotNull(hai.getActivityId()); assertNotNull(hai.getActivityName()); assertNotNull(hai.getStartTime()); assertNotNull(hai.getEndTime()); assertNotNull(hai.getAssignee()); } } if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_ACTIVITY) { List<HistoricTaskInstance> historicTaskInstances = historyService.createHistoricTaskInstanceQuery().list(); assertEquals(4, historicTaskInstances.size()); for (HistoricTaskInstance ht : historicTaskInstances) { assertNotNull(ht.getAssignee()); assertNotNull(ht.getStartTime()); assertNotNull(ht.getEndTime()); } } }