use of org.camunda.bpm.engine.test.RequiredHistoryLevel in project camunda-bpm-platform by camunda.
the class HistoricProcessInstanceTest method testHistoricProcInstExecutedJobBefore.
@Test
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_FULL)
public void testHistoricProcInstExecutedJobBefore() {
// given
BpmnModelInstance asyncModel = Bpmn.createExecutableProcess("async").startEvent().camundaAsyncBefore().endEvent().done();
deployment(asyncModel);
BpmnModelInstance model = Bpmn.createExecutableProcess("proc").startEvent().endEvent().done();
deployment(model);
Calendar now = Calendar.getInstance();
ClockUtil.setCurrentTime(now.getTime());
Calendar hourBeforeNow = (Calendar) now.clone();
hourBeforeNow.add(Calendar.HOUR_OF_DAY, -1);
runtimeService.startProcessInstanceByKey("async");
Job job = managementService.createJobQuery().singleResult();
managementService.executeJob(job.getId());
runtimeService.startProcessInstanceByKey("proc");
// when query historic process instance which has executed an job before the start time
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().executedJobBefore(now.getTime()).singleResult();
// then query returns only a single process instance since before is less-then-equal
assertNotNull(historicProcessInstance);
// when query historic proc inst with executed job before an hour of the starting time
historicProcessInstance = historyService.createHistoricProcessInstanceQuery().executedJobBefore(hourBeforeNow.getTime()).singleResult();
// then query returns no result
assertNull(historicProcessInstance);
}
Aggregations