Esempio n. 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Deployment public void testAutoCompleteStageWithoutEntryCriteria()
        public virtual void testAutoCompleteStageWithoutEntryCriteria()
        {
            // given
            VariableMap variables      = Variables.createVariables().putValue("manualActivation", false);
            string      caseInstanceId = createCaseInstanceByKey("case", variables).Id;

            // then (1)
            CaseExecutionQuery query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");

            assertEquals(1, query.count());

            assertEquals(1, query.active().count());
            string activeTaskId = query.singleResult().Id;

            // when (2)
            // completing active task
            complete(activeTaskId);

            // then (2)
            // the stage should be completed
            CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1");

            assertNull(stage);

            CaseInstance caseInstance = (CaseInstance)queryCaseExecutionById(caseInstanceId);

            assertTrue(caseInstance.Completed);
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Deployment public void testAutoCompleteStageRequiredRepeatableTask()
        public virtual void testAutoCompleteStageRequiredRepeatableTask()
        {
            // given
            string caseInstanceId = createCaseInstance().Id;

            // then (1)
            CaseExecutionQuery query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");

            assertEquals(1, query.count());

            assertEquals(1, query.active().count());
            string activeTaskId = query.singleResult().Id;

            // when (2)
            complete(activeTaskId);

            // then (2)
            query = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1");
            assertEquals(1, query.count());
            assertEquals(1, query.active().count());

            CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1");

            assertNotNull(stage);
            assertTrue(stage.Active);

            CaseInstance caseInstance = (CaseInstance)queryCaseExecutionById(caseInstanceId);

            assertTrue(caseInstance.Active);
        }
Esempio n. 3
0
        public virtual void testWithMultipleEntryCriterias()
        {
            // given
            string caseInstanceId = caseService.withCaseDefinitionByKey("case").create().Id;

            CaseExecution milestone = caseService.createCaseExecutionQuery().activityId("PI_Milestone_1").singleResult();

            string humanTaskId = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_2").singleResult().Id;

            assertTrue(milestone.Available);

            // then
            assertNull(caseService.getVariable(caseInstanceId, "occur"));

            milestone = caseService.createCaseExecutionQuery().available().singleResult();

            assertTrue(milestone.Available);

            // when
            caseService.withCaseExecution(humanTaskId).complete();

            // then
            object occurVariable = caseService.getVariable(caseInstanceId, "occur");

            assertNotNull(occurVariable);
            assertTrue((bool?)occurVariable);

            milestone = caseService.createCaseExecutionQuery().available().singleResult();

            assertNull(milestone);

            CaseInstance caseInstance = caseService.createCaseInstanceQuery().caseInstanceId(caseInstanceId).singleResult();

            assertTrue(caseInstance.Active);
        }
Esempio n. 4
0
        protected internal virtual CaseInstance startTestCase(string input)
        {
            CaseInstance caseInstance = createCaseInstanceByKey("case", Variables.createVariables().putValue("input", input));

            results = DecisionResultTestListener.DecisionResult;
            assertNotNull(results);
            return(caseInstance);
        }
Esempio n. 5
0
        public virtual void testPojo()
        {
            // given
            VariableMap  variables    = Variables.createVariables().putValue("pojo", new TestPojo("okay", 13.37));
            CaseInstance caseInstance = createCaseInstanceByKey(CASE_KEY, variables);

            assertEquals("okay", getDecisionResult(caseInstance));
        }
Esempio n. 6
0
        public virtual void testCallDecisionWithRequiredDecisions()
        {
            // given
            CaseInstance caseInstance = createCaseInstanceByKey(CASE_KEY, Variables.createVariables().putValue("testDecision", "dish-decision").putValue("temperature", 32).putValue("dayType", "Weekend"));

            // then
            assertNull(queryCaseExecutionByActivityId(DECISION_TASK));
            assertEquals("Light salad", getDecisionResult(caseInstance));
        }
Esempio n. 7
0
        protected internal virtual CaseInstance createCaseInstance(string caseDefinitionKey)
        {
            CaseInstance caseInstance = caseService.withCaseDefinitionByKey(caseDefinitionKey).create();

            CaseExecution caseExecution = caseService.createCaseExecutionQuery().activityId(DECISION_TASK_ID).singleResult();

            caseService.withCaseExecution(caseExecution.Id).setVariable("status", "gold").manualStart();
            return(caseInstance);
        }
Esempio n. 8
0
        public virtual void testCallDecisionAsConstant()
        {
            // given
            CaseInstance caseInstance = createCaseInstanceByKey(CASE_KEY);

            // then
            assertNull(queryCaseExecutionByActivityId(DECISION_TASK));
            assertEquals("okay", getDecisionResult(caseInstance));
        }
Esempio n. 9
0
        public virtual void testCallDecisionAsExpressionStartsWithHash()
        {
            // given
            CaseInstance caseInstance = createCaseInstanceByKey(CASE_KEY, Variables.createVariables().putValue("testDecision", "testDecision"));

            // then
            assertNull(queryCaseExecutionByActivityId(DECISION_TASK));
            assertEquals("okay", getDecisionResult(caseInstance));
        }
Esempio n. 10
0
        public virtual void testEvaluateDecisionRefTenantIdExpression()
        {
            deployment(CMMN_EXPR);
            deploymentForTenant(TENANT_ONE, DMN_FILE);
            deploymentForTenant(TENANT_TWO, DMN_FILE_VERSION_TWO);

            CaseInstance caseInstance = createCaseInstance(CASE_DEFINITION_KEY);

            assertThat((string)caseService.getVariable(caseInstance.Id, "decisionVar"), @is(RESULT_OF_VERSION_ONE));
        }
Esempio n. 11
0
        public virtual void testEvaluateDecisionWithLatestBindingSameVersion()
        {
            deploymentForTenant(TENANT_ONE, CMMN_LATEST, DMN_FILE);
            deploymentForTenant(TENANT_TWO, CMMN_LATEST, DMN_FILE_VERSION_TWO);

            CaseInstance caseInstanceOne = createCaseInstance(CASE_DEFINITION_KEY, TENANT_ONE);
            CaseInstance caseInstanceTwo = createCaseInstance(CASE_DEFINITION_KEY, TENANT_TWO);

            assertThat((string)caseService.getVariable(caseInstanceOne.Id, "decisionVar"), @is(RESULT_OF_VERSION_ONE));
            assertThat((string)caseService.getVariable(caseInstanceTwo.Id, "decisionVar"), @is(RESULT_OF_VERSION_TWO));
        }
Esempio n. 12
0
        public virtual void testDefaultRequiredRuleEvaluatesToFalse()
        {
            CaseInstance caseInstance = caseService.createCaseInstanceByKey("case", Collections.singletonMap <string, object>("required", false));

            CaseExecution taskExecution = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1").singleResult();

            assertNotNull(taskExecution);
            assertFalse(taskExecution.Required);

            // completing manually should be allowed
            caseService.completeCaseExecution(caseInstance.Id);
        }
Esempio n. 13
0
        public virtual void testCallDecisionByDeployment()
        {
            // given
            string deploymentId = repositoryService.createDeployment().addClasspathResource(DECISION_NOT_OKAY_DMN).deploy().Id;

            CaseInstance caseInstance = createCaseInstanceByKey(CASE_KEY);

            // then
            assertNull(queryCaseExecutionByActivityId(DECISION_TASK));
            assertEquals("okay", getDecisionResult(caseInstance));

            repositoryService.deleteDeployment(deploymentId, true);
        }
Esempio n. 14
0
        public virtual void testCallDecisionByVersionAsExpressionStartsWithHash()
        {
            // given
            string deploymentId = repositoryService.createDeployment().addClasspathResource(DECISION_NOT_OKAY_DMN).deploy().Id;

            CaseInstance caseInstance = createCaseInstanceByKey(CASE_KEY, Variables.createVariables().putValue("myVersion", 2));

            // then
            assertNull(queryCaseExecutionByActivityId(DECISION_TASK));
            assertEquals("not okay", getDecisionResult(caseInstance));

            repositoryService.deleteDeployment(deploymentId, true);
        }
Esempio n. 15
0
        public static CaseInstanceDto fromCaseInstance(CaseInstance instance)
        {
            CaseInstanceDto result = new CaseInstanceDto();

            result.id = instance.Id;
            result.caseDefinitionId = instance.CaseDefinitionId;
            result.businessKey      = instance.BusinessKey;
            result.tenantId         = instance.TenantId;
            result.active           = instance.Active;
            result.completed        = instance.Completed;
            result.terminated       = instance.Terminated;

            return(result);
        }
Esempio n. 16
0
        public virtual void testCallDecisionWithLiteralExpression()
        {
            // given
            CaseInstance caseInstance = createCaseInstanceByKey(CASE_KEY, Variables.createVariables().putValue("testDecision", "decisionLiteralExpression").putValue("a", 2).putValue("b", 3));

            string decisionTaskId = queryCaseExecutionByActivityId(DECISION_TASK).Id;

            // when
            caseService.withCaseExecution(decisionTaskId).manualStart();

            // then
            assertNull(queryCaseExecutionByActivityId(DECISION_TASK));
            assertEquals(5, getDecisionResult(caseInstance));
        }
Esempio n. 17
0
        public virtual void testQueryDeleteVariableHistoryOperationOnCase()
        {
            // given
            CaseInstance caseInstance = caseService.createCaseInstanceByKey("oneTaskCase");

            caseService.setVariable(caseInstance.Id, "myVariable", 1);
            caseService.setVariable(caseInstance.Id, "myVariable", 2);
            caseService.setVariable(caseInstance.Id, "myVariable", 3);
            HistoricVariableInstance variableInstance = historyService.createHistoricVariableInstanceQuery().singleResult();

            // when
            historyService.deleteHistoricVariableInstance(variableInstance.Id);

            // then
            verifyNoUserOperationLogged();
        }
Esempio n. 18
0
            public void execute(ProcessEngine engine, string scenarioName)
            {
                CaseService  caseService    = engine.CaseService;
                CaseInstance caseInstance   = caseService.createCaseInstanceByKey("case", scenarioName);
                string       caseInstanceId = caseInstance.Id;

                CaseExecutionQuery query = caseService.createCaseExecutionQuery().caseInstanceId(caseInstanceId);

                string firstHumanTaskId = query.activityId("PI_HumanTask_1").singleResult().Id;

                caseService.manuallyStartCaseExecution(firstHumanTaskId);
                caseService.completeCaseExecution(firstHumanTaskId);

                string secondHumanTaskId = query.activityId("PI_HumanTask_2").singleResult().Id;

                caseService.manuallyStartCaseExecution(secondHumanTaskId);
            }
Esempio n. 19
0
        public virtual void testWithoutEntryCriterias()
        {
            // given

            // when
            string caseInstanceId = caseService.withCaseDefinitionByKey("case").create().Id;

            // then
            CaseInstance caseInstance = caseService.createCaseInstanceQuery().caseInstanceId(caseInstanceId).singleResult();

            assertTrue(caseInstance.Completed);

            object occurVariable = caseService.getVariable(caseInstanceId, "occur");

            assertNotNull(occurVariable);
            assertTrue((bool?)occurVariable);
        }
Esempio n. 20
0
        public virtual void testRequiredRule()
        {
            CaseInstance caseInstance = createCaseInstanceByKey("case", Variables.createVariables().putValue("required", true));

            CaseExecution taskExecution = queryCaseExecutionByActivityId("PI_HumanTask_1");

            assertNotNull(taskExecution);
            assertTrue(taskExecution.Required);

            try
            {
                caseService.completeCaseExecution(caseInstance.Id);
                fail("completing the containing stage should not be allowed");
            }
            catch (NotAllowedException)
            {
                // happy path
            }
        }
Esempio n. 21
0
        public virtual void testDefaultRequiredRuleEvaluatesToTrue()
        {
            CaseInstance caseInstance = caseService.createCaseInstanceByKey("case", Collections.singletonMap <string, object>("required", true));

            CaseExecution taskExecution = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1").singleResult();

            assertNotNull(taskExecution);
            assertTrue(taskExecution.Required);

            try
            {
                caseService.completeCaseExecution(caseInstance.Id);
                fail("completing the containing stage should not be allowed");
            }
            catch (NotAllowedException)
            {
                // happy path
            }
        }
Esempio n. 22
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Deployment public void testAutoCompleteStage()
        public virtual void testAutoCompleteStage()
        {
            // given
            string caseInstanceId = createCaseInstance().Id;

            string humanTask1 = queryCaseExecutionByActivityId("PI_HumanTask_1").Id;

            // when
            complete(humanTask1);

            // then
            CaseExecution stage = queryCaseExecutionByActivityId("PI_Stage_1");

            assertNull(stage);

            CaseInstance caseInstance = (CaseInstance)queryCaseExecutionById(caseInstanceId);

            assertTrue(caseInstance.Completed);
        }
Esempio n. 23
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test @OperateOnDeployment("clientDeployment") public void testResolveBeanInCmmnCase()
        public virtual void testResolveBeanInCmmnCase()
        {
            CaseInstance caseInstance = caseService.withCaseDefinitionByKey("callingCase").create();

            CaseExecution caseTaskInstance = caseService.createCaseExecutionQuery().activityId("PI_CaseTask_1").singleResult();

            CaseExecution calledCaseHumanTaskInstance = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1").singleResult();

            Task calledCaseTask = taskService.createTaskQuery().singleResult();

            taskService.complete(calledCaseTask.Id, Variables.createVariables().putValue("var", "value"));

            CaseInstance calledInstance = caseService.createCaseInstanceQuery().caseDefinitionKey("calledCase").singleResult();

            caseService.withCaseExecution(calledInstance.Id).close();

            // then
            string variable = (string)caseService.getVariable(caseInstance.Id, "var");

            Assert.assertEquals("valuevalue", variable);
        }
Esempio n. 24
0
        public virtual void testCompleteInstance()
        {
            // given

            // when
            string firstHumanTaskId = rule.caseExecutionQuery().activityId("PI_HumanTask_1").singleResult().Id;

            caseService.manuallyStartCaseExecution(firstHumanTaskId);
            caseService.completeCaseExecution(firstHumanTaskId);

            string secondHumanTaskId = rule.caseExecutionQuery().activityId("PI_HumanTask_2").singleResult().Id;

            caseService.manuallyStartCaseExecution(secondHumanTaskId);
            caseService.completeCaseExecution(secondHumanTaskId);

            string secondStageId = rule.caseExecutionQuery().activityId("PI_Stage_2").singleResult().Id;

            caseService.manuallyStartCaseExecution(secondStageId);

            firstHumanTaskId = rule.caseExecutionQuery().activityId("PI_HumanTask_1").singleResult().Id;
            caseService.manuallyStartCaseExecution(firstHumanTaskId);
            caseService.completeCaseExecution(firstHumanTaskId);

            secondHumanTaskId = rule.caseExecutionQuery().activityId("PI_HumanTask_2").singleResult().Id;
            caseService.manuallyStartCaseExecution(secondHumanTaskId);
            caseService.completeCaseExecution(secondHumanTaskId);

            // then
            CaseInstance caseInstance = rule.caseInstance();

            assertNotNull(caseInstance);
            assertTrue(caseInstance.Completed);

            caseService.closeCaseInstance(caseInstance.Id);
            assertNull(rule.processInstanceQuery().singleResult());
        }
Esempio n. 25
0
 protected internal virtual object getDecisionResult(CaseInstance caseInstance)
 {
     return(caseService.getVariable(caseInstance.Id, "result"));
 }