in ddm-bpm-history-event-handler/src/it/java/com/epam/digital/data/platform/bpm/history/it/ProcessHistoryEventPublisherIT.java [116:168]
void testInMemHistoryHandler() {
identityService.setAuthentication("testUser", List.of("camunda-admin"));
var process = runtimeService.startProcessInstanceByKey("test_history_handler",
"1", Map.of("initiator", "testUser"));
var task = taskService.createTaskQuery()
.processInstanceId(process.getProcessInstanceId())
.singleResult();
taskService.complete(task.getId());
var processInstanceId = process.getId();
var processDefinitionId = process.getProcessDefinitionId();
await().atMost(10, TimeUnit.SECONDS).pollDelay(100, TimeUnit.MILLISECONDS).untilAsserted(() -> {
assertThat(storage.getProcessInstanceDtoMap()).hasSize(1);
var actualProcessInstance = storage.getHistoryProcessInstanceDto(processInstanceId);
assertThat(actualProcessInstance)
.hasNoNullFieldsOrPropertiesExcept("superProcessInstanceId")
.hasFieldOrPropertyWithValue("processInstanceId", processInstanceId)
.hasFieldOrPropertyWithValue("superProcessInstanceId", null)
.hasFieldOrPropertyWithValue("processDefinitionId", processDefinitionId)
.hasFieldOrPropertyWithValue("processDefinitionKey", "test_history_handler")
.hasFieldOrPropertyWithValue("processDefinitionName", "test_history_handler")
.hasFieldOrPropertyWithValue("businessKey", "1")
.hasFieldOrProperty("startTime")
.hasFieldOrProperty("endTime")
.hasFieldOrPropertyWithValue("startUserId", "testUser")
.hasFieldOrPropertyWithValue("state", "COMPLETED")
.hasFieldOrPropertyWithValue("excerptId", "excerpt")
.hasFieldOrPropertyWithValue("completionResult", "completion result");
assertThat(storage.getHistoryTaskDtoMap()).hasSize(1);
var actualTask = storage.getHistoryTaskDtoMap().values().stream()
.filter(t -> "user_task".equals(t.getTaskDefinitionKey())).findFirst();
assertThat(actualTask).isPresent().get()
.hasNoNullFieldsOrProperties()
.hasFieldOrProperty("activityInstanceId")
.hasFieldOrPropertyWithValue("taskDefinitionKey", "user_task")
.hasFieldOrPropertyWithValue("taskDefinitionName", "task")
.hasFieldOrPropertyWithValue("processInstanceId", processInstanceId)
.hasFieldOrPropertyWithValue("processDefinitionId", processDefinitionId)
.hasFieldOrPropertyWithValue("processDefinitionKey", "test_history_handler")
.hasFieldOrPropertyWithValue("processDefinitionName", "test_history_handler")
.hasFieldOrPropertyWithValue("rootProcessInstanceId", processInstanceId)
.hasFieldOrProperty("startTime")
.hasFieldOrProperty("endTime")
.hasFieldOrPropertyWithValue("assignee", "testUser");
assertThat(historyService.createHistoricProcessInstanceQuery().list()).isEmpty();
assertThat(historyService.createHistoricTaskInstanceQuery().list()).isEmpty();
});
}