private void createExecutionMock() { Execution mockExecution = MockProvider.createMockExecution(); ExecutionQuery mockExecutionQuery = mock(ExecutionQuery.class); when(mockExecutionQuery.processInstanceId(eq(MockProvider.EXAMPLE_PROCESS_INSTANCE_ID))).thenReturn(mockExecutionQuery); when(mockExecutionQuery.singleResult()).thenReturn(mockExecution); when(mockRuntimeService.createExecutionQuery()).thenReturn(mockExecutionQuery); }
protected Execution queryExecutionById(String id) { return runtimeService .createExecutionQuery() .executionId(id) .singleResult(); }
@Override public ExecutionDto getExecution() { RuntimeService runtimeService = engine.getRuntimeService(); Execution execution = runtimeService.createExecutionQuery().executionId(executionId).singleResult(); if (execution == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Execution with id " + executionId + " does not exist"); } return ExecutionDto.fromExecution(execution); }
@Deployment public void testSequentialScriptTasks() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("sum", 0); vars.put("nrOfLoops", 5); runtimeService.startProcessInstanceByKey("miSequentialScriptTask", vars); Execution waitStateExecution = runtimeService.createExecutionQuery().singleResult(); int sum = (Integer) runtimeService.getVariable(waitStateExecution.getId(), "sum"); assertEquals(10, sum); }
@Deployment(resources="org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.testSequentialScriptTasks.bpmn20.xml") public void testSequentialScriptTasksNoStackOverflow() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("sum", 0); vars.put("nrOfLoops", 200); runtimeService.startProcessInstanceByKey("miSequentialScriptTask", vars); Execution waitStateExecution = runtimeService.createExecutionQuery().singleResult(); int sum = (Integer) runtimeService.getVariable(waitStateExecution.getId(), "sum"); assertEquals(19900, sum); }
@Deployment public void testParallelScriptTasks() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("sum", 0); vars.put("nrOfLoops", 10); runtimeService.startProcessInstanceByKey("miParallelScriptTask", vars); Execution waitStateExecution = runtimeService.createExecutionQuery().singleResult(); int sum = (Integer) runtimeService.getVariable(waitStateExecution.getId(), "sum"); assertEquals(45, sum); }
public void testQueryByExecutionId() { Execution execution = runtimeService.createExecutionQuery().processInstanceId(processInstanceIds.get(0)).singleResult(); assertNotNull(execution); IncidentQuery query = runtimeService.createIncidentQuery().executionId(execution.getId()); assertEquals(1, query.count()); List<Incident> incidents = query.list(); assertFalse(incidents.isEmpty()); assertEquals(1, incidents.size()); }
public void testQueryByInvalidExecutionId() { ExecutionQuery query = runtimeService.createExecutionQuery().executionId("invalid"); assertNull(query.singleResult()); assertEquals(0, query.list().size()); assertEquals(0, query.count()); }
@Deployment public void testSequentialScriptTasksCompletionCondition() { runtimeService.startProcessInstanceByKey("miSequentialScriptTaskCompletionCondition").getId(); Execution waitStateExecution = runtimeService.createExecutionQuery().singleResult(); int sum = (Integer) runtimeService.getVariable(waitStateExecution.getId(), "sum"); assertEquals(5, sum); }
@Deployment public void testExecutionExternalTask() { runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); ExecutionEntity execution = (ExecutionEntity) runtimeService .createExecutionQuery() .activityId("externalTask") .singleResult(); assertEquals(BitMaskUtil.getMaskForBit(ExecutionEntity.EXTERNAL_TASKS_BIT), execution.getCachedEntityStateRaw()); }
@Deployment public void testInputExternalClasspathScriptValueAsBean() { Map<String, Object> variables = new HashMap<String, Object>(); variables.put("onePlusOneBean", new OnePlusOneBean()); runtimeService.startProcessInstanceByKey("testProcess", variables); Execution execution = runtimeService.createExecutionQuery().activityId("wait").singleResult(); VariableInstance variable = runtimeService.createVariableInstanceQuery().variableName("var1").singleResult(); assertNotNull(variable); assertEquals(2, variable.getValue()); assertEquals(execution.getId(), variable.getExecutionId()); }
@Deployment(resources = "org/camunda/bpm/engine/test/bpmn/gateway/InclusiveGatewayTest.testDefaultSequenceFlow.bpmn20.xml") public void testDefaultSequenceFlowExecutionIsActive() { // given a triggered inclusive gateway default flow runtimeService.startProcessInstanceByKey("inclusiveGwDefaultSequenceFlow", CollectionUtil.singletonMap("input", 5)); // then the process instance execution is not deactivated ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().singleResult(); assertEquals("theTask2", execution.getActivityId()); assertTrue(execution.isActive()); }
public void testSimpleQueryWithReadPermissionOnAnyProcessInstance() { // given String processInstanceId = startProcessInstanceByKey(ONE_TASK_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_INSTANCE, ANY, userId, READ); // when ExecutionQuery query = runtimeService.createExecutionQuery(); // then verifyQueryResults(query, 1); Execution execution = query.singleResult(); assertNotNull(execution); assertEquals(processInstanceId, execution.getProcessInstanceId()); }
public void testSimpleQueryWithReadInstancesPermissionOnAnyProcessDefinition() { // given String processInstanceId = startProcessInstanceByKey(ONE_TASK_PROCESS_KEY).getId(); createGrantAuthorization(PROCESS_DEFINITION, ANY, userId, READ_INSTANCE); // when ExecutionQuery query = runtimeService.createExecutionQuery(); // then verifyQueryResults(query, 1); Execution execution = query.singleResult(); assertNotNull(execution); assertEquals(processInstanceId, execution.getProcessInstanceId()); }
@Deployment public void testJavaServiceDelegation() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("javaServiceDelegation", CollectionUtil.singletonMap("input", "Activiti BPM Engine")); Execution execution = runtimeService.createExecutionQuery() .processInstanceId(pi.getId()) .activityId("waitState") .singleResult(); assertEquals("ACTIVITI BPM ENGINE", runtimeService.getVariable(execution.getId(), "input")); }
@Deployment public void testParallelSubProcessAllAutomatic() { String procId = runtimeService.startProcessInstanceByKey("miParallelSubprocessAllAutomatics", CollectionUtil.singletonMap("nrOfLoops", 5)).getId(); Execution waitState = runtimeService.createExecutionQuery().singleResult(); assertEquals(10, runtimeService.getVariable(waitState.getId(), "sum")); runtimeService.signal(waitState.getId()); assertProcessEnded(procId); }
@Deployment public void testExecutionJobsParallel() { runtimeService.startProcessInstanceByKey("testProcess"); ExecutionEntity processInstance = (ExecutionEntity) runtimeService.createProcessInstanceQuery().singleResult(); assertEquals(0, processInstance.getCachedEntityStateRaw()); ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().activityId("userTask").singleResult(); assertEquals(BitMaskUtil.getMaskForBit(ExecutionEntity.JOBS_STATE_BIT), execution.getCachedEntityStateRaw()); }
@Deployment public void testWaitStateBehavior() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("receiveTask"); Execution execution = runtimeService.createExecutionQuery() .processInstanceId(pi.getId()) .activityId("waitState") .singleResult(); assertNotNull(execution); runtimeService.signal(execution.getId()); assertProcessEnded(pi.getId()); } }
@Deployment public void testInputExternalClasspathScriptValue() { runtimeService.startProcessInstanceByKey("testProcess"); Execution execution = runtimeService.createExecutionQuery().activityId("wait").singleResult(); VariableInstance variable = runtimeService.createVariableInstanceQuery().variableName("var1").singleResult(); assertNotNull(variable); assertEquals(2, variable.getValue()); assertEquals(execution.getId(), variable.getExecutionId()); }
@Deployment public void testCatchErrorOnSubprocessThrownByInterruptingEventSubprocess() { runtimeService.startProcessInstanceByKey("testProcess"); EventSubscription messageSubscription = runtimeService.createEventSubscriptionQuery().singleResult(); runtimeService.messageEventReceived("message", messageSubscription.getExecutionId()); // should successfully have reached the task following the boundary event Execution taskExecution = runtimeService.createExecutionQuery().activityId("afterBoundaryTask").singleResult(); assertNotNull(taskExecution); Task task = taskService.createTaskQuery().executionId(taskExecution.getId()).singleResult(); assertNotNull(task); }