private ExecutionQuery setUpMockExecutionQuery(List<Execution> mockedExecutions) { ExecutionQuery sampleExecutionQuery = mock(ExecutionQuery.class); when(sampleExecutionQuery.list()).thenReturn(mockedExecutions); when(sampleExecutionQuery.count()).thenReturn((long) mockedExecutions.size()); when(processEngine.getRuntimeService().createExecutionQuery()).thenReturn(sampleExecutionQuery); return sampleExecutionQuery; }
public void testQueryByProcessDefinitionKey() { // Concurrent process with 3 executions for each process instance assertEquals(12, runtimeService.createExecutionQuery().processDefinitionKey(CONCURRENT_PROCESS_KEY).list().size()); assertEquals(1, runtimeService.createExecutionQuery().processDefinitionKey(SEQUENTIAL_PROCESS_KEY).list().size()); }
@Test public void testNoParametersQuery() { expect().statusCode(Status.OK.getStatusCode()).when().get(EXECUTION_QUERY_URL); verify(mockedQuery).list(); verifyNoMoreInteractions(mockedQuery); }
public void testQueryByProcessInstanceId() { for (String processInstanceId : concurrentProcessInstanceIds) { ExecutionQuery query = runtimeService.createExecutionQuery().processInstanceId(processInstanceId); assertEquals(3, query.list().size()); assertEquals(3, query.count()); } assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(sequentialProcessInstanceIds.get(0)).list().size()); }
public void testQuerySortingDesc() { // exclude executions without tenant id because of database-specific ordering List<Execution> executions = runtimeService.createExecutionQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .desc() .list(); assertThat(executions.size(), is(2)); assertThat(executions.get(0).getTenantId(), is(TENANT_TWO)); assertThat(executions.get(1).getTenantId(), is(TENANT_ONE)); }
public void testQueryInvalidSorting() { try { runtimeService.createExecutionQuery().orderByProcessDefinitionKey().list(); fail(); } catch (ProcessEngineException e) { } }
public void testQueryByBusinessKey() { assertEquals(3, runtimeService.createExecutionQuery().processDefinitionKey(CONCURRENT_PROCESS_KEY).processInstanceBusinessKey("BUSINESS-KEY-1").list().size()); assertEquals(3, runtimeService.createExecutionQuery().processDefinitionKey(CONCURRENT_PROCESS_KEY).processInstanceBusinessKey("BUSINESS-KEY-2").list().size()); assertEquals(0, runtimeService.createExecutionQuery().processDefinitionKey(CONCURRENT_PROCESS_KEY).processInstanceBusinessKey("NON-EXISTING").list().size()); }
public void testQuerySortingAsc() { // exclude executions without tenant id because of database-specific ordering List<Execution> executions = runtimeService.createExecutionQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc() .list(); assertThat(executions.size(), is(2)); assertThat(executions.get(0).getTenantId(), is(TENANT_ONE)); assertThat(executions.get(1).getTenantId(), is(TENANT_TWO)); }
public void testQueryByInvalidProcessInstanceId() { ExecutionQuery query = runtimeService.createExecutionQuery().processInstanceId("invalid"); assertNull(query.singleResult()); assertEquals(0, query.list().size()); assertEquals(0, query.count()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentMessageLike() { runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); List<Execution> executionList = runtimeService .createExecutionQuery() .incidentMessageLike("%\\_exception%").list(); assertEquals(1, executionList.size()); }
public void testQueryByInvalidProcessDefinitionKey() { ExecutionQuery query = runtimeService.createExecutionQuery().processDefinitionKey("invalid"); assertNull(query.singleResult()); assertEquals(0, query.list().size()); assertEquals(0, query.count()); }
public void testQueryByInvalidExecutionId() { ExecutionQuery query = runtimeService.createExecutionQuery().executionId("invalid"); assertNull(query.singleResult()); assertEquals(0, query.list().size()); assertEquals(0, query.count()); }
public void testQueryByInvalidActivityId() { ExecutionQuery query = runtimeService.createExecutionQuery().activityId("invalid"); assertNull(query.singleResult()); assertEquals(0, query.list().size()); assertEquals(0, query.count()); }
public void testQueryByActivityId() { ExecutionQuery query = runtimeService.createExecutionQuery().activityId("receivePayment"); assertEquals(4, query.list().size()); assertEquals(4, query.count()); try { assertNull(query.singleResult()); fail(); } catch (ProcessEngineException e) { } }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentId() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<Execution> executionList = runtimeService .createExecutionQuery() .incidentId(incident.getId()).list(); assertEquals(1, executionList.size()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentType() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<Execution> executionList = runtimeService .createExecutionQuery() .incidentType(incident.getIncidentType()).list(); assertEquals(1, executionList.size()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentMessage() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<Execution> executionList = runtimeService .createExecutionQuery() .incidentMessage(incident.getIncidentMessage()).list(); assertEquals(1, executionList.size()); }
@Deployment(resources = "org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.testParallelReceiveTasks.bpmn20.xml") public void testParallelReceiveTasksAssertEventSubscriptionRemoval() { runtimeService.startProcessInstanceByKey("miParallelReceiveTasks"); assertEquals(3, runtimeService.createEventSubscriptionQuery().count()); List<Execution> receiveTaskExecutions = runtimeService .createExecutionQuery().activityId("miTasks").list(); // signal one of the instances runtimeService.messageEventReceived("message", receiveTaskExecutions.get(0).getId()); // now there should be two subscriptions left assertEquals(2, runtimeService.createEventSubscriptionQuery().count()); }
public void testNullBusinessKeyForChildExecutions() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(CONCURRENT_PROCESS_KEY, "76545"); List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list(); for (Execution e : executions) { if (((ExecutionEntity) e).isProcessInstanceExecution()) { assertEquals("76545", ((ExecutionEntity) e).getBusinessKeyWithoutCascade()); } else { assertNull(((ExecutionEntity) e).getBusinessKeyWithoutCascade()); } } }
@Deployment public void testParallelReceiveTasks() { ProcessInstance procInst = runtimeService.startProcessInstanceByKey("miParallelReceiveTasks"); String procId = procInst.getId(); assertEquals(3, runtimeService.createEventSubscriptionQuery().count()); List<Execution> receiveTaskExecutions = runtimeService .createExecutionQuery().activityId("miTasks").list(); for (Execution execution : receiveTaskExecutions) { runtimeService.messageEventReceived("message", execution.getId()); } assertProcessEnded(procId); }