@Test public void testRootDecisionInstancesOnly() { given() .queryParam("rootDecisionInstancesOnly", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); verify(mockedQuery).rootDecisionInstancesOnly(); verify(mockedQuery).list(); }
@Deployment(resources = { DRG_DMN }) public void testQueryByRootDecisionInstancesOnly() { decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue("temperature", 21).putValue("dayType", "Weekend")) .evaluate(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.count(), is(3L)); assertThat(query.rootDecisionInstancesOnly().count(), is(1L)); assertThat(query.rootDecisionInstancesOnly().singleResult().getDecisionDefinitionKey(), is(DISH_DECISION)); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldNotResolveHistoricDecisionInputInstance() { // given // when decisionService.evaluateDecisionTableByKey("dish-decision", Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionInputInstance> historicDecisionInputInstances = historicDecisionInstance.getInputs(); // then assertThat(historicDecisionInputInstances.get(0).getRootProcessInstanceId(), nullValue()); assertThat(historicDecisionInputInstances.get(1).getRootProcessInstanceId(), nullValue()); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldNotResolveHistoricDecisionInputInstance() { // given // when decisionService.evaluateDecisionTableByKey("dish-decision", Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionInputInstance> historicDecisionInputInstances = historicDecisionInstance.getInputs(); // then assertThat(historicDecisionInputInstances.get(0).getRemovalTime(), nullValue()); assertThat(historicDecisionInputInstances.get(1).getRemovalTime(), nullValue()); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldNotResolveHistoricDecisionOutputInstance() { // given // when decisionService.evaluateDecisionTableByKey("dish-decision", Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionOutputInstance> historicDecisionOutputInstances = historicDecisionInstance.getOutputs(); // then assertThat(historicDecisionOutputInstances.get(0).getRootProcessInstanceId(), nullValue()); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldNotResolveHistoricDecisionOutputInstance() { // given // when decisionService.evaluateDecisionTableByKey("dish-decision", Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionOutputInstance> historicDecisionOutputInstances = historicDecisionInstance.getOutputs(); // then assertThat(historicDecisionOutputInstances.get(0).getRemovalTime(), nullValue()); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldResolveStandaloneHistoricDecisionInputInstance() { // given ClockUtil.setCurrentTime(START_DATE); DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery() .decisionDefinitionKey("dish-decision") .singleResult(); repositoryService.updateDecisionDefinitionHistoryTimeToLive(decisionDefinition.getId(), 5); // when decisionService.evaluateDecisionTableByKey("dish-decision", Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionInputInstance> historicDecisionInputInstances = historicDecisionInstance.getInputs(); Date removalTime = addDays(START_DATE, 5); // then assertThat(historicDecisionInputInstances.get(0).getRemovalTime(), is(removalTime)); assertThat(historicDecisionInputInstances.get(1).getRemovalTime(), is(removalTime)); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldResolveHistoricDecisionInputInstance() { // given testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .startEvent() .businessRuleTask() .camundaDecisionRef("dish-decision") .endEvent().done()); // when ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionInputInstance> historicDecisionInputInstances = historicDecisionInstance.getInputs(); // then assertThat(historicDecisionInputInstances.get(0).getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); assertThat(historicDecisionInputInstances.get(1).getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldResolveHistoricDecisionInputInstance() { // given ClockUtil.setCurrentTime(START_DATE); testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .camundaHistoryTimeToLive(5) .startEvent() .businessRuleTask() .camundaDecisionRef("dish-decision") .endEvent().done()); // when runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionInputInstance> historicDecisionInputInstances = historicDecisionInstance.getInputs(); Date removalTime = addDays(START_DATE, 5); // then assertThat(historicDecisionInputInstances.get(0).getRemovalTime(), is(removalTime)); assertThat(historicDecisionInputInstances.get(1).getRemovalTime(), is(removalTime)); }
@Test public void testStatisticForRootDecisionWithInstanceConstraintEvaluation() throws Exception { //when decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 21).putValue(DAY_TYPE, WEEKEND)) .evaluate(); decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 11).putValue(DAY_TYPE, WEEKEND)) .evaluate(); DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); String decisionInstanceId = engineRule.getHistoryService() .createHistoricDecisionInstanceQuery() .decisionRequirementsDefinitionId(decisionRequirementsDefinition.getId()) .rootDecisionInstancesOnly() .list() .get(0) .getId(); HistoricDecisionInstanceStatisticsQuery query = historyService .createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()) .decisionInstanceId(decisionInstanceId); //then assertThat(query.count(), is(3L)); assertThat(query.list().size(), is(3)); assertThat(query.list().get(0).getEvaluations(), is(1)); assertThat(query.list().get(0).getDecisionDefinitionKey(), is(notNullValue())); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/api/history/testDmnWithPojo.dmn11.xml" }) public void shouldResolveByteArray_StandaloneDecisionInput() { // given ClockUtil.setCurrentTime(START_DATE); DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery() .decisionDefinitionKey("testDecision") .singleResult(); repositoryService.updateDecisionDefinitionHistoryTimeToLive(decisionDefinition.getId(), 5); // when decisionService.evaluateDecisionTableByKey("testDecision", Variables.createVariables() .putValue("pojo", new TestPojo("okay", 13.37))); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); HistoricDecisionInputInstanceEntity historicDecisionInputInstanceEntity = (HistoricDecisionInputInstanceEntity) historicDecisionInstance.getInputs().get(0); ByteArrayEntity byteArrayEntity = findByteArrayById(historicDecisionInputInstanceEntity.getByteArrayValueId()); Date removalTime = addDays(START_DATE, 5); // then assertThat(byteArrayEntity.getRemovalTime(), is(removalTime)); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldResolveHistoricDecisionOutputInstance() { // given testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .startEvent() .businessRuleTask() .camundaDecisionRef("dish-decision") .endEvent().done()); // when ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionOutputInstance> historicDecisionOutputInstances = historicDecisionInstance.getOutputs(); // then assertThat(historicDecisionOutputInstances.get(0).getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/api/history/testDmnWithPojo.dmn11.xml" }) public void shouldResolveByteArray_DecisionInput() { // given testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .startEvent() .businessRuleTask().camundaDecisionRef("testDecision") .endEvent().done()); // when ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("pojo", new TestPojo("okay", 13.37))); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); HistoricDecisionInputInstanceEntity historicDecisionInputInstanceEntity = (HistoricDecisionInputInstanceEntity) historicDecisionInstance.getInputs().get(0); ByteArrayEntity byteArrayEntity = findByteArrayById(historicDecisionInputInstanceEntity.getByteArrayValueId()); // then assertThat(byteArrayEntity.getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); }
@Test @Deployment public void shouldResolveByteArray_DecisionOutputLiteralExpression() { // given testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .startEvent() .businessRuleTask().camundaDecisionRef("testDecision") .endEvent().done()); // when ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("pojo", new TestPojo("okay", 13.37))); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); HistoricDecisionOutputInstanceEntity historicDecisionOutputInstanceEntity = (HistoricDecisionOutputInstanceEntity) historicDecisionInstance.getOutputs().get(0); ByteArrayEntity byteArrayEntity = findByteArrayById(historicDecisionOutputInstanceEntity.getByteArrayValueId()); // then assertThat(byteArrayEntity.getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/api/history/testDmnWithPojo.dmn11.xml" }) public void shouldResolveByteArray_StandaloneDecisionOutput() { // given ClockUtil.setCurrentTime(START_DATE); DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery() .decisionDefinitionKey("testDecision") .singleResult(); repositoryService.updateDecisionDefinitionHistoryTimeToLive(decisionDefinition.getId(), 5); // when decisionService.evaluateDecisionTableByKey("testDecision", Variables.createVariables() .putValue("pojo", new TestPojo("okay", 13.37))); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); HistoricDecisionOutputInstanceEntity historicDecisionOutputInstanceEntity = (HistoricDecisionOutputInstanceEntity) historicDecisionInstance.getOutputs().get(0); ByteArrayEntity byteArrayEntity = findByteArrayById(historicDecisionOutputInstanceEntity.getByteArrayValueId()); Date removalTime = addDays(START_DATE, 5); // then assertThat(byteArrayEntity.getRemovalTime(), is(removalTime)); }
@Test @Deployment( resources = { "org/camunda/bpm/engine/test/api/history/removaltime/HistoricRootProcessInstanceTest.shouldResolveByteArray_DecisionOutputLiteralExpression.dmn" }) public void shouldResolveByteArray_StandaloneDecisionOutputLiteralExpression() { // given ClockUtil.setCurrentTime(START_DATE); DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery() .decisionDefinitionKey("testDecision") .singleResult(); repositoryService.updateDecisionDefinitionHistoryTimeToLive(decisionDefinition.getId(), 5); // when decisionService.evaluateDecisionTableByKey("testDecision", Variables.createVariables() .putValue("pojo", new TestPojo("okay", 13.37))); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); HistoricDecisionOutputInstanceEntity historicDecisionOutputInstanceEntity = (HistoricDecisionOutputInstanceEntity) historicDecisionInstance.getOutputs().get(0); ByteArrayEntity byteArrayEntity = findByteArrayById(historicDecisionOutputInstanceEntity.getByteArrayValueId()); Date removalTime = addDays(START_DATE, 5); // then assertThat(byteArrayEntity.getRemovalTime(), is(removalTime)); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/api/history/testDmnWithPojo.dmn11.xml" }) public void shouldResolveByteArray_DecisionOutput() { // given testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .startEvent() .businessRuleTask().camundaDecisionRef("testDecision") .endEvent().done()); // when ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("pojo", new TestPojo("okay", 13.37))); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); HistoricDecisionOutputInstanceEntity historicDecisionOutputInstanceEntity = (HistoricDecisionOutputInstanceEntity) historicDecisionInstance.getOutputs().get(0); ByteArrayEntity byteArrayEntity = findByteArrayById(historicDecisionOutputInstanceEntity.getByteArrayValueId()); // then assertThat(byteArrayEntity.getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldResolveHistoricDecisionOutputInstance() { // given ClockUtil.setCurrentTime(START_DATE); testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .camundaHistoryTimeToLive(5) .startEvent() .businessRuleTask() .camundaDecisionRef("dish-decision") .endEvent().done()); // when runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionOutputInstance> historicDecisionOutputInstances = historicDecisionInstance.getOutputs(); Date removalTime = addDays(START_DATE, 5); // then assertThat(historicDecisionOutputInstances.get(0).getRemovalTime(), is(removalTime)); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/dmn/deployment/drdDish.dmn11.xml" }) public void shouldResolveStandaloneHistoricDecisionOutputInstance() { // given ClockUtil.setCurrentTime(START_DATE); testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .camundaHistoryTimeToLive(5) .startEvent() .businessRuleTask() .camundaDecisionRef("dish-decision") .endEvent().done()); // when runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("temperature", 32) .putValue("dayType", "Weekend")); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeOutputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); List<HistoricDecisionOutputInstance> historicDecisionOutputInstances = historicDecisionInstance.getOutputs(); Date removalTime = addDays(START_DATE, 5); // then assertThat(historicDecisionOutputInstances.get(0).getRemovalTime(), is(removalTime)); }
@Test @Deployment(resources = { "org/camunda/bpm/engine/test/api/history/testDmnWithPojo.dmn11.xml" }) public void shouldResolveByteArray_DecisionInput() { // given ClockUtil.setCurrentTime(START_DATE); testRule.deploy(Bpmn.createExecutableProcess(CALLING_PROCESS_KEY) .camundaHistoryTimeToLive(5) .startEvent() .businessRuleTask().camundaDecisionRef("testDecision") .endEvent().done()); // when ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(CALLING_PROCESS_KEY, Variables.createVariables() .putValue("pojo", new TestPojo("okay", 13.37))); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery() .rootDecisionInstancesOnly() .includeInputs() .singleResult(); // assume assertThat(historicDecisionInstance, notNullValue()); HistoricDecisionInputInstanceEntity historicDecisionInputInstanceEntity = (HistoricDecisionInputInstanceEntity) historicDecisionInstance.getInputs().get(0); ByteArrayEntity byteArrayEntity = findByteArrayById(historicDecisionInputInstanceEntity.getByteArrayValueId()); Date removalTime = addDays(START_DATE, 5); // then assertThat(byteArrayEntity.getRemovalTime(), is(removalTime)); }