private void assertThatDecisionsHaveAllImportantInformation(List<HistoricDecisionInstance> decisionInstances) { assertThat(decisionInstances.size(), is(1)); HistoricDecisionInstance decisionInstance = decisionInstances.get(0); assertThat(decisionInstance, notNullValue()); assertThat(decisionInstance.getProcessDefinitionKey(), is("testProcess")); assertThat(decisionInstance.getProcessDefinitionId(), notNullValue()); assertThat(decisionInstance.getDecisionDefinitionId(), notNullValue()); assertThat(decisionInstance.getDecisionDefinitionKey(), is("testDecision")); assertThat(decisionInstance.getDecisionDefinitionName(), is("sample decision")); assertThat(decisionInstance.getActivityId(), is("task")); assertThat(decisionInstance.getActivityInstanceId(), notNullValue()); assertThat(decisionInstance.getProcessInstanceId(), is(notNullValue())); assertThat(decisionInstance.getRootProcessInstanceId(), is(notNullValue())); assertThat(decisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(decisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(decisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(decisionInstance.getRootDecisionInstanceId(), is(nullValue())); assertThat(decisionInstance.getDecisionRequirementsDefinitionId(), is(nullValue())); assertThat(decisionInstance.getDecisionRequirementsDefinitionKey(), is(nullValue())); assertThat(decisionInstance.getEvaluationTime(), is(notNullValue())); }
public static HistoricDecisionInstance createMockHistoricDecisionInstanceBase(String tenantId) { HistoricDecisionInstance mock = mock(HistoricDecisionInstance.class); when(mock.getId()).thenReturn(EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); when(mock.getDecisionDefinitionId()).thenReturn(EXAMPLE_DECISION_DEFINITION_ID); when(mock.getDecisionDefinitionKey()).thenReturn(EXAMPLE_DECISION_DEFINITION_KEY); when(mock.getDecisionDefinitionName()).thenReturn(EXAMPLE_DECISION_DEFINITION_NAME); when(mock.getProcessDefinitionId()).thenReturn(EXAMPLE_PROCESS_DEFINITION_ID); when(mock.getProcessDefinitionKey()).thenReturn(EXAMPLE_PROCESS_DEFINITION_KEY); when(mock.getProcessInstanceId()).thenReturn(EXAMPLE_PROCESS_INSTANCE_ID); when(mock.getCaseDefinitionId()).thenReturn(EXAMPLE_CASE_DEFINITION_ID); when(mock.getCaseDefinitionKey()).thenReturn(EXAMPLE_CASE_DEFINITION_KEY); when(mock.getCaseInstanceId()).thenReturn(EXAMPLE_CASE_INSTANCE_ID); when(mock.getActivityId()).thenReturn(EXAMPLE_HISTORIC_DECISION_INSTANCE_ACTIVITY_ID); when(mock.getActivityInstanceId()).thenReturn(EXAMPLE_HISTORIC_DECISION_INSTANCE_ACTIVITY_INSTANCE_ID); when(mock.getEvaluationTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_DECISION_INSTANCE_EVALUATION_TIME)); when(mock.getRemovalTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_DECISION_INSTANCE_REMOVAL_TIME)); when(mock.getUserId()).thenReturn(EXAMPLE_HISTORIC_DECISION_INSTANCE_USER_ID); when(mock.getCollectResultValue()).thenReturn(EXAMPLE_HISTORIC_DECISION_INSTANCE_COLLECT_RESULT_VALUE); when(mock.getRootDecisionInstanceId()).thenReturn(EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); when(mock.getRootProcessInstanceId()).thenReturn(EXAMPLE_ROOT_HISTORIC_PROCESS_INSTANCE_ID); when(mock.getDecisionRequirementsDefinitionId()).thenReturn(EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_ID); when(mock.getDecisionRequirementsDefinitionKey()).thenReturn(EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_KEY); when(mock.getTenantId()).thenReturn(tenantId); return mock; }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDecisionInstanceProperties() { startProcessInstanceAndEvaluateDecision(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult(); String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY).singleResult().getId(); String activityInstanceId = historyService.createHistoricActivityInstanceQuery().activityId("task").singleResult().getId(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().singleResult(); assertThat(historicDecisionInstance, is(notNullValue())); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinitionId)); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is(DECISION_DEFINITION_KEY)); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("sample decision")); assertThat(historicDecisionInstance.getProcessDefinitionKey(), is(processDefinition.getKey())); assertThat(historicDecisionInstance.getProcessDefinitionId(), is(processDefinition.getId())); assertThat(historicDecisionInstance.getProcessInstanceId(), is(processInstance.getId())); assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getActivityId(), is("task")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId)); assertThat(historicDecisionInstance.getRootDecisionInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getDecisionRequirementsDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getDecisionRequirementsDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); }
dto.caseDefinitionId = historicDecisionInstance.getCaseDefinitionId(); dto.caseDefinitionKey = historicDecisionInstance.getCaseDefinitionKey(); dto.caseInstanceId = historicDecisionInstance.getCaseInstanceId(); dto.activityId = historicDecisionInstance.getActivityId(); dto.activityInstanceId = historicDecisionInstance.getActivityInstanceId();
dto.caseDefinitionId = historicDecisionInstance.getCaseDefinitionId(); dto.caseDefinitionKey = historicDecisionInstance.getCaseDefinitionKey(); dto.caseInstanceId = historicDecisionInstance.getCaseInstanceId(); dto.activityId = historicDecisionInstance.getActivityId(); dto.activityInstanceId = historicDecisionInstance.getActivityInstanceId();
@Test public void evaluateDecisionWithDecisionService() { runtimeService.startProcessInstanceByKey("testProcess", Variables.createVariables() .putValue("input1", null) .putValue("myBean", new DecisionServiceDelegate())); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult(); String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY).singleResult().getId(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().singleResult(); assertThat(historicDecisionInstance, is(notNullValue())); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinitionId)); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is(DECISION_DEFINITION_KEY)); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("sample decision")); // references to process instance should be set since the decision is evaluated while executing a process instance assertThat(historicDecisionInstance.getProcessDefinitionKey(), is(processDefinition.getKey())); assertThat(historicDecisionInstance.getProcessDefinitionId(), is(processDefinition.getId())); assertThat(historicDecisionInstance.getProcessInstanceId(), is(processInstance.getId())); assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getActivityId(), is(activityId)); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); }
assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId()));
assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(caseDefinition.getKey())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(caseDefinition.getId())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId())); assertThat(historicDecisionInstance.getActivityId(), is("PI_HumanTask_1")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId));
assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(caseDefinition.getKey())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(caseDefinition.getId())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId())); assertThat(historicDecisionInstance.getActivityId(), is("PI_HumanTask_1")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId));
assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(caseDefinition.getKey())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(caseDefinition.getId())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId())); assertThat(historicDecisionInstance.getActivityId(), is("PI_HumanTask_1")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId));
private void assertThatDecisionsHaveAllImportantInformation(List<HistoricDecisionInstance> decisionInstances) { assertThat(decisionInstances.size(), is(1)); HistoricDecisionInstance decisionInstance = decisionInstances.get(0); assertThat(decisionInstance, notNullValue()); assertThat(decisionInstance.getProcessDefinitionKey(), is("testProcess")); assertThat(decisionInstance.getProcessDefinitionId(), notNullValue()); assertThat(decisionInstance.getDecisionDefinitionId(), notNullValue()); assertThat(decisionInstance.getDecisionDefinitionKey(), is("testDecision")); assertThat(decisionInstance.getDecisionDefinitionName(), is("sample decision")); assertThat(decisionInstance.getActivityId(), is("task")); assertThat(decisionInstance.getActivityInstanceId(), notNullValue()); assertThat(decisionInstance.getProcessInstanceId(), is(notNullValue())); assertThat(decisionInstance.getRootProcessInstanceId(), is(notNullValue())); assertThat(decisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(decisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(decisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(decisionInstance.getRootDecisionInstanceId(), is(nullValue())); assertThat(decisionInstance.getDecisionRequirementsDefinitionId(), is(nullValue())); assertThat(decisionInstance.getDecisionRequirementsDefinitionKey(), is(nullValue())); assertThat(decisionInstance.getEvaluationTime(), is(notNullValue())); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDecisionInstanceProperties() { startProcessInstanceAndEvaluateDecision(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult(); String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY).singleResult().getId(); String activityInstanceId = historyService.createHistoricActivityInstanceQuery().activityId("task").singleResult().getId(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().singleResult(); assertThat(historicDecisionInstance, is(notNullValue())); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinitionId)); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is(DECISION_DEFINITION_KEY)); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("sample decision")); assertThat(historicDecisionInstance.getProcessDefinitionKey(), is(processDefinition.getKey())); assertThat(historicDecisionInstance.getProcessDefinitionId(), is(processDefinition.getId())); assertThat(historicDecisionInstance.getProcessInstanceId(), is(processInstance.getId())); assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getActivityId(), is("task")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId)); assertThat(historicDecisionInstance.getRootDecisionInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getDecisionRequirementsDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getDecisionRequirementsDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); }
dto.caseDefinitionId = historicDecisionInstance.getCaseDefinitionId(); dto.caseDefinitionKey = historicDecisionInstance.getCaseDefinitionKey(); dto.caseInstanceId = historicDecisionInstance.getCaseInstanceId(); dto.activityId = historicDecisionInstance.getActivityId(); dto.activityInstanceId = historicDecisionInstance.getActivityInstanceId();
@Test public void evaluateDecisionWithDecisionService() { runtimeService.startProcessInstanceByKey("testProcess", Variables.createVariables() .putValue("input1", null) .putValue("myBean", new DecisionServiceDelegate())); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult(); String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY).singleResult().getId(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().singleResult(); assertThat(historicDecisionInstance, is(notNullValue())); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinitionId)); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is(DECISION_DEFINITION_KEY)); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("sample decision")); // references to process instance should be set since the decision is evaluated while executing a process instance assertThat(historicDecisionInstance.getProcessDefinitionKey(), is(processDefinition.getKey())); assertThat(historicDecisionInstance.getProcessDefinitionId(), is(processDefinition.getId())); assertThat(historicDecisionInstance.getProcessInstanceId(), is(processInstance.getId())); assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getActivityId(), is(activityId)); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); }
assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId()));
assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(caseDefinition.getKey())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(caseDefinition.getId())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId())); assertThat(historicDecisionInstance.getActivityId(), is("PI_HumanTask_1")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId));
assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(caseDefinition.getKey())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(caseDefinition.getId())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId())); assertThat(historicDecisionInstance.getActivityId(), is("PI_HumanTask_1")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId));
assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(caseDefinition.getKey())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(caseDefinition.getId())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(caseInstance.getId())); assertThat(historicDecisionInstance.getActivityId(), is("PI_HumanTask_1")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId));