[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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 6
0
        //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);
        }
Ejemplo n.º 10
0
        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);
            }
        }