public DecisionDefinition call() throws Exception { return repositoryService .createDecisionDefinitionQuery() .decisionDefinitionKey(decisionDefinitionKey) .singleResult(); } });
protected String evaluateDecisionTable(String tenantId) { String decisionDefinitionId; if (tenantId == null) { decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().singleResult().getId(); } else { decisionDefinitionId = repositoryService.createDecisionDefinitionQuery() .tenantIdIn(tenantId).singleResult().getId(); } VariableMap variables = Variables.createVariables().putValue("status", "bronze"); decisionService.evaluateDecisionTableById(decisionDefinitionId, variables); return decisionDefinitionId; }
@Deployment(resources = { "org/camunda/bpm/engine/test/repository/one.dmn" }) public void testGetDecisionModel() throws Exception { DecisionDefinitionQuery query = repositoryService.createDecisionDefinitionQuery(); DecisionDefinition decisionDefinition = query.singleResult(); String decisionDefinitionId = decisionDefinition.getId(); InputStream decisionModel = repositoryService.getDecisionModel(decisionDefinitionId); assertNotNull(decisionModel); byte[] readInputStream = IoUtil.readInputStream(decisionModel, "decisionModel"); String model = new String(readInputStream, "UTF-8"); assertTrue(model.contains("<decision id=\"one\" name=\"One\">")); IoUtil.closeSilently(decisionModel); }
@Deployment @Test public void longDecisionDefinitionKey() { DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); assertFalse(decisionDefinition.getId().startsWith("o123456789")); assertEquals("o123456789o123456789o123456789o123456789o123456789o123456789o123456789", decisionDefinition.getKey()); }
protected void evaluateDecisionInstanceForTenant(String tenant) { String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery() .tenantIdIn(tenant) .singleResult() .getId(); VariableMap variables = Variables.createVariables().putValue("status", "bronze"); decisionService.evaluateDecisionTableById(decisionDefinitionId, variables); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDeleteHistoricDecisionInstances() { HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY); startProcessInstanceAndEvaluateDecision(); assertThat(query.count(), is(1L)); DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); historyService.deleteHistoricDecisionInstanceByDefinitionId(decisionDefinition.getId()); assertThat(query.count(), is(0L)); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/repository/versionTag.dmn"}) public void testParsingVersionTagDecisionDefinition() { DecisionDefinition decision = repositoryService .createDecisionDefinitionQuery() .orderByDecisionDefinitionVersion() .asc() .singleResult(); assertEquals("1.0.0", decision.getVersionTag()); }
public void testEvaluateDecisionByIdAuthenticatedTenant() { deploymentForTenant(TENANT_ONE, DMN_FILE); DecisionDefinition decisionDefinition = repositoryService .createDecisionDefinitionQuery() .singleResult(); identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); DmnDecisionTableResult decisionResult = decisionService.evaluateDecisionTableById(decisionDefinition.getId()) .variables(createVariables()) .evaluate(); assertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
public void testEvaluateDecisionByIdAuthenticatedTenant() { deploymentForTenant(TENANT_ONE, DMN_FILE); DecisionDefinition decisionDefinition = repositoryService .createDecisionDefinitionQuery() .singleResult(); identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); DmnDecisionResult decisionResult = decisionService.evaluateDecisionById(decisionDefinition.getId()) .variables(createVariables()) .evaluate(); assertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryByDecisionDefinitionId() { String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery() .decisionDefinitionKey(DECISION_DEFINITION_KEY).singleResult().getId(); startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.decisionDefinitionId(decisionDefinitionId).count(), is(1L)); assertThat(query.decisionDefinitionId("other id").count(), is(0L)); }
@Before public void setUp() { processEngineConfiguration = engineRule.getProcessEngineConfiguration(); repositoryService = engineRule.getRepositoryService(); identityService = engineRule.getIdentityService(); testRule.deployForTenant(TENANT_ONE, DMN_MODEL); decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().singleResult().getId(); }
@Deployment(resources = DMN_DECISION_TABLE) @Test public void evaluateDecisionTableByKeyWithNonExistingVersion() { DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); thrown.expect(NotFoundException.class); thrown.expectMessage("no decision definition deployed with key = 'decision' and version = '42'"); decisionService.evaluateDecisionTableByKeyAndVersion(decisionDefinition.getKey(), 42, null); }
@Deployment(resources = { "org/camunda/bpm/engine/test/repository/one.dmn" }) public void testGetDecisionDefinition() { DecisionDefinitionQuery query = repositoryService.createDecisionDefinitionQuery(); DecisionDefinition decisionDefinition = query.singleResult(); String decisionDefinitionId = decisionDefinition.getId(); DecisionDefinition definition = repositoryService.getDecisionDefinition(decisionDefinitionId); assertNotNull(definition); assertEquals(decisionDefinitionId, definition.getId()); }
@Deployment(resources = DMN_DECISION_TABLE) @Test public void evaluateDecisionTableById() { DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); DmnDecisionTableResult decisionResult = decisionService.evaluateDecisionTableById(decisionDefinition.getId(), createVariables()); assertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
public void testFailToEvaluateDecisionByIdWithTenantId() { deploymentForTenant(TENANT_ONE, DMN_FILE); DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); try { decisionService.evaluateDecisionById(decisionDefinition.getId()) .variables(createVariables()) .decisionDefinitionTenantId(TENANT_ONE) .evaluate(); fail("BadUserRequestException exception"); } catch(BadUserRequestException e) { assertThat(e.getMessage(), containsString("Cannot specify a tenant-id")); } }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/repository/versionTag.dmn", "org/camunda/bpm/engine/test/api/repository/versionTagHigher.dmn" }) @Test public void testQueryByVersionTag() { DecisionDefinition decisionDefinition = repositoryService .createDecisionDefinitionQuery() .versionTag("1.0.0") .singleResult(); assertEquals("versionTag", decisionDefinition.getKey()); assertEquals("1.0.0", decisionDefinition.getVersionTag()); }
@Test public void testDeployDmnModelInstance() throws Exception { // given DmnModelInstance dmnModelInstance = createDmnModelInstance(); // when testRule.deploy(repositoryService.createDeployment().addModelInstance("foo.dmn", dmnModelInstance)); // then assertNotNull(repositoryService.createDecisionDefinitionQuery() .decisionDefinitionResourceName("foo.dmn").singleResult()); }
@Deployment(resources = DMN_DECISION_LITERAL_EXPRESSION) @Test public void evaluateDecisionById() { DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); DmnDecisionResult decisionResult = decisionService .evaluateDecisionById(decisionDefinition.getId()) .variables(createVariables()) .evaluate(); assertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
@Deployment(resources = DMN_DECISION_LITERAL_EXPRESSION) @Test public void evaluateDecisionByKeyWithNonExistingVersion() { DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); thrown.expect(NotFoundException.class); thrown.expectMessage("no decision definition deployed with key = 'decision' and version = '42'"); decisionService .evaluateDecisionByKey(decisionDefinition.getKey()) .version(42) .evaluate(); }
@Deployment( resources = DMN_CHECK_ORDER_RESOURCE ) @Test public void noDrdForSingleDecisionDeployment() { // when the DMN file contains only a single decision definition assertEquals(1, repositoryService.createDecisionDefinitionQuery().count()); // then no decision requirements definition should be created assertEquals(0, repositoryService.createDecisionRequirementsDefinitionQuery().count()); // and the decision should not be linked to a decision requirements definition DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); assertNull(decisionDefinition.getDecisionRequirementsDefinitionId()); assertNull(decisionDefinition.getDecisionRequirementsDefinitionKey()); }