예제 #1
0
        public virtual void testNotNullAndNullDeploymentSourceShouldDeployNewVersion()
        {
            // given

            string key  = "process";
            string name = "my-deployment";

            BpmnModelInstance model = Bpmn.createExecutableProcess(key).done();

            ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery().processDefinitionKey(key);

            DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery().deploymentName(name);

            // when

            ProcessApplicationDeployment deployment1 = repositoryService.createDeployment(processApplication.Reference).name(name).source("my-source1").addModelInstance("process.bpmn", model).enableDuplicateFiltering(true).deploy();

            assertEquals(1, processDefinitionQuery.count());
            assertEquals(1, deploymentQuery.count());

            ProcessApplicationDeployment deployment2 = repositoryService.createDeployment(processApplication.Reference).name(name).source(null).addModelInstance("process.bpmn", model).enableDuplicateFiltering(true).deploy();

            // then

            assertEquals(2, processDefinitionQuery.count());
            assertEquals(2, deploymentQuery.count());

            deleteDeployments(deployment1, deployment2);
        }
예제 #2
0
        public virtual void testQueryByTenantId()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().tenantIdIn(TENANT_ONE);

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

            query = repositoryService.createDeploymentQuery().tenantIdIn(TENANT_TWO);

            assertThat(query.count(), @is(1L));
        }
예제 #3
0
        public virtual void testQueryByNameLike()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().deploymentNameLike("%camunda%");

            assertEquals(2, query.list().size());
            assertEquals(2, query.count());

            query = repositoryService.createDeploymentQuery().deploymentNameLike("%two\\_%");
            assertEquals(1, query.list().size());
            assertEquals(1, query.count());
            assertEquals("org/camunda/bpm/engine/test/repository/two_.bpmn20.xml", query.singleResult().Name);
        }
예제 #4
0
        public virtual void testQueryByTenantIdsIncludeDeploymentsWithoutTenantId()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().tenantIdIn(TENANT_ONE).includeDeploymentsWithoutTenantId();

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

            query = repositoryService.createDeploymentQuery().tenantIdIn(TENANT_TWO).includeDeploymentsWithoutTenantId();

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

            query = repositoryService.createDeploymentQuery().tenantIdIn(TENANT_ONE, TENANT_TWO).includeDeploymentsWithoutTenantId();

            assertThat(query.count(), @is(3L));
        }
예제 #5
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void testNoRedeploymentForSpringContainerRestart() throws Exception
        public virtual void testNoRedeploymentForSpringContainerRestart()
        {
            createAppContext(CTX_PATH);
            DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery();

            assertEquals(1, deploymentQuery.count());
            ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();

            assertEquals(3, processDefinitionQuery.count());

            // Creating a new app context with same resources doesn't lead to more deployments
            ((AbstractXmlApplicationContext)applicationContext).destroy();
            applicationContext = new ClassPathXmlApplicationContext(CTX_PATH);
            assertEquals(1, deploymentQuery.count());
            assertEquals(3, processDefinitionQuery.count());
        }
예제 #6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void dmnDeploymentWithDmnSuffix()
        public virtual void dmnDeploymentWithDmnSuffix()
        {
            string deploymentId = testRule.deploy(DMN_CHECK_ORDER_RESOURCE_DMN_SUFFIX).Id;

            // there should be one deployment
            DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery();

            assertEquals(1, deploymentQuery.count());

            // there should be one case definition
            DecisionDefinitionQuery query = repositoryService.createDecisionDefinitionQuery();

            assertEquals(1, query.count());

            DecisionDefinition decisionDefinition = query.singleResult();

            assertTrue(decisionDefinition.Id.StartsWith("decision:1:", StringComparison.Ordinal));
            assertEquals("http://camunda.org/schema/1.0/dmn", decisionDefinition.Category);
            assertEquals("CheckOrder", decisionDefinition.Name);
            assertEquals("decision", decisionDefinition.Key);
            assertEquals(1, decisionDefinition.Version);
            assertEquals(DMN_CHECK_ORDER_RESOURCE_DMN_SUFFIX, decisionDefinition.ResourceName);
            assertEquals(deploymentId, decisionDefinition.DeploymentId);
            assertNull(decisionDefinition.DiagramResourceName);
        }
예제 #7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void dmnDeploymentWithDecisionLiteralExpression()
        public virtual void dmnDeploymentWithDecisionLiteralExpression()
        {
            string deploymentId = testRule.deploy(DMN_DECISION_LITERAL_EXPRESSION).Id;

            // there should be decision deployment
            DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery();

            assertEquals(1, deploymentQuery.count());

            // there should be one decision definition
            DecisionDefinitionQuery query = repositoryService.createDecisionDefinitionQuery();

            assertEquals(1, query.count());

            DecisionDefinition decisionDefinition = query.singleResult();

            assertTrue(decisionDefinition.Id.StartsWith("decisionLiteralExpression:1:", StringComparison.Ordinal));
            assertEquals("http://camunda.org/schema/1.0/dmn", decisionDefinition.Category);
            assertEquals("decisionLiteralExpression", decisionDefinition.Key);
            assertEquals("Decision with Literal Expression", decisionDefinition.Name);
            assertEquals(1, decisionDefinition.Version);
            assertEquals(DMN_DECISION_LITERAL_EXPRESSION, decisionDefinition.ResourceName);
            assertEquals(deploymentId, decisionDefinition.DeploymentId);
            assertNull(decisionDefinition.DiagramResourceName);
        }
예제 #8
0
        public virtual void testQueryBySource()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().deploymentSource(org.camunda.bpm.engine.repository.ProcessApplicationDeployment_Fields.PROCESS_APPLICATION_DEPLOYMENT_SOURCE);

            assertEquals(1, query.list().size());
            assertEquals(1, query.count());
        }
예제 #9
0
        public virtual void testQueryByNullSource()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().deploymentSource(null);

            assertEquals(1, query.list().size());
            assertEquals(1, query.count());
        }
예제 #10
0
        public virtual void testQueryByInvalidSource()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().deploymentSource("invalid");

            assertEquals(0, query.list().size());
            assertEquals(0, query.count());
        }
예제 #11
0
        public virtual void testQueryNoAuthenticatedTenants()
        {
            identityService.setAuthentication("user", null, null);

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(1L));
        }
예제 #12
0
        public virtual void testQueryByDeploymentId()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().deploymentId(deploymentOneId);

            assertNotNull(query.singleResult());
            assertEquals(1, query.list().size());
            assertEquals(1, query.count());
        }
예제 #13
0
        private DeploymentQuery setUpMockDeploymentQuery(IList <Deployment> mockedDeployments)
        {
            DeploymentQuery sampleDeploymentQuery = mock(typeof(DeploymentQuery));

            when(sampleDeploymentQuery.list()).thenReturn(mockedDeployments);
            when(sampleDeploymentQuery.count()).thenReturn((long)mockedDeployments.Count);
            when(processEngine.RepositoryService.createDeploymentQuery()).thenReturn(sampleDeploymentQuery);
            return(sampleDeploymentQuery);
        }
예제 #14
0
        /// <seealso cref= https://app.camunda.com/jira/browse/CAM-2128 </seealso>
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void testDuplicateFiltering() throws InterruptedException
        public virtual void testDuplicateFiltering()
        {
            deployOnTwoConcurrentThreads(createDeploymentBuilder().enableDuplicateFiltering(false), createDeploymentBuilder().enableDuplicateFiltering(false));

            // ensure that although both transactions were run concurrently, only one deployment was constructed.
            DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery();

            assertThat(deploymentQuery.count(), @is(1L));
        }
예제 #15
0
        public virtual void testQueryDisabledTenantCheck()
        {
            processEngineConfiguration.TenantCheckEnabled = false;
            identityService.setAuthentication("user", null, null);

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(3L));
        }
예제 #16
0
        public virtual void testQueryAuthenticatedTenants()
        {
            identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE, TENANT_TWO));

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(3L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(1L));
            assertThat(query.tenantIdIn(TENANT_TWO).count(), @is(1L));
            assertThat(query.withoutTenantId().count(), @is(1L));
        }
예제 #17
0
        public virtual CountResultDto getDeploymentsCount(UriInfo uriInfo)
        {
            DeploymentQueryDto queryDto = new DeploymentQueryDto(ObjectMapper, uriInfo.QueryParameters);

            ProcessEngine   engine = ProcessEngine;
            DeploymentQuery query  = queryDto.toQuery(engine);

            long           count  = query.count();
            CountResultDto result = new CountResultDto();

            result.Count = count;
            return(result);
        }
예제 #18
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void redeployForTheSameAuthenticatedTenant()
        public virtual void redeployForTheSameAuthenticatedTenant()
        {
            Deployment deploymentOne = repositoryService.createDeployment().addModelInstance("emptyProcess.bpmn", emptyProcess).addModelInstance("startEndProcess.bpmn", startEndProcess).tenantId(TENANT_ONE).deploy();

            identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE));

            repositoryService.createDeployment().addDeploymentResources(deploymentOne.Id).tenantId(TENANT_ONE).deploy();

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(2L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(2L));
        }
예제 #19
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void createDeploymentWithAuthenticatedTenant()
        public virtual void createDeploymentWithAuthenticatedTenant()
        {
            identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE));

            repositoryService.createDeployment().addModelInstance("emptyProcess.bpmn", emptyProcess).tenantId(TENANT_ONE).deploy();

            identityService.clearAuthentication();

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(1L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(1L));
        }
예제 #20
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void createDeploymentDisabledTenantCheck()
        public virtual void createDeploymentDisabledTenantCheck()
        {
            processEngineConfiguration.TenantCheckEnabled = false;
            identityService.setAuthentication("user", null, null);

            repositoryService.createDeployment().addModelInstance("emptyProcessOne", emptyProcess).tenantId(TENANT_ONE).deploy();
            repositoryService.createDeployment().addModelInstance("emptyProcessTwo", startEndProcess).tenantId(TENANT_TWO).deploy();

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(2L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(1L));
            assertThat(query.tenantIdIn(TENANT_TWO).count(), @is(1L));
        }
예제 #21
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void deleteDeploymentWithAuthenticatedTenant()
        public virtual void deleteDeploymentWithAuthenticatedTenant()
        {
            Deployment deployment = testRule.deployForTenant(TENANT_ONE, emptyProcess);

            identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE));

            repositoryService.deleteDeployment(deployment.Id);

            identityService.clearAuthentication();

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(0L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(0L));
        }
예제 #22
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void redeployForDifferentAuthenticatedTenantsDisabledTenantCheck()
        public virtual void redeployForDifferentAuthenticatedTenantsDisabledTenantCheck()
        {
            Deployment deploymentOne = repositoryService.createDeployment().addModelInstance("emptyProcess.bpmn", emptyProcess).addModelInstance("startEndProcess.bpmn", startEndProcess).tenantId(TENANT_ONE).deploy();

            identityService.setAuthentication("user", null, null);
            processEngineConfiguration.TenantCheckEnabled = false;

            repositoryService.createDeployment().addDeploymentResources(deploymentOne.Id).tenantId(TENANT_TWO).deploy();

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(2L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(1L));
            assertThat(query.tenantIdIn(TENANT_TWO).count(), @is(1L));
        }
예제 #23
0
        public virtual void testQueryNoCriteria()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertEquals(2, query.list().size());
            assertEquals(2, query.count());

            try
            {
                query.singleResult();
                fail();
            }
            catch (ProcessEngineException)
            {
            }
        }
예제 #24
0
        public virtual void testQueryByInvalidDeploymentId()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().deploymentId("invalid");

            assertNull(query.singleResult());
            assertEquals(0, query.list().size());
            assertEquals(0, query.count());

            try
            {
                repositoryService.createDeploymentQuery().deploymentId(null);
                fail();
            }
            catch (ProcessEngineException)
            {
            }
        }
예제 #25
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void deleteDeploymentDisabledTenantCheck()
        public virtual void deleteDeploymentDisabledTenantCheck()
        {
            Deployment deploymentOne = testRule.deployForTenant(TENANT_ONE, emptyProcess);
            Deployment deploymentTwo = testRule.deployForTenant(TENANT_TWO, startEndProcess);

            processEngineConfiguration.TenantCheckEnabled = false;
            identityService.setAuthentication("user", null, null);

            repositoryService.deleteDeployment(deploymentOne.Id);
            repositoryService.deleteDeployment(deploymentTwo.Id);

            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(0L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(0L));
            assertThat(query.tenantIdIn(TENANT_TWO).count(), @is(0L));
        }
예제 #26
0
        protected internal virtual void verifyCmmnResourceDeployed(string resourcePath)
        {
            string deploymentId = processEngine.RepositoryService.createDeployment().addClasspathResource(resourcePath).deploy().Id;

            // there should be one deployment
            RepositoryService repositoryService = processEngine.RepositoryService;
            DeploymentQuery   deploymentQuery   = repositoryService.createDeploymentQuery();

            assertEquals(1, deploymentQuery.count());

            // there should be one case definition
            CaseDefinitionQuery query = processEngine.RepositoryService.createCaseDefinitionQuery();

            assertEquals(1, query.count());

            CaseDefinition caseDefinition = query.singleResult();

            assertEquals("Case_1", caseDefinition.Key);

            processEngine.RepositoryService.deleteDeployment(deploymentId);
        }
예제 #27
0
        public virtual void testCmmnDeployment()
        {
            string deploymentId = processEngine.RepositoryService.createDeployment().addClasspathResource("org/camunda/bpm/engine/test/cmmn/deployment/CmmnDeploymentTest.testSimpleDeployment.cmmn").deploy().Id;

            // there should be one deployment
            RepositoryService repositoryService = processEngine.RepositoryService;
            DeploymentQuery   deploymentQuery   = repositoryService.createDeploymentQuery();

            assertEquals(1, deploymentQuery.count());

            // there should be one case definition
            CaseDefinitionQuery query = processEngine.RepositoryService.createCaseDefinitionQuery();

            assertEquals(1, query.count());

            CaseDefinition caseDefinition = query.singleResult();

            assertEquals("Case_1", caseDefinition.Key);

            processEngine.RepositoryService.deleteDeployment(deploymentId);
        }
예제 #28
0
        public virtual void testQueryWithoutTenantId()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().withoutTenantId();

            assertThat(query.count(), @is(1L));
        }
예제 #29
0
        public virtual void testQueryNoTenantIdSet()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery();

            assertThat(query.count(), @is(3L));
        }
예제 #30
0
        public virtual void testQueryByNonExistingTenantId()
        {
            DeploymentQuery query = repositoryService.createDeploymentQuery().tenantIdIn("nonExisting");

            assertThat(query.count(), @is(0L));
        }