private ProcessInstanceQuery setUpMockInstanceQuery(List<ProcessInstance> mockedInstances) { ProcessInstanceQuery sampleInstanceQuery = mock(ProcessInstanceQuery.class); when(sampleInstanceQuery.list()).thenReturn(mockedInstances); when(sampleInstanceQuery.count()).thenReturn((long) mockedInstances.size()); when(processEngine.getRuntimeService().createProcessInstanceQuery()).thenReturn(sampleInstanceQuery); return sampleInstanceQuery; }
protected void assertReturnedProcessInstances(ProcessInstanceQuery query, ProcessInstance... processInstances) { int expectedSize = processInstances.length; assertEquals(expectedSize, query.count()); assertEquals(expectedSize, query.list().size()); verifyResultContainsExactly(query.list(), collectProcessInstanceIds(Arrays.asList(processInstances))); }
@Test public void testNoParametersQuery() { expect().statusCode(Status.OK.getStatusCode()).when().get(PROCESS_INSTANCE_QUERY_URL); verify(mockedQuery).list(); verifyNoMoreInteractions(mockedQuery); }
public void testQuerySortingDesc() { // exclude instances without tenant id because of database-specific ordering List<ProcessInstance> processInstances = runtimeService.createProcessInstanceQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .desc() .list(); assertThat(processInstances.size(), is(2)); assertThat(processInstances.get(0).getTenantId(), is(TENANT_TWO)); assertThat(processInstances.get(1).getTenantId(), is(TENANT_ONE)); }
protected void cancelProcessInstances() { List<ProcessInstance> processInstances = runtimeService.createProcessInstanceQuery().list(); for (ProcessInstance pi : processInstances) { runtimeService.deleteProcessInstance(pi.getId(), "test"); } }
@After public void cleanUp() { for (ProcessInstance processInstance : runtimeService.createProcessInstanceQuery().list()) { runtimeService.deleteProcessInstance(processInstance.getId(), "test ended", true); } }
@Test public void testActivityIdListParameter() { given() .queryParam("activityIdIn", MockProvider.EXAMPLE_ACTIVITY_ID_LIST) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(PROCESS_INSTANCE_QUERY_URL); verify(mockedQuery).activityIdIn(MockProvider.EXAMPLE_ACTIVITY_ID, MockProvider.ANOTHER_EXAMPLE_ACTIVITY_ID); verify(mockedQuery).list(); }
@Deployment public void testExpressionStartTimerEvent() throws Exception { // ACT-1415: fixed start-date is an expression JobQuery jobQuery = managementService.createJobQuery(); assertEquals(1, jobQuery.count()); ClockUtil.setCurrentTime(new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").parse("15/11/2036 11:12:30")); executeAllJobs(); List<ProcessInstance> pi = runtimeService.createProcessInstanceQuery().processDefinitionKey("startTimerEventExample").list(); assertEquals(1, pi.size()); assertEquals(0, jobQuery.count()); }
@Test public void testProcessExecution() { ProcessInstance instance = runtimeService.startProcessInstanceByKey("TimerExecutionProcess"); waitForJobExecutorToProcessAllJobs(); List<ProcessInstance> finallyRunningInstances = runtimeService.createProcessInstanceQuery().processInstanceId(instance.getId()).list(); Assert.assertEquals(0, finallyRunningInstances.size()); } }
@Deployment public void testFixedDateStartTimerEvent() throws Exception { // After process start, there should be timer created JobQuery jobQuery = managementService.createJobQuery(); assertEquals(1, jobQuery.count()); ClockUtil.setCurrentTime(new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").parse("15/11/2036 11:12:30")); executeAllJobs(); List<ProcessInstance> pi = runtimeService.createProcessInstanceQuery().processDefinitionKey("startTimerEventExample").list(); assertEquals(1, pi.size()); assertEquals(0, jobQuery.count()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentMessageLike() { runtimeService.startProcessInstanceByKey("failingProcess"); testHelper.executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); List<ProcessInstance> processInstanceList = runtimeService .createProcessInstanceQuery() .incidentMessageLike("%\\_exception%").list(); assertEquals(1, processInstanceList.size()); }
@Test public void testQueryByProcessDefinitionKeySingleResult() { ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY_2); assertEquals(1, query.count()); assertEquals(1, query.list().size()); assertNotNull(query.singleResult()); }
@Test public void testQueryByInvalidProcessInstanceId() { assertNull(runtimeService.createProcessInstanceQuery().processInstanceId("I do not exist").singleResult()); assertEquals(0, runtimeService.createProcessInstanceQuery().processInstanceId("I do not exist").list().size()); }
@Test public void testQueryByProcessDefinitionKeyMultipleResults() { ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY); assertEquals(4, query.count()); assertEquals(4, query.list().size()); try { query.singleResult(); fail(); } catch (ProcessEngineException e) { // Exception is expected } }
@Test public void testQueryByProcessInstanceId() { for (String processInstanceId : processInstanceIds) { assertNotNull(runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult()); assertEquals(1, runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).list().size()); } }
@Test public void testQueryByInvalidSubProcessInstanceId() { assertNull(runtimeService.createProcessInstanceQuery().subProcessInstanceId("invalid").singleResult()); assertEquals(0, runtimeService.createProcessInstanceQuery().subProcessInstanceId("invalid").list().size()); }
@Test public void testQueryByInvalidSuperCaseInstanceId() { ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery(); assertNull(query.superProcessInstanceId("invalid").singleResult()); assertEquals(0, query.superProcessInstanceId("invalid").list().size()); try { query.superCaseInstanceId(null); fail(); } catch (NullValueException e) { // expected } }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/cmmn/oneProcessTaskCase.cmmn"}) public void testQueryBySuperCaseInstanceId() { String superCaseInstanceId = caseService.createCaseInstanceByKey("oneProcessTaskCase").getId(); ProcessInstanceQuery query = runtimeService .createProcessInstanceQuery() .superCaseInstanceId(superCaseInstanceId); assertEquals(1, query.list().size()); assertEquals(1, query.count()); ProcessInstance subProcessInstance = query.singleResult(); assertNotNull(subProcessInstance); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/runtime/superProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/subProcess.bpmn20.xml"}) public void testQueryBySuperProcessInstanceId() { ProcessInstance superProcessInstance = runtimeService.startProcessInstanceByKey("subProcessQueryTest"); ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().superProcessInstanceId(superProcessInstance.getId()); ProcessInstance subProcessInstance = query.singleResult(); assertNotNull(subProcessInstance); assertEquals(1, query.list().size()); assertEquals(1, query.count()); }
@Test public void deleteProcessInstanceWithDisabledTenantCheck() { engineRule.getIdentityService().setAuthentication("aUserId", null); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); //then engineRule.getRuntimeService().deleteProcessInstance(processInstanceId, null); assertEquals(0, engineRule.getRuntimeService() .createProcessInstanceQuery() .processInstanceId(processInstanceId) .list() .size()); }