Beispiel #1
0
        public virtual IList <CaseInstanceDto> queryCaseInstances(CaseInstanceQueryDto queryDto, int?firstResult, int?maxResults)
        {
            ProcessEngine engine = ProcessEngine;

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

            IList <CaseInstance> matchingInstances;

            if (firstResult != null || maxResults != null)
            {
                matchingInstances = executePaginatedQuery(query, firstResult, maxResults);
            }
            else
            {
                matchingInstances = query.list();
            }

            IList <CaseInstanceDto> instanceResults = new List <CaseInstanceDto>();

            foreach (CaseInstance instance in matchingInstances)
            {
                CaseInstanceDto resultInstance = CaseInstanceDto.fromCaseInstance(instance);
                instanceResults.Add(resultInstance);
            }
            return(instanceResults);
        }
Beispiel #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Deployment public void testManualActivationDisabled()
        public virtual void testManualActivationDisabled()
        {
            // given
            // a deployed case definition

            // when (1)
            string caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).Id;

            // then (1)
            CaseInstanceQuery instanceQuery = caseService.createCaseInstanceQuery().caseInstanceId(caseInstanceId);

            CaseInstance caseInstance = instanceQuery.singleResult();

            assertNotNull(caseInstance);
            assertTrue(caseInstance.Active);

            CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery();

            string humanTask2Id = executionQuery.activityId("PI_HumanTask_2").singleResult().Id;

            // when (2)
            caseService.completeCaseExecution(humanTask2Id);

            // then (2)
            caseInstance = instanceQuery.singleResult();
            assertNotNull(caseInstance);
            assertTrue(caseInstance.Completed);

            // humanTask1 and humanTask2 are not available
            assertNull(executionQuery.activityId("PI_HumanTask_1").singleResult());
            assertNull(executionQuery.activityId("PI_HumanTask_2").singleResult());
        }
Beispiel #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Deployment public void testEntryCriteriaAndManualActivationDisabled()
        public virtual void testEntryCriteriaAndManualActivationDisabled()
        {
            // given
            string caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).Id;

            CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery();

            string humanTask1Id = executionQuery.activityId("PI_HumanTask_1").singleResult().Id;

            // when (1)
            complete(humanTask1Id);

            // then (1)
            CaseInstanceQuery instanceQuery = caseService.createCaseInstanceQuery().caseInstanceId(caseInstanceId);

            CaseInstance caseInstance = instanceQuery.singleResult();

            assertNotNull(caseInstance);
            assertTrue(caseInstance.Active);

            string humanTask2Id = executionQuery.activityId("PI_HumanTask_2").singleResult().Id;

            // when (2)
            complete(humanTask2Id);

            // then (2)
            caseInstance = instanceQuery.singleResult();
            assertNotNull(caseInstance);
            assertTrue(caseInstance.Completed);
        }
Beispiel #4
0
        public virtual void testQueryNoAuthenticatedTenants()
        {
            identityService.setAuthentication("user", null, null);

            CaseInstanceQuery query = caseService.createCaseInstanceQuery();

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

            CaseInstanceQuery query = caseService.createCaseInstanceQuery();

            assertThat(query.count(), @is(3L));
        }
Beispiel #6
0
        private CaseInstanceQuery setUpMockCaseInstanceQuery(IList <CaseInstance> mockedCaseInstances)
        {
            CaseInstanceQuery query = mock(typeof(CaseInstanceQuery));

            when(query.list()).thenReturn(mockedCaseInstances);
            when(query.count()).thenReturn((long)mockedCaseInstances.Count);
            when(processEngine.CaseService.createCaseInstanceQuery()).thenReturn(query);

            return(query);
        }
Beispiel #7
0
        public virtual void testQueryByTenantId()
        {
            CaseInstanceQuery query = caseService.createCaseInstanceQuery().tenantIdIn(TENANT_ONE);

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

            query = caseService.createCaseInstanceQuery().tenantIdIn(TENANT_TWO);

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

            CaseInstanceQuery query = caseService.createCaseInstanceQuery();

            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));
        }
Beispiel #9
0
        private void createCaseInstanceMock()
        {
            IList <CaseInstance> caseInstances    = new List <CaseInstance>();
            CaseInstance         mockCaseInstance = MockProvider.createMockCaseInstance();

            caseInstances.Add(mockCaseInstance);

            CaseInstanceQuery mockCaseInstanceQuery = mock(typeof(CaseInstanceQuery));

            when(mockCaseInstanceQuery.list()).thenReturn(caseInstances);
            when(mockCaseService.createCaseInstanceQuery()).thenReturn(mockCaseInstanceQuery);
        }
Beispiel #10
0
 private IList <CaseInstance> executePaginatedQuery(CaseInstanceQuery query, int?firstResult, int?maxResults)
 {
     if (firstResult == null)
     {
         firstResult = 0;
     }
     if (maxResults == null)
     {
         maxResults = int.MaxValue;
     }
     return(query.listPage(firstResult, maxResults));
 }
Beispiel #11
0
        public virtual CountResultDto queryCaseInstancesCount(CaseInstanceQueryDto queryDto)
        {
            ProcessEngine engine = ProcessEngine;

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

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

            result.Count = count;

            return(result);
        }
Beispiel #12
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWithoutTenantIdParameter()
        public virtual void testWithoutTenantIdParameter()
        {
            mockedQuery = setUpMockCaseInstanceQuery(Arrays.asList(MockProvider.createMockCaseInstance(null)));

            Response response = given().queryParam("withoutTenantId", true).then().expect().statusCode(Status.OK.StatusCode).when().get(CASE_INSTANCE_QUERY_URL);

            verify(mockedQuery).withoutTenantId();
            verify(mockedQuery).list();

            string         content       = response.asString();
            IList <string> caseInstances = from(content).getList("");

            assertThat(caseInstances).hasSize(1);

            string returnedTenantId1 = from(content).getString("[0].tenantId");

            assertThat(returnedTenantId1).isEqualTo(null);
        }
Beispiel #13
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testTenantIdListParameter()
        public virtual void testTenantIdListParameter()
        {
            mockedQuery = setUpMockCaseInstanceQuery(createMockCaseInstancesTwoTenants());

            Response response = given().queryParam("tenantIdIn", MockProvider.EXAMPLE_TENANT_ID_LIST).then().expect().statusCode(Status.OK.StatusCode).when().get(CASE_INSTANCE_QUERY_URL);

            verify(mockedQuery).tenantIdIn(MockProvider.EXAMPLE_TENANT_ID, MockProvider.ANOTHER_EXAMPLE_TENANT_ID);
            verify(mockedQuery).list();

            string         content       = response.asString();
            IList <string> caseInstances = from(content).getList("");

            assertThat(caseInstances).hasSize(2);

            string returnedTenantId1 = from(content).getString("[0].tenantId");
            string returnedTenantId2 = from(content).getString("[1].tenantId");

            assertThat(returnedTenantId1).isEqualTo(MockProvider.EXAMPLE_TENANT_ID);
            assertThat(returnedTenantId2).isEqualTo(MockProvider.ANOTHER_EXAMPLE_TENANT_ID);
        }
Beispiel #14
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Deployment public void testRequiredEnabled()
        public virtual void testRequiredEnabled()
        {
            // given
            // a deployed case definition

            CaseExecutionQuery executionQuery = caseService.createCaseExecutionQuery();
            CaseInstanceQuery  instanceQuery  = caseService.createCaseInstanceQuery();

            // when (1)
            string caseInstanceId = createCaseInstanceByKey(CASE_DEFINITION_KEY).Id;

            // then (1)
            CaseInstance caseInstance = instanceQuery.caseInstanceId(caseInstanceId).singleResult();

            assertNotNull(caseInstance);
            assertTrue(caseInstance.Active);

            string humanTask1Id = executionQuery.activityId("PI_HumanTask_1").singleResult().Id;

            manualStart(humanTask1Id);

            // when (2)
            complete(humanTask1Id);

            // then (2)
            caseInstance = instanceQuery.singleResult();
            assertNotNull(caseInstance);
            assertTrue(caseInstance.Active);

            string humanTask2Id = executionQuery.activityId("PI_HumanTask_2").singleResult().Id;

            manualStart(humanTask2Id);

            // when (3)
            complete(humanTask2Id);

            // then (3)
            caseInstance = instanceQuery.singleResult();
            assertNotNull(caseInstance);
            assertTrue(caseInstance.Completed);
        }
Beispiel #15
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWithoutTenantIdPostParameter()
        public virtual void testWithoutTenantIdPostParameter()
        {
            mockedQuery = setUpMockCaseInstanceQuery(Arrays.asList(MockProvider.createMockCaseInstance(null)));

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

            queryParameters["withoutTenantId"] = true;

            Response response = given().contentType(POST_JSON_CONTENT_TYPE).body(queryParameters).expect().statusCode(Status.OK.StatusCode).when().post(CASE_INSTANCE_QUERY_URL);

            verify(mockedQuery).withoutTenantId();
            verify(mockedQuery).list();

            string         content       = response.asString();
            IList <string> caseInstances = from(content).getList("");

            assertThat(caseInstances).hasSize(1);

            string returnedTenantId1 = from(content).getString("[0].tenantId");

            assertThat(returnedTenantId1).isEqualTo(null);
        }
Beispiel #16
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testTenantIdListPostParameter()
        public virtual void testTenantIdListPostParameter()
        {
            mockedQuery = setUpMockCaseInstanceQuery(createMockCaseInstancesTwoTenants());

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

            queryParameters["tenantIdIn"] = MockProvider.EXAMPLE_TENANT_ID_LIST.Split(",", true);

            Response response = given().contentType(POST_JSON_CONTENT_TYPE).body(queryParameters).expect().statusCode(Status.OK.StatusCode).when().post(CASE_INSTANCE_QUERY_URL);

            verify(mockedQuery).tenantIdIn(MockProvider.EXAMPLE_TENANT_ID, MockProvider.ANOTHER_EXAMPLE_TENANT_ID);
            verify(mockedQuery).list();

            string         content       = response.asString();
            IList <string> caseInstances = from(content).getList("");

            assertThat(caseInstances).hasSize(2);

            string returnedTenantId1 = from(content).getString("[0].tenantId");
            string returnedTenantId2 = from(content).getString("[1].tenantId");

            assertThat(returnedTenantId1).isEqualTo(MockProvider.EXAMPLE_TENANT_ID);
            assertThat(returnedTenantId2).isEqualTo(MockProvider.ANOTHER_EXAMPLE_TENANT_ID);
        }
Beispiel #17
0
        public virtual void testQueryByNonExistingTenantId()
        {
            CaseInstanceQuery query = caseService.createCaseInstanceQuery().tenantIdIn("nonExisting");

            assertThat(query.count(), @is(0L));
        }
Beispiel #18
0
        public virtual void testQueryByInstancesWithoutTenantId()
        {
            CaseInstanceQuery query = caseService.createCaseInstanceQuery().withoutTenantId();

            assertThat(query.count(), @is(1L));
        }
Beispiel #19
0
        public virtual void testQueryNoTenantIdSet()
        {
            CaseInstanceQuery query = caseService.createCaseInstanceQuery();

            assertThat(query.count(), @is(3L));
        }
Beispiel #20
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUpRuntimeData()
        public virtual void setUpRuntimeData()
        {
            mockedQuery = setUpMockCaseInstanceQuery(MockProvider.createMockCaseInstances());
        }
Beispiel #21
0
 public QueryResource <CaseInstanceQuery, CaseInstanceInfo> Query(CaseInstanceQuery query = null) =>
 new QueryResource <CaseInstanceQuery, CaseInstanceInfo>(
     query,
     (q, f, m) => _api.GetList(q, f, m),
     q => _api.GetListCount(q));
 public QueryResource <CaseInstanceQuery, CaseInstanceInfo> Query(CaseInstanceQuery query = null) =>
 new QueryResource <CaseInstanceQuery, CaseInstanceInfo>(query, _api.GetList, _api.GetListCount);