[Test] public virtual void testEvaluateDecisionByKeyForAnyTenants() { DeploymentForTenant(TENANT_ONE, DMN_FILE); IDmnDecisionTableResult decisionResult = decisionService.EvaluateDecisionTableByKey(DECISION_DEFINITION_KEY).SetVariables(createVariables()).Evaluate(); AssertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
protected internal virtual void AssertThatDecisionHasExpectedResult(IDmnDecisionTableResult decisionResult) { Assert.That(decisionResult, Is.Not.Null); Assert.That(decisionResult.Count, Is.EqualTo(1)); string value = decisionResult.GetSingleResult().First().Value.ToString(); Assert.That(value, Is.EqualTo("ok")); }
protected internal virtual void AssertThatDecisionHasResult(IDmnDecisionTableResult decisionResult, object expectedValue) { Assert.That(decisionResult != null); Assert.That(decisionResult.Count, Is.EqualTo(1)); string value = decisionResult.GetSingleEntry <string>(); //.SingleResult.FirstEntry; Assert.That(value, Is.EqualTo(expectedValue)); }
[Test] public virtual void testEvaluateDecisionByKeyWithoutTenantId() { Deployment(DMN_FILE); IDmnDecisionTableResult decisionResult = decisionService.EvaluateDecisionTableByKey(DECISION_DEFINITION_KEY).SetVariables(createVariables()).DecisionDefinitionWithoutTenantId().Evaluate(); AssertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
[Test] public virtual void testEvaluateDecisionByKeyLatestVersionAndTenantId() { DeploymentForTenant(TENANT_ONE, DMN_FILE); DeploymentForTenant(TENANT_ONE, DMN_FILE_SECOND_VERSION); IDmnDecisionTableResult decisionResult = decisionService.EvaluateDecisionTableByKey(DECISION_DEFINITION_KEY).SetVariables(createVariables()).SetDecisionDefinitionTenantId(TENANT_ONE).Evaluate(); AssertThatDecisionHasResult(decisionResult, RESULT_OF_SECOND_VERSION); }
//public virtual DmnDecisionResultException decisionOutputHasMoreThanOneValue(DmnDecisionRuleResult ruleResult) //{ // return // new DmnDecisionResultException(ExceptionMessage("007", // "Unable to get single decision rule result entry as it has more than one entry '{}'", ruleResult)); //} public virtual DmnDecisionResultException decisionResultHasMoreThanOneOutput( IDmnDecisionTableResult decisionResult) { return (new DmnDecisionResultException(ExceptionMessage("008", string.Format( "Unable to get single decision rule result as it has more than one rule result '{0}'", decisionResult)))); }
[Test] public virtual void testEvaluateDecisionByKeyWithTenantIdDisabledTenantCheck() { processEngineConfiguration.SetTenantCheckEnabled(false); identityService.SetAuthentication("user", null, null); DeploymentForTenant(TENANT_ONE, DMN_FILE); IDmnDecisionTableResult decisionResult = decisionService.EvaluateDecisionTableByKey(DECISION_DEFINITION_KEY).SetDecisionDefinitionTenantId(TENANT_ONE).SetVariables(createVariables()).Evaluate(); AssertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
[Test] public virtual void testEvaluateDecisionByKeyWithAuthenticatedTenant() { identityService.SetAuthentication("user", null, new List <string>() { TENANT_ONE }); DeploymentForTenant(TENANT_ONE, DMN_FILE); DeploymentForTenant(TENANT_TWO, DMN_FILE_SECOND_VERSION); IDmnDecisionTableResult decisionResult = decisionService.EvaluateDecisionTableByKey(DECISION_DEFINITION_KEY).SetVariables(createVariables()).Evaluate(); AssertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
[Test] public virtual void testEvaluateDecisionByIdAuthenticatedTenant() { DeploymentForTenant(TENANT_ONE, DMN_FILE); IDecisionDefinition decisionDefinition = repositoryService.CreateDecisionDefinitionQuery().First(); identityService.SetAuthentication("user", null, new List <string>() { TENANT_ONE }); IDmnDecisionTableResult decisionResult = decisionService.EvaluateDecisionTableById(decisionDefinition.Id).SetVariables(createVariables()).Evaluate(); AssertThatDecisionHasResult(decisionResult, RESULT_OF_FIRST_VERSION); }
public virtual void evaluateDecisionByKey() { // given IDecisionDefinition decisionDefinition = engineRule.RepositoryService.CreateDecisionDefinitionQuery().First(); // when authRule.Init(scenario).WithUser("userId").BindResource("decisionDefinitionKey", DECISION_DEFINITION_KEY).Start(); IDmnDecisionTableResult decisionResult = engineRule.DecisionService.EvaluateDecisionTableByKey(decisionDefinition.Key, createVariables()); // then if (authRule.AssertScenario(scenario)) { AssertThatDecisionHasExpectedResult(decisionResult); } }