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); }
@Override public void execute(PerfTestRunContext context) { Execution execution = runtimeService.createExecutionQuery() .messageEventSubscriptionName(message) .processInstanceId((String)context.getVariable(processInstanceKey)) .singleResult(); runtimeService.messageEventReceived(message, execution.getId()); }
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 execute(ProcessEngine engine, String scenarioName) { // given ProcessInstance processInstance = engine.getRuntimeService().startProcessInstanceByKey("Process", "process"); // when Execution execution = engine.getRuntimeService().createExecutionQuery().processInstanceId(processInstance.getId()).singleResult(); engine.getRuntimeService().setVariable(execution.getId(), "foo", "bar"); } };
private String getExecutionId(String processInstanceId, String activityId) { return runtimeService.createExecutionQuery() .processInstanceId(processInstanceId).activityId(activityId).singleResult().getId(); }
public void testQueryByInvalidProcessInstanceId() { ExecutionQuery query = runtimeService.createExecutionQuery().processInstanceId("invalid"); assertNull(query.singleResult()); assertEquals(0, query.list().size()); assertEquals(0, query.count()); }
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()); }
@Deployment public void testExpressionFieldInjection() { Map<String, Object> vars = new HashMap<String, Object>(); vars.put("name", "kermit"); vars.put("gender", "male"); vars.put("genderBean", new GenderBean()); ProcessInstance pi = runtimeService.startProcessInstanceByKey("expressionFieldInjection", vars); Execution execution = runtimeService.createExecutionQuery() .processInstanceId(pi.getId()) .activityId("waitState") .singleResult(); assertEquals("timrek .rM olleH", runtimeService.getVariable(execution.getId(), "var2")); assertEquals("elam :si redneg ruoY", runtimeService.getVariable(execution.getId(), "var1")); }
@Test public void testAsyncSignalEvent() throws InterruptedException { ProcessInstance piCatchSignal = runtimeService.startProcessInstanceByKey("catchSignal"); ProcessInstance piThrowSignal = runtimeService.startProcessInstanceByKey("throwSignal"); waitForJobExecutorToProcessAllJobs(); assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(piCatchSignal.getProcessInstanceId()).activityId("receiveTask").count()); assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(piThrowSignal.getProcessInstanceId()).activityId("receiveTask").count()); // clean up runtimeService.signal(piCatchSignal.getId()); runtimeService.signal(piThrowSignal.getId()); assertEquals(0, runtimeService.createExecutionQuery().processInstanceId(piCatchSignal.getProcessInstanceId()).count()); assertEquals(0, runtimeService.createExecutionQuery().processInstanceId(piThrowSignal.getProcessInstanceId()).count()); }
@Deployment public void testDefaultSequenceFlowOnTask() { String procId = runtimeService.startProcessInstanceByKey("defaultSeqFlow", CollectionUtil.singletonMap("input", 2)).getId(); assertNotNull(runtimeService.createExecutionQuery().processInstanceId(procId).activityId("task2").singleResult()); procId = runtimeService.startProcessInstanceByKey("defaultSeqFlow", CollectionUtil.singletonMap("input", 3)).getId(); assertNotNull(runtimeService.createExecutionQuery().processInstanceId(procId).activityId("task3").singleResult()); procId = runtimeService.startProcessInstanceByKey("defaultSeqFlow", CollectionUtil.singletonMap("input", 123)).getId(); assertNotNull(runtimeService.createExecutionQuery().processInstanceId(procId).activityId("task1").singleResult()); }
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 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")); }
public void execute(ProcessEngine engine, String scenarioName) { // given ProcessInstance processInstance = engine.getRuntimeService().startProcessInstanceByKey("Process", "processWithJsonVariables79"); // when Execution execution = engine.getRuntimeService().createExecutionQuery().processInstanceId(processInstance.getId()).singleResult(); engine.getRuntimeService().setVariable(execution.getId(), "objectVariable", createObjectVariable()); engine.getRuntimeService().setVariable(execution.getId(), "plainTypeArrayVariable", createPlainTypeArray()); engine.getRuntimeService().setVariable(execution.getId(), "notGenericObjectListVariable", createNotGenericObjectList()); engine.getRuntimeService().setVariable(execution.getId(), "serializedMapVariable", createSerializedMap()); } };
public void execute(ProcessEngine engine, String scenarioName) { // given ProcessInstance processInstance = engine.getRuntimeService().startProcessInstanceByKey("Process", "processWithJsonVariables"); // when Execution execution = engine.getRuntimeService().createExecutionQuery().processInstanceId(processInstance.getId()).singleResult(); engine.getRuntimeService().setVariable(execution.getId(), "objectVariable", createObjectVariable()); engine.getRuntimeService().setVariable(execution.getId(), "plainTypeArrayVariable", createPlainTypeArray()); engine.getRuntimeService().setVariable(execution.getId(), "notGenericObjectListVariable", createNotGenericObjectList()); engine.getRuntimeService().setVariable(execution.getId(), "serializedMapVariable", createSerializedMap()); } };
@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 testFieldInjection() { // Process contains 2 service-tasks using field-injection. One should use the exposed setter, // the other is using the private field. ProcessInstance pi = runtimeService.startProcessInstanceByKey("fieldInjection"); Execution execution = runtimeService.createExecutionQuery() .processInstanceId(pi.getId()) .activityId("waitState") .singleResult(); assertEquals("HELLO WORLD", runtimeService.getVariable(execution.getId(), "var")); assertEquals("HELLO SETTER", runtimeService.getVariable(execution.getId(), "setterVar")); }
@Deployment(resources={ "org/camunda/bpm/engine/test/bpmn/event/end/TerminateEndEventTest.testTerminateWithCallActivity.bpmn", "org/camunda/bpm/engine/test/bpmn/event/end/TerminateEndEventTest.subProcessNoTerminate.bpmn" }) public void testTerminateWithCallActivity() throws Exception { ProcessInstance pi = runtimeService.startProcessInstanceByKey("terminateEndEventExample"); long executionEntities = runtimeService.createExecutionQuery().processInstanceId(pi.getId()).count(); assertEquals(4, executionEntities); Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).taskDefinitionKey("preTerminateEnd").singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testTerminateInSubProcess() throws Exception { serviceTaskInvokedCount = 0; ProcessInstance pi = runtimeService.startProcessInstanceByKey("terminateEndEventExample"); // should terminate the subprocess and continue the parent long executionEntities = runtimeService.createExecutionQuery().processInstanceId(pi.getId()).count(); assertEquals(1, executionEntities); Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).taskDefinitionKey("preNormalEnd").singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testProcessTerminate() throws Exception { ProcessInstance pi = runtimeService.startProcessInstanceByKey("terminateEndEventExample"); long executionEntities = runtimeService.createExecutionQuery().processInstanceId(pi.getId()).count(); assertEquals(3, executionEntities); Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).taskDefinitionKey("preTerminateTask").singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testTerminateWithSubProcess() throws Exception { ProcessInstance pi = runtimeService.startProcessInstanceByKey("terminateEndEventExample"); // should terminate the process and long executionEntities = runtimeService.createExecutionQuery().processInstanceId(pi.getId()).count(); assertEquals(4, executionEntities); Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).taskDefinitionKey("preTerminateEnd").singleResult(); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }