コード例 #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testMigrateProcessInstanceQuery()
        public virtual void testMigrateProcessInstanceQuery()
        {
            int processInstanceCount = 10;

            ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
            ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);

            MigrationPlan migrationPlan = runtimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapEqualActivities().build();

            for (int i = 0; i < processInstanceCount; i++)
            {
                runtimeService.startProcessInstanceById(sourceProcessDefinition.Id);
            }

            ProcessInstanceQuery sourceProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(sourceProcessDefinition.Id);
            ProcessInstanceQuery targetProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(targetProcessDefinition.Id);

            assertEquals(processInstanceCount, sourceProcessInstanceQuery.count());
            assertEquals(0, targetProcessInstanceQuery.count());


            runtimeService.newMigration(migrationPlan).processInstanceQuery(sourceProcessInstanceQuery).execute();

            assertEquals(0, sourceProcessInstanceQuery.count());
            assertEquals(processInstanceCount, targetProcessInstanceQuery.count());
        }
コード例 #2
0
        public virtual void testQueryByTenantId()
        {
            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().tenantIdIn(TENANT_ONE);

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

            query = runtimeService.createProcessInstanceQuery().tenantIdIn(TENANT_TWO);

            assertThat(query.count(), @is(1L));
        }
コード例 #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testBatchCreationWithOverlappingProcessInstanceIdsAndQuery()
        public virtual void testBatchCreationWithOverlappingProcessInstanceIdsAndQuery()
        {
            RuntimeService runtimeService       = engineRule.RuntimeService;
            int            processInstanceCount = 15;

            ProcessDefinition sourceProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
            ProcessDefinition targetProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);

            IList <string> processInstanceIds = new List <string>();

            for (int i = 0; i < processInstanceCount; i++)
            {
                processInstanceIds.Add(runtimeService.startProcessInstanceById(sourceProcessDefinition.Id).Id);
            }

            MigrationPlan migrationPlan = engineRule.RuntimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapEqualActivities().build();

            ProcessInstanceQuery sourceProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(sourceProcessDefinition.Id);

            assertEquals(processInstanceCount, sourceProcessInstanceQuery.count());

            // when
            Batch batch = runtimeService.newMigration(migrationPlan).processInstanceIds(processInstanceIds).processInstanceQuery(sourceProcessInstanceQuery).executeAsync();

            // then a batch is created
            assertBatchCreated(batch, processInstanceCount);
        }
コード例 #4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testNoAuthenticatedTenants() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testNoAuthenticatedTenants()
        {
            // given
            testRule.deployForTenant(TENANT_ONE, PROCESS);
            testRule.deployForTenant(TENANT_TWO, PROCESS);
            testRule.deploy(PROCESS);

            ensureEventSubscriptions(3);

            identityService.setAuthentication("user", null, null);

            IDictionary <string, object> variableMap = new Dictionary <string, object>();

            variableMap["foo"] = "bar";

            // when
            IList <ProcessInstance> instances = engineRule.RuntimeService.createConditionEvaluation().setVariables(variableMap).evaluateStartConditions();

            // then
            assertNotNull(instances);
            assertEquals(1, instances.Count);

            identityService.clearAuthentication();

            ProcessInstanceQuery processInstanceQuery = engineRule.RuntimeService.createProcessInstanceQuery();

            assertEquals(1, processInstanceQuery.count());
            assertEquals(1, processInstanceQuery.withoutTenantId().count());
        }
コード例 #5
0
        public virtual void testQueryNoAuthenticatedTenants()
        {
            identityService.setAuthentication("user", null, null);

            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery();

            assertThat(query.count(), @is(1L));
        }
コード例 #6
0
        public virtual void testQueryByProcessDefinitionWithoutTenantId()
        {
            // when
            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().processDefinitionWithoutTenantId();

            // then
            assertThat(query.count(), @is(1L));
            assertThat(query.withoutTenantId().count(), @is(1L));
        }
コード例 #7
0
        public virtual void testQueryDisabledTenantCheck()
        {
            processEngineConfiguration.TenantCheckEnabled = false;
            identityService.setAuthentication("user", null, null);

            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery();

            assertThat(query.count(), @is(3L));
        }
コード例 #8
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void sendSignalToStartEventWithoutTenantIdForNonTenant()
        public virtual void sendSignalToStartEventWithoutTenantIdForNonTenant()
        {
            testRule.deploy(SIGNAL_START_PROCESS);

            engineRule.RuntimeService.createSignalEvent("signal").send();

            ProcessInstanceQuery query = engineRule.RuntimeService.createProcessInstanceQuery();

            assertThat(query.count(), @is(1L));
        }
コード例 #9
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testOverlappingProcessInstanceIdsAndQuery()
        public virtual void testOverlappingProcessInstanceIdsAndQuery()
        {
            ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
            ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);

            MigrationPlan migrationPlan = runtimeService.createMigrationPlan(sourceProcessDefinition.Id, targetProcessDefinition.Id).mapEqualActivities().build();

            ProcessInstance processInstance1 = runtimeService.startProcessInstanceById(sourceProcessDefinition.Id);
            ProcessInstance processInstance2 = runtimeService.startProcessInstanceById(sourceProcessDefinition.Id);

            ProcessInstanceQuery sourceProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(sourceProcessDefinition.Id);
            ProcessInstanceQuery targetProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(targetProcessDefinition.Id);

            assertEquals(0, targetProcessInstanceQuery.count());

            runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList(processInstance1.Id, processInstance2.Id)).processInstanceQuery(sourceProcessInstanceQuery).execute();

            assertEquals(2, targetProcessInstanceQuery.count());
        }
コード例 #10
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void correlateMessageToStartEventNoTenantIdSetForNonTenant()
        public virtual void correlateMessageToStartEventNoTenantIdSetForNonTenant()
        {
            testRule.deploy(MESSAGE_START_PROCESS);

            engineRule.RuntimeService.createMessageCorrelation("message").correlate();

            ProcessInstanceQuery query = engineRule.RuntimeService.createProcessInstanceQuery();

            assertThat(query.count(), @is(1L));
            assertThat(query.singleResult().TenantId, @is(nullValue()));
        }
コード例 #11
0
        public virtual void testQueryAuthenticatedTenants()
        {
            identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE, TENANT_TWO));

            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery();

            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));
        }
コード例 #12
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void sendSignalToStartEventForNonTenant()
        public virtual void sendSignalToStartEventForNonTenant()
        {
            testRule.deploy(SIGNAL_START_PROCESS);
            testRule.deployForTenant(TENANT_ONE, SIGNAL_START_PROCESS);

            engineRule.RuntimeService.createSignalEvent("signal").withoutTenantId().send();

            ProcessInstanceQuery query = engineRule.RuntimeService.createProcessInstanceQuery();

            assertThat(query.count(), @is(1L));
            assertThat(query.singleResult().TenantId, @is(nullValue()));
        }
コード例 #13
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void correlateStartMessageWithoutTenantId()
        public virtual void correlateStartMessageWithoutTenantId()
        {
            testRule.deploy(MESSAGE_START_PROCESS);
            testRule.deployForTenant(TENANT_ONE, MESSAGE_START_PROCESS);

            engineRule.RuntimeService.createMessageCorrelation("message").withoutTenantId().correlateStartMessage();

            ProcessInstanceQuery query = engineRule.RuntimeService.createProcessInstanceQuery();

            assertThat(query.count(), @is(1L));
            assertThat(query.singleResult().TenantId, @is(nullValue()));
        }
コード例 #14
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testTimerRecalculationBasedOnProcessVariable()
        public virtual void testTimerRecalculationBasedOnProcessVariable()
        {
            // given
            IDictionary <string, object> variables = new Dictionary <string, object>();

            variables["timerExpression"] = "PT10S";
            ProcessInstance instance = runtimeService.startProcessInstanceByKey("TimerRecalculationProcess", variables);

            ProcessInstanceQuery instancesQuery = runtimeService.createProcessInstanceQuery().processInstanceId(instance.Id);
            JobQuery             jobQuery       = managementService.createJobQuery();

            assertEquals(1, instancesQuery.count());
            assertEquals(1, jobQuery.count());

            Job      job        = jobQuery.singleResult();
            DateTime oldDueDate = job.Duedate;

            // when
            runtimeService.setVariable(instance.Id, "timerExpression", "PT1S");
            managementService.recalculateJobDuedate(job.Id, true);

            // then
            assertEquals(1, jobQuery.count());
            Job jobRecalculated = jobQuery.singleResult();

            assertNotEquals(oldDueDate, jobRecalculated.Duedate);

            DateTime calendar = new DateTime();

            calendar = new DateTime(jobRecalculated.CreateTime);
            calendar.AddSeconds(1);
            DateTime expectedDate = calendar;

            assertEquals(expectedDate, jobRecalculated.Duedate);

            waitForJobExecutorToProcessAllJobs();

            assertEquals(0, instancesQuery.count());
        }
コード例 #15
0
        public virtual CountResultDto queryProcessInstancesCount(ProcessInstanceQueryDto queryDto)
        {
            ProcessEngine engine = ProcessEngine;

            queryDto.ObjectMapper = ObjectMapper;
            ProcessInstanceQuery query = queryDto.toQuery(engine);

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

            result.Count = count;

            return(result);
        }
コード例 #16
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testEmptyProcessInstanceQuery()
        public virtual void testEmptyProcessInstanceQuery()
        {
            ProcessDefinition testProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
            MigrationPlan     migrationPlan         = runtimeService.createMigrationPlan(testProcessDefinition.Id, testProcessDefinition.Id).mapEqualActivities().build();

            ProcessInstanceQuery emptyProcessInstanceQuery = runtimeService.createProcessInstanceQuery();

            assertEquals(0, emptyProcessInstanceQuery.count());

            try
            {
                runtimeService.newMigration(migrationPlan).processInstanceQuery(emptyProcessInstanceQuery).execute();
                fail("Should not be able to migrate");
            }
            catch (ProcessEngineException e)
            {
                assertThat(e.Message, CoreMatchers.containsString("process instance ids is empty"));
            }
        }
コード例 #17
0
        public virtual void testQueryByProcessDefinitionWithoutTenantId_VaryingProcessInstanceTenantId()
        {
            // given
            StaticTenantIdTestProvider tenantIdProvider = new StaticTenantIdTestProvider(null);

            processEngineConfiguration.TenantIdProvider = tenantIdProvider;

            tenantIdProvider.TenantIdProvider = "anotherTenantId";

            runtimeService.createProcessInstanceByKey("testProcess").processDefinitionWithoutTenantId().execute();

            // when
            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().processDefinitionWithoutTenantId();

            // then
            assertThat(query.count(), @is(2L));
            assertThat(query.withoutTenantId().count(), @is(1L));
            assertThat(query.tenantIdIn("anotherTenantId").count(), @is(1L));

            // cleanup
            processEngineConfiguration.TenantIdProvider = null;
        }
コード例 #18
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testProcessInstanceQueryOfWrongProcessDefinition()
        public virtual void testProcessInstanceQueryOfWrongProcessDefinition()
        {
            ProcessDefinition testProcessDefinition  = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
            ProcessDefinition wrongProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.SUBPROCESS_PROCESS);

            runtimeService.startProcessInstanceById(wrongProcessDefinition.Id);

            MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.Id, testProcessDefinition.Id).mapEqualActivities().build();

            ProcessInstanceQuery wrongProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(wrongProcessDefinition.Id);

            assertEquals(1, wrongProcessInstanceQuery.count());

            try
            {
                runtimeService.newMigration(migrationPlan).processInstanceQuery(wrongProcessInstanceQuery).execute();
                fail("Should not be able to migrate");
            }
            catch (ProcessEngineException e)
            {
                assertThat(e.Message, CoreMatchers.StartsWith("ENGINE-23002"));
            }
        }
コード例 #19
0
        public virtual void testQueryByNonExistingTenantId()
        {
            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().tenantIdIn("nonExisting");

            assertThat(query.count(), @is(0L));
        }
コード例 #20
0
        public virtual void testQueryByInstancesWithoutTenantId()
        {
            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().withoutTenantId();

            assertThat(query.count(), @is(1L));
        }
コード例 #21
0
        public virtual void testQueryNoTenantIdSet()
        {
            ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery();

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