Exemple #1
0
        public virtual void testDecisionInstancePropertiesOfDrdDecision()
        {
            decisionService.evaluateDecisionTableByKey("dish-decision").variables(Variables.createVariables().putValue("temperature", 21).putValue("dayType", "Weekend")).evaluate();

            DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult();

            HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery();

            assertThat(query.count(), @is(3L));

            HistoricDecisionInstance rootHistoricDecisionInstance      = query.decisionDefinitionKey("dish-decision").singleResult();
            HistoricDecisionInstance requiredHistoricDecisionInstance1 = query.decisionDefinitionKey("season").singleResult();
            HistoricDecisionInstance requiredHistoricDecisionInstance2 = query.decisionDefinitionKey("guestCount").singleResult();

            assertThat(rootHistoricDecisionInstance.RootDecisionInstanceId, @is(nullValue()));
            assertThat(rootHistoricDecisionInstance.DecisionRequirementsDefinitionId, @is(decisionRequirementsDefinition.Id));
            assertThat(rootHistoricDecisionInstance.DecisionRequirementsDefinitionKey, @is(decisionRequirementsDefinition.Key));

            assertThat(requiredHistoricDecisionInstance1.RootDecisionInstanceId, @is(rootHistoricDecisionInstance.Id));
            assertThat(requiredHistoricDecisionInstance1.DecisionRequirementsDefinitionId, @is(decisionRequirementsDefinition.Id));
            assertThat(requiredHistoricDecisionInstance1.DecisionRequirementsDefinitionKey, @is(decisionRequirementsDefinition.Key));

            assertThat(requiredHistoricDecisionInstance2.RootDecisionInstanceId, @is(rootHistoricDecisionInstance.Id));
            assertThat(requiredHistoricDecisionInstance2.DecisionRequirementsDefinitionId, @is(decisionRequirementsDefinition.Id));
            assertThat(requiredHistoricDecisionInstance2.DecisionRequirementsDefinitionKey, @is(decisionRequirementsDefinition.Key));
        }
Exemple #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testDeployAndGetDRDDefinition() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testDeployAndGetDRDDefinition()
        {
            // when decision requirement graph is deployed
            DeploymentWithDefinitions deployment = testRule.deploy(DRD_SCORE_RESOURCE);

            // then deployment contains definitions
            IList <DecisionDefinition> deployedDecisionDefinitions = deployment.DeployedDecisionDefinitions;

            assertEquals(2, deployedDecisionDefinitions.Count);

            IList <DecisionRequirementsDefinition> deployedDecisionRequirementsDefinitions = deployment.DeployedDecisionRequirementsDefinitions;

            assertEquals(1, deployedDecisionRequirementsDefinitions.Count);

            assertNull(deployment.DeployedProcessDefinitions);
            assertNull(deployment.DeployedCaseDefinitions);

            // and persisted definitions are equal to deployed definitions
            DecisionRequirementsDefinition persistedDecisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().decisionRequirementsDefinitionResourceName(DRD_SCORE_RESOURCE).singleResult();

            assertEquals(persistedDecisionRequirementsDefinition.Id, deployedDecisionRequirementsDefinitions[0].Id);

            IList <DecisionDefinition> persistedDecisionDefinitions = repositoryService.createDecisionDefinitionQuery().decisionDefinitionResourceName(DRD_SCORE_RESOURCE).list();

            assertEquals(deployedDecisionDefinitions.Count, persistedDecisionDefinitions.Count);
        }
Exemple #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void deployDecisionIndependentFromDrd()
        public virtual void deployDecisionIndependentFromDrd()
        {
            string deploymentIdDecision = testRule.deploy(DMN_SCORE_RESOURCE).Id;
            string deploymentIdDrd      = testRule.deploy(DRD_SCORE_RESOURCE).Id;

            // there should be one decision requirements definition
            DecisionRequirementsDefinitionQuery query = repositoryService.createDecisionRequirementsDefinitionQuery();

            assertEquals(1, query.count());

            DecisionRequirementsDefinition decisionRequirementsDefinition = query.singleResult();

            assertEquals(1, decisionRequirementsDefinition.Version);
            assertEquals(deploymentIdDrd, decisionRequirementsDefinition.DeploymentId);

            // and two deployed decisions with different versions
            IList <DecisionDefinition> decisions = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey("score-decision").orderByDecisionDefinitionVersion().asc().list();

            assertEquals(2, decisions.Count);

            DecisionDefinition firstDecision = decisions[0];

            assertEquals(1, firstDecision.Version);
            assertEquals(deploymentIdDecision, firstDecision.DeploymentId);
            assertNull(firstDecision.DecisionRequirementsDefinitionId);

            DecisionDefinition secondDecision = decisions[1];

            assertEquals(2, secondDecision.Version);
            assertEquals(deploymentIdDrd, secondDecision.DeploymentId);
            assertEquals(decisionRequirementsDefinition.Id, secondDecision.DecisionRequirementsDefinitionId);
        }
Exemple #4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUpRuntime() throws java.io.FileNotFoundException, java.net.URISyntaxException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void setUpRuntime()
        {
            DecisionRequirementsDefinition mockDecisionRequirementsDefinition = MockProvider.createMockDecisionRequirementsDefinition();

            UpRuntimeData       = mockDecisionRequirementsDefinition;
            decisionServiceMock = mock(typeof(DecisionService));
            when(processEngine.DecisionService).thenReturn(decisionServiceMock);
        }
Exemple #5
0
 protected internal virtual void createDefaultAuthorizations(DecisionRequirementsDefinition decisionRequirementsDefinition)
 {
     if (AuthorizationEnabled)
     {
         ResourceAuthorizationProvider provider       = ResourceAuthorizationProvider;
         AuthorizationEntity[]         authorizations = provider.newDecisionRequirementsDefinition(decisionRequirementsDefinition);
         saveDefaultAuthorizations(authorizations);
     }
 }
Exemple #6
0
        public virtual void testQueryByDecisionRequirementsDefinitionId()
        {
            decisionService.evaluateDecisionTableByKey(DISH_DECISION).variables(Variables.createVariables().putValue("temperature", 21).putValue("dayType", "Weekend")).evaluate();

            DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult();

            HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery();

            assertThat(query.decisionRequirementsDefinitionId("notExisting").count(), @is(0L));
            assertThat(query.decisionRequirementsDefinitionId(decisionRequirementsDefinition.Id).count(), @is(3L));
        }
Exemple #7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void decisionRequirementsDefinitionRetrievalByKeyAndTenantId() throws java.io.FileNotFoundException, java.net.URISyntaxException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void decisionRequirementsDefinitionRetrievalByKeyAndTenantId()
        {
            DecisionRequirementsDefinition mockDefinition = MockProvider.mockDecisionRequirementsDefinition().tenantId(MockProvider.EXAMPLE_TENANT_ID).build();

            UpRuntimeData = mockDefinition;

            given().pathParam("key", MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_KEY).pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID).then().expect().statusCode(Status.OK.StatusCode).body("id", equalTo(MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_ID)).body("key", equalTo(MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_KEY)).body("category", equalTo(MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_CATEGORY)).body("name", equalTo(MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_NAME)).body("deploymentId", equalTo(MockProvider.EXAMPLE_DEPLOYMENT_ID)).body("version", equalTo(MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_VERSION)).body("resource", equalTo(MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_RESOURCE_NAME)).body("tenantId", equalTo(MockProvider.EXAMPLE_TENANT_ID)).when().get(SINGLE_DECISION_REQUIREMENTS_DEFINITION_KEY_AND_TENANT_ID_URL);

            verify(decisionRequirementsDefinitionQueryMock).tenantIdIn(MockProvider.EXAMPLE_TENANT_ID);
            verify(repositoryServiceMock).getDecisionRequirementsDefinition(MockProvider.EXAMPLE_DECISION_REQUIREMENTS_DEFINITION_ID);
        }
Exemple #8
0
        protected internal virtual void checkReadDecisionRequirementsDefinition(HistoricDecisionInstanceStatisticsQueryImpl query)
        {
            CommandContext commandContext = CommandContext;

            if (AuthorizationEnabled && CurrentAuthentication != null && commandContext.AuthorizationCheckEnabled)
            {
                string decisionRequirementsDefinitionId   = query.DecisionRequirementsDefinitionId;
                DecisionRequirementsDefinition definition = DecisionRequirementsDefinitionManager.findDecisionRequirementsDefinitionById(decisionRequirementsDefinitionId);
                ensureNotNull("no deployed decision requirements definition found with id '" + decisionRequirementsDefinitionId + "'", "decisionRequirementsDefinition", definition);
                AuthorizationManager.checkAuthorization(READ, DECISION_REQUIREMENTS_DEFINITION, definition.Key);
            }
        }
Exemple #9
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET:
//ORIGINAL LINE: public java.io.InputStream execute(final org.camunda.bpm.engine.impl.interceptor.CommandContext commandContext)
        public virtual Stream execute(CommandContext commandContext)
        {
            DecisionRequirementsDefinition decisionRequirementsDefinition = (new GetDeploymentDecisionRequirementsDefinitionCmd(decisionRequirementsDefinitionId)).execute(commandContext);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String deploymentId = decisionRequirementsDefinition.getDeploymentId();
            string deploymentId = decisionRequirementsDefinition.DeploymentId;
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String resourceName = decisionRequirementsDefinition.getResourceName();
            string resourceName = decisionRequirementsDefinition.ResourceName;

            return(commandContext.runWithoutAuthorization(new CallableAnonymousInnerClass(this, commandContext, deploymentId, resourceName)));
        }
Exemple #10
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp()
        public virtual void setUp()
        {
            testHelper.deploy(DISH_DRG_DMN);
            decisionService   = engineRule.DecisionService;
            historyService    = engineRule.HistoryService;
            repositoryService = engineRule.RepositoryService;

            authRule.createUserAndGroup("userId", "groupId");

            decisionService.evaluateDecisionTableByKey("dish-decision").variables(Variables.createVariables().putValue("temperature", 21).putValue("dayType", "Weekend")).evaluate();

            decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult();
        }
Exemple #11
0
        public virtual void getDecisionRequirementsDefinition()
        {
            string decisionRequirementsDefinitionId = repositoryService.createDecisionRequirementsDefinitionQuery().decisionRequirementsDefinitionKey(DEFINITION_KEY).singleResult().Id;

            // when
            authRule.init(scenario).withUser("userId").bindResource("decisionRequirementsDefinitionKey", DEFINITION_KEY).start();

            DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.getDecisionRequirementsDefinition(decisionRequirementsDefinitionId);

            if (authRule.assertScenario(scenario))
            {
                assertNotNull(decisionRequirementsDefinition);
            }
        }
Exemple #12
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void queryByLatestWithoutTenantId()
        public virtual void queryByLatestWithoutTenantId()
        {
            // deploy a second version without tenant id
            testRule.deploy(DMN);

            DecisionRequirementsDefinitionQuery query = repositoryService.createDecisionRequirementsDefinitionQuery().decisionRequirementsDefinitionKey(DECISION_REQUIREMENTS_DEFINITION_KEY).latestVersion().withoutTenantId();

            assertThat(query.count(), @is(1L));

            DecisionRequirementsDefinition DecisionRequirementsDefinition = query.singleResult();

            assertThat(DecisionRequirementsDefinition.TenantId, @is(nullValue()));
            assertThat(DecisionRequirementsDefinition.Version, @is(2));
        }
Exemple #13
0
        public virtual DecisionRequirementsDefinitionResource getDecisionRequirementsDefinitionByKey(string decisionRequirementsDefinitionKey)
        {
            DecisionRequirementsDefinition decisionRequirementsDefinition = ProcessEngine.RepositoryService.createDecisionRequirementsDefinitionQuery().decisionRequirementsDefinitionKey(decisionRequirementsDefinitionKey).withoutTenantId().latestVersion().singleResult();

            if (decisionRequirementsDefinition == null)
            {
                string errorMessage = string.Format("No matching decision requirements definition with key: {0} and no tenant-id", decisionRequirementsDefinitionKey);
                throw new RestException(Status.NOT_FOUND, errorMessage);
            }
            else
            {
                return(getDecisionRequirementsDefinitionById(decisionRequirementsDefinition.Id));
            }
        }
Exemple #14
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void queryByLatestWithTenantId()
        public virtual void queryByLatestWithTenantId()
        {
            // deploy a second version for tenant one
            testRule.deployForTenant(TENANT_ONE, DMN);

            DecisionRequirementsDefinitionQuery query = repositoryService.createDecisionRequirementsDefinitionQuery().decisionRequirementsDefinitionKey(DECISION_REQUIREMENTS_DEFINITION_KEY).latestVersion().tenantIdIn(TENANT_ONE);

            assertThat(query.count(), @is(1L));

            DecisionRequirementsDefinition DecisionRequirementsDefinition = query.singleResult();

            assertThat(DecisionRequirementsDefinition.TenantId, @is(TENANT_ONE));
            assertThat(DecisionRequirementsDefinition.Version, @is(2));

            query = repositoryService.createDecisionRequirementsDefinitionQuery().decisionRequirementsDefinitionKey(DECISION_REQUIREMENTS_DEFINITION_KEY).latestVersion().tenantIdIn(TENANT_TWO);

            assertThat(query.count(), @is(1L));

            DecisionRequirementsDefinition = query.singleResult();
            assertThat(DecisionRequirementsDefinition.TenantId, @is(TENANT_TWO));
            assertThat(DecisionRequirementsDefinition.Version, @is(1));
        }
Exemple #15
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void drdDeployment()
        public virtual void drdDeployment()
        {
            string deploymentId = testRule.deploy(DRD_SCORE_RESOURCE).Id;

            // there should be one decision requirements definition
            DecisionRequirementsDefinitionQuery query = repositoryService.createDecisionRequirementsDefinitionQuery();

            assertEquals(1, query.count());

            DecisionRequirementsDefinition decisionRequirementsDefinition = query.singleResult();

            assertTrue(decisionRequirementsDefinition.Id.StartsWith("score:1:", StringComparison.Ordinal));
            assertEquals("score", decisionRequirementsDefinition.Key);
            assertEquals("Score", decisionRequirementsDefinition.Name);
            assertEquals("test-drd-1", decisionRequirementsDefinition.Category);
            assertEquals(1, decisionRequirementsDefinition.Version);
            assertEquals(DRD_SCORE_RESOURCE, decisionRequirementsDefinition.ResourceName);
            assertEquals(deploymentId, decisionRequirementsDefinition.DeploymentId);
            assertNull(decisionRequirementsDefinition.DiagramResourceName);

            // both decisions should have a reference to the decision requirements definition
            IList <DecisionDefinition> decisions = repositoryService.createDecisionDefinitionQuery().orderByDecisionDefinitionKey().asc().list();

            assertEquals(2, decisions.Count);

            DecisionDefinition firstDecision = decisions[0];

            assertEquals("score-decision", firstDecision.Key);
            assertEquals(decisionRequirementsDefinition.Id, firstDecision.DecisionRequirementsDefinitionId);
            assertEquals("score", firstDecision.DecisionRequirementsDefinitionKey);

            DecisionDefinition secondDecision = decisions[1];

            assertEquals("score-result", secondDecision.Key);
            assertEquals(decisionRequirementsDefinition.Id, secondDecision.DecisionRequirementsDefinitionId);
            assertEquals("score", secondDecision.DecisionRequirementsDefinitionKey);
        }
Exemple #16
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUpRuntime()
        public virtual void setUpRuntime()
        {
            DecisionRequirementsDefinition mockDecisionRequirementsDefinition = MockProvider.createMockDecisionRequirementsDefinition();

            mockedQuery = createMockQuery(Collections.singletonList(mockDecisionRequirementsDefinition));
        }
Exemple #17
0
 public virtual AuthorizationEntity[] newDecisionRequirementsDefinition(DecisionRequirementsDefinition decisionRequirementsDefinition)
 {
     // no default authorizations on decision requirements definitions.
     return(null);
 }