org.camunda.bpm.engine.runtime.Execution

Here are the examples of the java api class org.camunda.bpm.engine.runtime.Execution taken from open source projects.

1. FullHistoryTest#testHistoricTaskInstanceQueryVariableOfSameTypeInParallelBranch()

Project: camunda-bpm-platform
File: FullHistoryTest.java
@Test
@Deployment(resources = "org/camunda/bpm/engine/test/standalone/history/FullHistoryTest.testHistoricTaskInstanceQueryVariableInParallelBranch.bpmn20.xml")
public void testHistoricTaskInstanceQueryVariableOfSameTypeInParallelBranch() throws Exception {
    runtimeService.startProcessInstanceByKey("parallelGateway");
    // when there are two process variables of the same name but different types
    Execution task1Execution = runtimeService.createExecutionQuery().activityId("task1").singleResult();
    runtimeService.setVariableLocal(task1Execution.getId(), "var", 12345L);
    Execution task2Execution = runtimeService.createExecutionQuery().activityId("task2").singleResult();
    runtimeService.setVariableLocal(task2Execution.getId(), "var", 45678L);
    // then the task query should be able to filter by both variables and return both tasks
    assertEquals(2, historyService.createHistoricTaskInstanceQuery().processVariableValueEquals("var", 12345L).count());
    assertEquals(2, historyService.createHistoricTaskInstanceQuery().processVariableValueEquals("var", 45678L).count());
}

2. FullHistoryTest#testHistoricTaskInstanceQueryVariableInParallelBranch()

Project: camunda-bpm-platform
File: FullHistoryTest.java
@Test
@Deployment
public void testHistoricTaskInstanceQueryVariableInParallelBranch() throws Exception {
    runtimeService.startProcessInstanceByKey("parallelGateway");
    // when there are two process variables of the same name but different types
    Execution task1Execution = runtimeService.createExecutionQuery().activityId("task1").singleResult();
    runtimeService.setVariableLocal(task1Execution.getId(), "var", 12345L);
    Execution task2Execution = runtimeService.createExecutionQuery().activityId("task2").singleResult();
    runtimeService.setVariableLocal(task2Execution.getId(), "var", 12345);
    // then the task query should be able to filter by both variables and return both tasks
    assertEquals(2, historyService.createHistoricTaskInstanceQuery().processVariableValueEquals("var", 12345).count());
    assertEquals(2, historyService.createHistoricTaskInstanceQuery().processVariableValueEquals("var", 12345L).count());
}

3. JobPrioritizationBpmnConstantValueTest#testAsyncSignalThrowingEventActivityPriority()

Project: camunda-bpm-platform
File: JobPrioritizationBpmnConstantValueTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/job/intermediateSignalAsyncProcess.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/job/intermediateSignalCatchJobPrioProcess.bpmn20.xml" })
public void testAsyncSignalThrowingEventActivityPriority() {
    // given a receiving process instance with two subscriptions
    runtimeService.startProcessInstanceByKey("intermediateSignalCatchJobPrioProcess");
    // and a process instance that executes an async signal throwing event
    runtimeService.startProcessInstanceByKey("intermediateSignalJobPrioProcess");
    Execution signal1Execution = runtimeService.createExecutionQuery().activityId("signal1").singleResult();
    Job signal1Job = managementService.createJobQuery().executionId(signal1Execution.getId()).singleResult();
    Execution signal2Execution = runtimeService.createExecutionQuery().activityId("signal2").singleResult();
    Job signal2Job = managementService.createJobQuery().executionId(signal2Execution.getId()).singleResult();
    // then the jobs have the priority as specified for the receiving events, not the throwing
    assertEquals(8, signal1Job.getPriority());
    assertEquals(4, signal2Job.getPriority());
}

4. TaskQueryTest#testQueryByVariableInParallelBranch()

Project: camunda-bpm-platform
File: TaskQueryTest.java
@Deployment
public void testQueryByVariableInParallelBranch() throws Exception {
    runtimeService.startProcessInstanceByKey("parallelGateway");
    // when there are two process variables of the same name but different types
    Execution task1Execution = runtimeService.createExecutionQuery().activityId("task1").singleResult();
    runtimeService.setVariableLocal(task1Execution.getId(), "var", 12345L);
    Execution task2Execution = runtimeService.createExecutionQuery().activityId("task2").singleResult();
    runtimeService.setVariableLocal(task2Execution.getId(), "var", 12345);
    // then the task query should be able to filter by both variables and return both tasks
    assertEquals(2, taskService.createTaskQuery().processVariableValueEquals("var", 12345).count());
    assertEquals(2, taskService.createTaskQuery().processVariableValueEquals("var", 12345L).count());
}

5. ProcessInstanceSuspensionTest#testChildExecutionsSuspendedAfterProcessInstanceSuspendByProcessDefinitionKey()

Project: camunda-bpm-platform
File: ProcessInstanceSuspensionTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/ProcessInstanceSuspensionTest.testChildExecutionsSuspendedAfterProcessInstanceSuspend.bpmn20.xml" })
public void testChildExecutionsSuspendedAfterProcessInstanceSuspendByProcessDefinitionKey() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testChildExecutionsSuspended");
    runtimeService.suspendProcessInstanceByProcessDefinitionKey("testChildExecutionsSuspended");
    List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list();
    for (Execution execution : executions) {
        assertTrue(execution.isSuspended());
    }
    // Activate again
    runtimeService.activateProcessInstanceByProcessDefinitionKey("testChildExecutionsSuspended");
    executions = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list();
    for (Execution execution : executions) {
        assertFalse(execution.isSuspended());
    }
    // Finish process
    while (taskService.createTaskQuery().count() > 0) {
        for (Task task : taskService.createTaskQuery().list()) {
            taskService.complete(task.getId());
        }
    }
    assertEquals(0, runtimeService.createProcessInstanceQuery().count());
}

6. ProcessInstanceSuspensionTest#testChildExecutionsSuspendedAfterProcessInstanceSuspendByProcessDefinitionId()

Project: camunda-bpm-platform
File: ProcessInstanceSuspensionTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/ProcessInstanceSuspensionTest.testChildExecutionsSuspendedAfterProcessInstanceSuspend.bpmn20.xml" })
public void testChildExecutionsSuspendedAfterProcessInstanceSuspendByProcessDefinitionId() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testChildExecutionsSuspended");
    runtimeService.suspendProcessInstanceByProcessDefinitionId(processInstance.getProcessDefinitionId());
    List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list();
    for (Execution execution : executions) {
        assertTrue(execution.isSuspended());
    }
    // Activate again
    runtimeService.activateProcessInstanceByProcessDefinitionId(processInstance.getProcessDefinitionId());
    executions = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list();
    for (Execution execution : executions) {
        assertFalse(execution.isSuspended());
    }
    // Finish process
    while (taskService.createTaskQuery().count() > 0) {
        for (Task task : taskService.createTaskQuery().list()) {
            taskService.complete(task.getId());
        }
    }
    assertEquals(0, runtimeService.createProcessInstanceQuery().count());
}

7. ProcessInstanceSuspensionTest#testChildExecutionsSuspendedAfterProcessInstanceSuspend()

Project: camunda-bpm-platform
File: ProcessInstanceSuspensionTest.java
@Deployment
public void testChildExecutionsSuspendedAfterProcessInstanceSuspend() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testChildExecutionsSuspended");
    runtimeService.suspendProcessInstanceById(processInstance.getId());
    List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list();
    for (Execution execution : executions) {
        assertTrue(execution.isSuspended());
    }
    // Activate again
    runtimeService.activateProcessInstanceById(processInstance.getId());
    executions = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).list();
    for (Execution execution : executions) {
        assertFalse(execution.isSuspended());
    }
    // Finish process
    while (taskService.createTaskQuery().count() > 0) {
        for (Task task : taskService.createTaskQuery().list()) {
            taskService.complete(task.getId());
        }
    }
    assertEquals(0, runtimeService.createProcessInstanceQuery().count());
}

8. MultiInstanceTest#testActiveExecutionsInParallelTasks()

Project: camunda-bpm-platform
File: MultiInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.testParallelUserTasks.bpmn20.xml" })
public void testActiveExecutionsInParallelTasks() {
    runtimeService.startProcessInstanceByKey("miParallelUserTasks").getId();
    ProcessInstance instance = runtimeService.createProcessInstanceQuery().singleResult();
    List<Execution> executions = runtimeService.createExecutionQuery().list();
    assertEquals(5, executions.size());
    for (Execution execution : executions) {
        ExecutionEntity entity = (ExecutionEntity) execution;
        if (!entity.getId().equals(instance.getId()) && !entity.getParentId().equals(instance.getId())) {
            // child executions
            assertTrue(entity.isActive());
        } else {
            // process instance and scope execution
            assertFalse(entity.isActive());
        }
    }
}

9. MultiInstanceTest#testParallelUserTasksExecutionAndTaskListeners()

Project: camunda-bpm-platform
File: MultiInstanceTest.java
@Deployment
public void testParallelUserTasksExecutionAndTaskListeners() {
    runtimeService.startProcessInstanceByKey("miParallelUserTasks");
    List<Task> tasks = taskService.createTaskQuery().list();
    for (Task task : tasks) {
        taskService.complete(task.getId());
    }
    Execution waitState = runtimeService.createExecutionQuery().singleResult();
    assertEquals(3, runtimeService.getVariable(waitState.getId(), "taskListenerCounter"));
    assertEquals(3, runtimeService.getVariable(waitState.getId(), "executionListenerCounter"));
}

10. MultiInstanceTest#testParallelReceiveTasks()

Project: camunda-bpm-platform
File: MultiInstanceTest.java
@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);
}

11. InputOutputTest#testSubprocessIoSupport()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testSubprocessIoSupport() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("processVar", "value");
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testProcess", variables);
    Execution subprocessExecution = runtimeService.createExecutionQuery().activityId("subprocessTask").singleResult();
    Map<String, Object> variablesLocal = runtimeService.getVariablesLocal(subprocessExecution.getId());
    assertEquals(1, variablesLocal.size());
    assertEquals("value", variablesLocal.get("innerVar"));
    Task task = taskService.createTaskQuery().singleResult();
    taskService.complete(task.getId());
    String outerVariable = (String) runtimeService.getVariableLocal(processInstance.getId(), "outerVar");
    assertNotNull(outerVariable);
    assertEquals("value", outerVariable);
}

12. InputOutputTest#testInputNested()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
@SuppressWarnings("unchecked")
public void testInputNested() {
    runtimeService.startProcessInstanceByKey("testProcess");
    Execution execution = runtimeService.createExecutionQuery().activityId("wait").singleResult();
    VariableInstance var1 = runtimeService.createVariableInstanceQuery().variableName("var1").singleResult();
    TreeMap<String, Object> value = (TreeMap) var1.getValue();
    List<Object> nestedList = (List<Object>) value.get("a");
    assertEquals("stringInListNestedInMap", nestedList.get(0));
    assertEquals("b", nestedList.get(1));
    VariableInstance var2 = runtimeService.createVariableInstanceQuery().variableName("var2").singleResult();
    assertNotNull(var2);
    assertEquals("stringConstantValue", var2.getValue());
    assertEquals(execution.getId(), var2.getExecutionId());
}

13. InputOutputTest#testInputMultipleMixedValue()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testInputMultipleMixedValue() {
    runtimeService.startProcessInstanceByKey("testProcess");
    Execution execution = runtimeService.createExecutionQuery().activityId("wait").singleResult();
    VariableInstance var1 = runtimeService.createVariableInstanceQuery().variableName("var1").singleResult();
    assertNotNull(var1);
    assertEquals(2l, var1.getValue());
    assertEquals(execution.getId(), var1.getExecutionId());
    VariableInstance var2 = runtimeService.createVariableInstanceQuery().variableName("var2").singleResult();
    assertNotNull(var2);
    assertEquals("stringConstantValue", var2.getValue());
    assertEquals(execution.getId(), var2.getExecutionId());
}

14. InputOutputTest#testInputMultipleElValue()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testInputMultipleElValue() {
    runtimeService.startProcessInstanceByKey("testProcess");
    Execution execution = runtimeService.createExecutionQuery().activityId("wait").singleResult();
    VariableInstance var1 = runtimeService.createVariableInstanceQuery().variableName("var1").singleResult();
    assertNotNull(var1);
    assertEquals(2l, var1.getValue());
    assertEquals(execution.getId(), var1.getExecutionId());
    VariableInstance var2 = runtimeService.createVariableInstanceQuery().variableName("var2").singleResult();
    assertNotNull(var2);
    assertEquals(3l, var2.getValue());
    assertEquals(execution.getId(), var2.getExecutionId());
}

15. InputOutputTest#testInputExternalDeploymentScriptValueAsBean()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/iomapping/InputOutputTest.testInputExternalDeploymentScriptValueAsBean.bpmn", "org/camunda/bpm/engine/test/bpmn/iomapping/oneplusone.groovy" })
public void testInputExternalDeploymentScriptValueAsBean() {
    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());
}

16. InputOutputTest#testInputExternalDeploymentScriptValueAsVariable()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/iomapping/InputOutputTest.testInputExternalDeploymentScriptValueAsVariable.bpmn", "org/camunda/bpm/engine/test/bpmn/iomapping/oneplusone.groovy" })
public void testInputExternalDeploymentScriptValueAsVariable() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("scriptPath", "deployment://org/camunda/bpm/engine/test/bpmn/iomapping/oneplusone.groovy");
    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());
}

17. InputOutputTest#testInputExternalDeploymentScriptValue()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/iomapping/InputOutputTest.testInputExternalDeploymentScriptValue.bpmn", "org/camunda/bpm/engine/test/bpmn/iomapping/oneplusone.groovy" })
public void testInputExternalDeploymentScriptValue() {
    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());
}

18. InputOutputTest#testInputExternalClasspathScriptValueAsBean()

Project: camunda-bpm-platform
File: InputOutputTest.java
@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());
}

19. InputOutputTest#testInputExternalClasspathScriptValueAsVariable()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testInputExternalClasspathScriptValueAsVariable() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("scriptPath", "classpath://org/camunda/bpm/engine/test/bpmn/iomapping/oneplusone.groovy");
    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());
}

20. InputOutputTest#testInputExternalScriptValueAsBean()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testInputExternalScriptValueAsBean() {
    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());
}

21. InputOutputTest#testInputExternalScriptValueAsVariable()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testInputExternalScriptValueAsVariable() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("scriptPath", "org/camunda/bpm/engine/test/bpmn/iomapping/oneplusone.groovy");
    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());
}

22. InputOutputTest#testInputScriptValueAsBean()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testInputScriptValueAsBean() {
    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());
}

23. InputOutputTest#testInputScriptValueAsVariable()

Project: camunda-bpm-platform
File: InputOutputTest.java
@Deployment
public void testInputScriptValueAsVariable() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("scriptSource", "return 1 + 1");
    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());
}

24. InputOutputEventTest#testMessageCatchEvent()

Project: camunda-bpm-platform
File: InputOutputEventTest.java
@Deployment
public void testMessageCatchEvent() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testProcess");
    Execution messageExecution = runtimeService.createExecutionQuery().activityId("messageCatch").singleResult();
    Map<String, Object> localVariables = runtimeService.getVariablesLocal(messageExecution.getId());
    assertEquals(1, localVariables.size());
    assertEquals("mappedValue", localVariables.get("mappedVariable"));
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("messageVariable", "outValue");
    runtimeService.messageEventReceived("IncomingMessage", messageExecution.getId(), variables);
    // output mapping
    String variable = (String) runtimeService.getVariableLocal(processInstance.getId(), "outVariable");
    assertEquals("outValue", variable);
}

25. InclusiveGatewayTest#testLoop()

Project: camunda-bpm-platform
File: InclusiveGatewayTest.java
/** This test the isReachable() check thaty is done to check if
   * upstream tokens can reach the inclusive gateway.
   *
   * In case of loops, special care needs to be taken in the algorithm,
   * or else stackoverflows will happen very quickly.
   */
@Deployment
public void testLoop() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("inclusiveTestLoop", CollectionUtil.singletonMap("counter", 1));
    Task task = taskService.createTaskQuery().singleResult();
    assertEquals("task C", task.getName());
    taskService.complete(task.getId());
    assertEquals(0, taskService.createTaskQuery().count());
    for (Execution execution : runtimeService.createExecutionQuery().list()) {
        System.out.println(((ExecutionEntity) execution).getActivityId());
    }
    assertEquals("Found executions: " + runtimeService.createExecutionQuery().list(), 0, runtimeService.createExecutionQuery().count());
    assertProcessEnded(pi.getId());
}

26. SignalEventReceivedBuilderTest#testSendSignalToIntermediateCatchEventWithVariables()

Project: camunda-bpm-platform
File: SignalEventReceivedBuilderTest.java
public void testSendSignalToIntermediateCatchEventWithVariables() {
    deployment(signalCatchProcess("signalCatch"));
    runtimeService.startProcessInstanceByKey("signalCatch");
    Map<String, Object> variables = Variables.createVariables().putValue("var1", "a").putValue("var2", "b");
    runtimeService.createSignalEvent("signal").setVariables(variables).send();
    Execution execution = runtimeService.createExecutionQuery().singleResult();
    assertThat(runtimeService.getVariables(execution.getId()), is(variables));
}

27. SignalEventReceivedBuilderTest#testSendSignalToStartEventWithVariables()

Project: camunda-bpm-platform
File: SignalEventReceivedBuilderTest.java
public void testSendSignalToStartEventWithVariables() {
    deployment(signalStartProcess("signalStart"));
    Map<String, Object> variables = Variables.createVariables().putValue("var1", "a").putValue("var2", "b");
    runtimeService.createSignalEvent("signal").setVariables(variables).send();
    Execution execution = runtimeService.createExecutionQuery().singleResult();
    assertThat(runtimeService.getVariables(execution.getId()), is(variables));
}

28. MessageIntermediateEventTest#testSingleIntermediateMessageEvent()

Project: camunda-bpm-platform
File: MessageIntermediateEventTest.java
@Deployment
public void testSingleIntermediateMessageEvent() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("process");
    List<String> activeActivityIds = runtimeService.getActiveActivityIds(pi.getId());
    assertNotNull(activeActivityIds);
    assertEquals(1, activeActivityIds.size());
    assertTrue(activeActivityIds.contains("messageCatch"));
    String messageName = "newInvoiceMessage";
    Execution execution = runtimeService.createExecutionQuery().messageEventSubscriptionName(messageName).singleResult();
    assertNotNull(execution);
    runtimeService.messageEventReceived(messageName, execution.getId());
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
    taskService.complete(task.getId());
}

29. ErrorEventSubProcessTest#testCatchErrorThrownBySignalOfDelegateExpression()

Project: camunda-bpm-platform
File: ErrorEventSubProcessTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/ErrorEventSubProcessTest.testCatchErrorThrownByDelegateExpression.bpmn20.xml" })
public void testCatchErrorThrownBySignalOfDelegateExpression() {
    VariableMap variables = Variables.createVariables().putValue("myDelegate", new ThrowErrorDelegate());
    String pi = runtimeService.startProcessInstanceByKey("testProcess", variables).getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

30. ErrorEventSubProcessTest#testCatchExceptionThrownBySignalOfDelegateExpression()

Project: camunda-bpm-platform
File: ErrorEventSubProcessTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/ErrorEventSubProcessTest.testCatchErrorThrownByDelegateExpression.bpmn20.xml" })
public void testCatchExceptionThrownBySignalOfDelegateExpression() {
    VariableMap variables = Variables.createVariables().putValue("myDelegate", new ThrowErrorDelegate());
    String pi = runtimeService.startProcessInstanceByKey("testProcess", variables).getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

31. ErrorEventSubProcessTest#testCatchErrorThrownBySignalOfAbstractBpmnActivityBehavior()

Project: camunda-bpm-platform
File: ErrorEventSubProcessTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/ErrorEventSubProcessTest.testCatchErrorThrownByAbstractBpmnActivityBehavior.bpmn20.xml" })
public void testCatchErrorThrownBySignalOfAbstractBpmnActivityBehavior() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

32. ErrorEventSubProcessTest#testCatchExceptionThrownBySignalOfAbstractBpmnActivityBehavior()

Project: camunda-bpm-platform
File: ErrorEventSubProcessTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/ErrorEventSubProcessTest.testCatchErrorThrownByAbstractBpmnActivityBehavior.bpmn20.xml" })
public void testCatchExceptionThrownBySignalOfAbstractBpmnActivityBehavior() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

33. BoundaryErrorEventTest#testCatchErrorOnSubprocessThrownByNestedEventSubprocess()

Project: camunda-bpm-platform
File: BoundaryErrorEventTest.java
@Deployment
public void testCatchErrorOnSubprocessThrownByNestedEventSubprocess() {
    runtimeService.startProcessInstanceByKey("testProcess");
    // trigger outer event subprocess
    EventSubscription messageSubscription = runtimeService.createEventSubscriptionQuery().singleResult();
    runtimeService.messageEventReceived("outerMessage", messageSubscription.getExecutionId());
    // trigger inner event subprocess
    messageSubscription = runtimeService.createEventSubscriptionQuery().singleResult();
    runtimeService.messageEventReceived("innerMessage", 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);
}

34. BoundaryErrorEventTest#testCatchErrorOnSubprocessThrownByInterruptingEventSubprocess()

Project: camunda-bpm-platform
File: BoundaryErrorEventTest.java
@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);
}

35. BoundaryErrorEventTest#testCatchErrorOnSubprocessThrownByNonInterruptingEventSubprocess()

Project: camunda-bpm-platform
File: BoundaryErrorEventTest.java
@Deployment
public void testCatchErrorOnSubprocessThrownByNonInterruptingEventSubprocess() {
    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);
}

36. BoundaryErrorEventTest#testCatchErrorThrownBySignalOfDelegateExpression()

Project: camunda-bpm-platform
File: BoundaryErrorEventTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/BoundaryErrorEventTest.testCatchErrorThrownByDelegateExpression.bpmn20.xml" })
public void testCatchErrorThrownBySignalOfDelegateExpression() {
    VariableMap variables = Variables.createVariables().putValue("myDelegate", new ThrowErrorDelegate());
    String pi = runtimeService.startProcessInstanceByKey("testProcess", variables).getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

37. BoundaryErrorEventTest#testCatchExceptionThrownBySignalMethodOfDelegateExpression()

Project: camunda-bpm-platform
File: BoundaryErrorEventTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/BoundaryErrorEventTest.testCatchErrorThrownByDelegateExpression.bpmn20.xml" })
public void testCatchExceptionThrownBySignalMethodOfDelegateExpression() {
    VariableMap variables = Variables.createVariables().putValue("myDelegate", new ThrowErrorDelegate());
    String pi = runtimeService.startProcessInstanceByKey("testProcess", variables).getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

38. BoundaryErrorEventTest#testCatchErrorThrownBySignalOfAbstractBpmnActivityBehavior()

Project: camunda-bpm-platform
File: BoundaryErrorEventTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/BoundaryErrorEventTest.testCatchErrorThrownByAbstractBpmnActivityBehavior.bpmn20.xml" })
public void testCatchErrorThrownBySignalOfAbstractBpmnActivityBehavior() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

39. BoundaryErrorEventTest#testCatchExceptionThrownBySignalMethodOfAbstractBpmnActivityBehavior()

Project: camunda-bpm-platform
File: BoundaryErrorEventTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/error/BoundaryErrorEventTest.testCatchErrorThrownByAbstractBpmnActivityBehavior.bpmn20.xml" })
public void testCatchExceptionThrownBySignalMethodOfAbstractBpmnActivityBehavior() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

40. AsyncTaskTest#testFailingAsyncServiceTimer()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
@Deployment
public void testFailingAsyncServiceTimer() {
    // start process
    runtimeService.startProcessInstanceByKey("asyncService");
    // now there should be one job in the database, and it is a message
    assertEquals(1, managementService.createJobQuery().count());
    Job job = managementService.createJobQuery().singleResult();
    if (!(job instanceof MessageEntity)) {
        fail("the job must be a message");
    }
    executeAvailableJobs();
    // the service failed: the execution is still sitting in the service task:
    Execution execution = runtimeService.createExecutionQuery().singleResult();
    assertNotNull(execution);
    assertEquals("service", runtimeService.getActiveActivityIds(execution.getId()).get(0));
    // there is still a single job because the timer was created in the same transaction as the
    // service was executed (which rolled back)
    assertEquals(1, managementService.createJobQuery().count());
    runtimeService.deleteProcessInstance(execution.getId(), "dead");
}

41. ExecutionVariablesTest#testTreeCompactionAndExpansionWithConcurrentLocalVariables()

Project: camunda-bpm-platform
File: ExecutionVariablesTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/variables/ExecutionVariablesTest.testTreeCompactionForkParallelGateway.bpmn20.xml")
public void testTreeCompactionAndExpansionWithConcurrentLocalVariables() {
    // given
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("process");
    Execution task1Execution = runtimeService.createExecutionQuery().activityId("task1").singleResult();
    Task task2 = taskService.createTaskQuery().taskDefinitionKey("task2").singleResult();
    runtimeService.setVariableLocal(task1Execution.getId(), "var", "value");
    // when compacting the tree
    taskService.complete(task2.getId());
    // and expanding again
    runtimeService.createProcessInstanceModification(processInstance.getId()).startBeforeActivity("task2").execute();
    // then the variable is again assigned to task1's concurrent execution
    Task task1 = taskService.createTaskQuery().taskDefinitionKey("task1").singleResult();
    VariableInstance variable = runtimeService.createVariableInstanceQuery().singleResult();
    assertEquals(task1.getExecutionId(), variable.getExecutionId());
}

42. ExecutionVariablesTest#FAILING_testForkWithThreeBranchesAndJoinOfTwoBranches()

Project: camunda-bpm-platform
File: ExecutionVariablesTest.java
@Deployment
public void FAILING_testForkWithThreeBranchesAndJoinOfTwoBranches() {
    // given
    runtimeService.startProcessInstanceByKey("process");
    Execution task2Execution = runtimeService.createExecutionQuery().activityId("task2").singleResult();
    // when
    runtimeService.setVariableLocal(task2Execution.getId(), "foo", "bar");
    taskService.complete(taskService.createTaskQuery().taskDefinitionKey("task1").singleResult().getId());
    taskService.complete(taskService.createTaskQuery().taskDefinitionKey("task2").singleResult().getId());
    // then
    assertEquals(0, runtimeService.createVariableInstanceQuery().count());
}

43. RuntimeServiceTest#testExecutionWaitingForDifferentSignal()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/RuntimeServiceTest.catchAlertSignal.bpmn20.xml" })
public void testExecutionWaitingForDifferentSignal() {
    runtimeService.startProcessInstanceByKey("catchAlertSignal");
    Execution execution = runtimeService.createExecutionQuery().signalEventSubscriptionName("alert").singleResult();
    try {
        runtimeService.signalEventReceived("bogusSignal", execution.getId());
        fail("exeception expected");
    } catch (ProcessEngineException e) {
        assertTrue(e.getMessage().contains("has not subscribed to a signal event with name 'bogusSignal'"));
    }
}

44. RuntimeServiceTest#testDeleteProcessInstanceWithVariableOnScopeAndConcurrentExecution()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testDeleteProcessInstanceWithVariableOnScopeAndConcurrentExecution() {
    // given
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    runtimeService.createProcessInstanceModification(processInstance.getId()).startBeforeActivity("task").execute();
    List<Execution> executions = runtimeService.createExecutionQuery().list();
    for (Execution execution : executions) {
        runtimeService.setVariableLocal(execution.getId(), "foo", "bar");
    }
    // when
    runtimeService.deleteProcessInstance(processInstance.getId(), null);
    // then
    assertProcessEnded(processInstance.getId());
}

45. ProcessInstantiationAtActivitiesTest#testIoMappingInvocation()

Project: camunda-bpm-platform
File: ProcessInstantiationAtActivitiesTest.java
@Deployment(resources = IO_PROCESS)
public void testIoMappingInvocation() {
    // when
    runtimeService.createProcessInstanceByKey("ioProcess").startBeforeActivity("innerTask").execute();
    // then no io mappings have been executed
    List<VariableInstance> variables = runtimeService.createVariableInstanceQuery().orderByVariableName().asc().list();
    assertEquals(2, variables.size());
    Execution innerTaskExecution = runtimeService.createExecutionQuery().activityId("innerTask").singleResult();
    VariableInstance innerTaskVariable = variables.get(0);
    assertEquals("innerTaskVariable", innerTaskVariable.getName());
    assertEquals("innerTaskValue", innerTaskVariable.getValue());
    assertEquals(innerTaskExecution.getId(), innerTaskVariable.getExecutionId());
    VariableInstance subProcessVariable = variables.get(1);
    assertEquals("subProcessVariable", subProcessVariable.getName());
    assertEquals("subProcessValue", subProcessVariable.getValue());
    assertEquals(((ExecutionEntity) innerTaskExecution).getParentId(), subProcessVariable.getExecutionId());
}

46. ProcessInstanceModificationTest#testCompensationRemovalOnCancellation()

Project: camunda-bpm-platform
File: ProcessInstanceModificationTest.java
@Deployment
public void testCompensationRemovalOnCancellation() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("compensationProcess");
    Execution taskExecution = runtimeService.createExecutionQuery().activityId("innerTask").singleResult();
    Task task = taskService.createTaskQuery().executionId(taskExecution.getId()).singleResult();
    assertNotNull(task);
    taskService.complete(task.getId());
    // there should be a compensation event subscription for innerTask now
    assertEquals(1, runtimeService.createEventSubscriptionQuery().count());
    // when innerTask2 is cancelled
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    runtimeService.createProcessInstanceModification(processInstance.getId()).cancelActivityInstance(getInstanceIdForActivity(tree, "innerTask2")).execute();
    // then the innerTask compensation should be removed
    assertEquals(0, runtimeService.createEventSubscriptionQuery().count());
}

47. ProcessInstanceModificationTest#testSkipIoMappings()

Project: camunda-bpm-platform
File: ProcessInstanceModificationTest.java
@Deployment(resources = IO_MAPPING_PROCESS)
public void testSkipIoMappings() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("ioMappingProcess");
    // when I start task2
    runtimeService.createProcessInstanceModification(processInstance.getId()).startBeforeActivity("task2").execute(false, true);
    // then the input mapping should not have executed
    Execution task2Execution = runtimeService.createExecutionQuery().activityId("task2").singleResult();
    assertNotNull(task2Execution);
    assertNull(runtimeService.getVariable(task2Execution.getId(), "inputMappingExecuted"));
    // when I cancel task2
    runtimeService.createProcessInstanceModification(processInstance.getId()).cancelAllForActivity("task2").execute(false, true);
    // then the output mapping should not have executed
    assertNull(runtimeService.getVariable(processInstance.getId(), "outputMappingExecuted"));
}

48. ProcessInstanceModificationMultiInstanceTest#assertVariableSet()

Project: camunda-bpm-platform
File: ProcessInstanceModificationMultiInstanceTest.java
protected void assertVariableSet(List<Execution> executions, String variableName, List<?> expectedValues) {
    List<Object> actualValues = new ArrayList<Object>();
    for (Execution execution : executions) {
        actualValues.add(runtimeService.getVariable(execution.getId(), variableName));
    }
    for (Object expectedValue : expectedValues) {
        boolean valueFound = actualValues.remove(expectedValue);
        assertTrue("Expected variable value '" + expectedValue + "' not contained in the list of actual values. " + "Unmatched actual values: " + actualValues, valueFound);
    }
    assertTrue("There are more actual than expected values.", actualValues.isEmpty());
}

49. ProcessInstanceModificationAsyncTest#testStartAfterAsync()

Project: camunda-bpm-platform
File: ProcessInstanceModificationAsyncTest.java
/**
   * starting after a task should not respect that tasks asyncAfter setting
   */
@Deployment
public void testStartAfterAsync() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("exclusiveGateway");
    String processInstanceId = processInstance.getId();
    runtimeService.createProcessInstanceModification(processInstance.getId()).startAfterActivity("task2").execute();
    // there is now a job for the end event after task2
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    Execution jobExecution = runtimeService.createExecutionQuery().activityId("end2").executionId(job.getExecutionId()).singleResult();
    assertNotNull(jobExecution);
    // end process
    completeTasksInOrder("task1");
    managementService.executeJob(job.getId());
    assertProcessEnded(processInstanceId);
}

50. SetProcessDefinitionVersionCmdTest#testSetProcessDefinitionVersionPIIsSubExecution()

Project: camunda-bpm-platform
File: SetProcessDefinitionVersionCmdTest.java
@Deployment(resources = { TEST_PROCESS_WITH_PARALLEL_GATEWAY })
public void testSetProcessDefinitionVersionPIIsSubExecution() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("forkJoin");
    Execution execution = runtimeService.createExecutionQuery().activityId("receivePayment").singleResult();
    CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutorTxRequired();
    SetProcessDefinitionVersionCmd command = new SetProcessDefinitionVersionCmd(execution.getId(), 1);
    try {
        commandExecutor.execute(command);
        fail("ProcessEngineException expected");
    } catch (ProcessEngineException ae) {
        assertTextPresent("A process instance id is required, but the provided id '" + execution.getId() + "' points to a child execution of process instance '" + pi.getId() + "'. Please invoke the " + command.getClass().getSimpleName() + " with a root execution id.", ae.getMessage());
    }
}

51. IncidentQueryTest#testQueryByExecutionId()

Project: camunda-bpm-platform
File: IncidentQueryTest.java
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());
}

52. ExecutionQueryTest#testQueryForExecutionsWithMessageEventSubscriptionsOverlappingFilters()

Project: camunda-bpm-platform
File: ExecutionQueryTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/oneMessageCatchProcess.bpmn20.xml")
public void testQueryForExecutionsWithMessageEventSubscriptionsOverlappingFilters() {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneMessageCatchProcess");
    Execution execution = runtimeService.createExecutionQuery().messageEventSubscriptionName("newInvoiceMessage").messageEventSubscription().singleResult();
    assertNotNull(execution);
    assertEquals(instance.getId(), execution.getProcessInstanceId());
    runtimeService.createExecutionQuery().messageEventSubscription().messageEventSubscriptionName("newInvoiceMessage").list();
    assertNotNull(execution);
    assertEquals(instance.getId(), execution.getProcessInstanceId());
}

53. ExecutionQueryTest#testExecutionQueryForSuspendedExecutions()

Project: camunda-bpm-platform
File: ExecutionQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/concurrentExecution.bpmn20.xml" })
public void testExecutionQueryForSuspendedExecutions() {
    List<Execution> suspendedExecutions = runtimeService.createExecutionQuery().suspended().list();
    assertEquals(suspendedExecutions.size(), 0);
    for (String instanceId : concurrentProcessInstanceIds) {
        runtimeService.suspendProcessInstanceById(instanceId);
    }
    suspendedExecutions = runtimeService.createExecutionQuery().suspended().list();
    assertEquals(12, suspendedExecutions.size());
    List<Execution> activeExecutions = runtimeService.createExecutionQuery().active().list();
    assertEquals(1, activeExecutions.size());
    for (Execution activeExecution : activeExecutions) {
        assertEquals(activeExecution.getProcessInstanceId(), sequentialProcessInstanceIds.get(0));
    }
}

54. ExecutionQueryTest#testExecutionQueryWithProcessVariable()

Project: camunda-bpm-platform
File: ExecutionQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/concurrentExecution.bpmn20.xml" })
public void testExecutionQueryWithProcessVariable() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("x", "parent");
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("concurrent", variables);
    List<Execution> concurrentExecutions = runtimeService.createExecutionQuery().processInstanceId(pi.getId()).list();
    assertEquals(3, concurrentExecutions.size());
    for (Execution execution : concurrentExecutions) {
        if (!((ExecutionEntity) execution).isProcessInstanceExecution()) {
            // only the concurrent executions, not the root one, would be cooler to query that directly, see http://jira.codehaus.org/browse/ACT-1373
            runtimeService.setVariableLocal(execution.getId(), "x", "child");
        }
    }
    assertEquals(2, runtimeService.createExecutionQuery().processInstanceId(pi.getId()).variableValueEquals("x", "child").count());
    assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(pi.getId()).variableValueEquals("x", "parent").count());
    assertEquals(3, runtimeService.createExecutionQuery().processInstanceId(pi.getId()).processVariableValueEquals("x", "parent").count());
    assertEquals(3, runtimeService.createExecutionQuery().processInstanceId(pi.getId()).processVariableValueNotEquals("x", "xxx").count());
}

55. ExecutionQueryTest#testQueryBySignalSubscriptionNameBoundary()

Project: camunda-bpm-platform
File: ExecutionQueryTest.java
@Deployment
public void testQueryBySignalSubscriptionNameBoundary() {
    runtimeService.startProcessInstanceByKey("signalProces");
    // it finds subscribed instances
    Execution execution = runtimeService.createExecutionQuery().signalEventSubscription("Test signal").singleResult();
    assertNotNull(execution);
    // test query for nonexisting subscription
    execution = runtimeService.createExecutionQuery().signalEventSubscription("nonExisitng").singleResult();
    assertNull(execution);
    // it finds more than one
    runtimeService.startProcessInstanceByKey("signalProces");
    assertEquals(2, runtimeService.createExecutionQuery().signalEventSubscription("Test signal").count());
}

56. ExecutionQueryTest#testQueryBySignalSubscriptionName()

Project: camunda-bpm-platform
File: ExecutionQueryTest.java
@Deployment
public void testQueryBySignalSubscriptionName() {
    runtimeService.startProcessInstanceByKey("catchSignal");
    // it finds subscribed instances
    Execution execution = runtimeService.createExecutionQuery().signalEventSubscription("alert").singleResult();
    assertNotNull(execution);
    // test query for nonexisting subscription
    execution = runtimeService.createExecutionQuery().signalEventSubscription("nonExisitng").singleResult();
    assertNull(execution);
    // it finds more than one
    runtimeService.startProcessInstanceByKey("catchSignal");
    assertEquals(2, runtimeService.createExecutionQuery().signalEventSubscription("alert").count());
}

57. MultiTenancySignalReceiveCmdTenantCheckTest#failToSignalIntermediateCatchEventNoAuthenticatedTenants()

Project: camunda-bpm-platform
File: MultiTenancySignalReceiveCmdTenantCheckTest.java
@Test
public void failToSignalIntermediateCatchEventNoAuthenticatedTenants() {
    testRule.deployForTenant(TENANT_ONE, SIGNAL_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("signalCatch").execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("signalCatch").signalEventSubscriptionName("signal").singleResult();
    // declared expected exception
    thrown.expect(ProcessEngineException.class);
    thrown.expectMessage("Cannot update the process instance");
    engineRule.getIdentityService().setAuthentication("user", null, null);
    engineRule.getRuntimeService().signal(execution.getId(), "signal", null, null);
}

58. MultiTenancySignalReceiveCmdTenantCheckTest#signalIntermediateCatchEventDisabledTenantCheck()

Project: camunda-bpm-platform
File: MultiTenancySignalReceiveCmdTenantCheckTest.java
@Test
public void signalIntermediateCatchEventDisabledTenantCheck() {
    testRule.deployForTenant(TENANT_ONE, SIGNAL_CATCH_PROCESS);
    testRule.deployForTenant(TENANT_TWO, SIGNAL_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("signalCatch").processDefinitionTenantId(TENANT_ONE).execute();
    engineRule.getRuntimeService().createProcessInstanceByKey("signalCatch").processDefinitionTenantId(TENANT_TWO).execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("signalCatch").signalEventSubscriptionName("signal").tenantIdIn(TENANT_ONE).singleResult();
    engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false);
    engineRule.getIdentityService().setAuthentication("user", null, null);
    engineRule.getRuntimeService().signal(execution.getId(), "signal", null, null);
    TaskQuery query = engineRule.getTaskService().createTaskQuery();
    assertThat(query.count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_TWO).count(), is(0L));
}

59. MultiTenancySignalReceiveCmdTenantCheckTest#signalIntermediateCatchEventWithAuthenticatedTenant()

Project: camunda-bpm-platform
File: MultiTenancySignalReceiveCmdTenantCheckTest.java
@Test
public void signalIntermediateCatchEventWithAuthenticatedTenant() {
    testRule.deployForTenant(TENANT_ONE, SIGNAL_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("signalCatch").processDefinitionTenantId(TENANT_ONE).execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("signalCatch").signalEventSubscriptionName("signal").singleResult();
    engineRule.getIdentityService().setAuthentication("user", null, Arrays.asList(TENANT_ONE));
    engineRule.getRuntimeService().signal(execution.getId(), "signal", null, null);
    engineRule.getIdentityService().clearAuthentication();
    TaskQuery query = engineRule.getTaskService().createTaskQuery();
    assertThat(query.count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L));
}

60. MultiTenancySignalReceiveCmdTenantCheckTest#signalIntermediateCatchEventNoAuthenticatedTenants()

Project: camunda-bpm-platform
File: MultiTenancySignalReceiveCmdTenantCheckTest.java
@Test
public void signalIntermediateCatchEventNoAuthenticatedTenants() {
    testRule.deploy(SIGNAL_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("signalCatch").execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("signalCatch").signalEventSubscriptionName("signal").singleResult();
    engineRule.getIdentityService().setAuthentication("user", null, null);
    engineRule.getRuntimeService().signal(execution.getId(), "signal", null, null);
    engineRule.getIdentityService().clearAuthentication();
    TaskQuery query = engineRule.getTaskService().createTaskQuery();
    assertThat(query.count(), is(1L));
    assertThat(query.withoutTenantId().count(), is(1L));
}

61. MultiTenancySignalReceiveCmdTenantCheckTest#failToSendSignalToIntermediateCatchEventWithExecutionIdAndNoAuthenticatedTenants()

Project: camunda-bpm-platform
File: MultiTenancySignalReceiveCmdTenantCheckTest.java
@Test
public void failToSendSignalToIntermediateCatchEventWithExecutionIdAndNoAuthenticatedTenants() {
    testRule.deployForTenant(TENANT_ONE, SIGNAL_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("signalCatch").processDefinitionTenantId(TENANT_ONE).execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("signalCatch").signalEventSubscriptionName("signal").singleResult();
    // declare expected exception
    thrown.expect(ProcessEngineException.class);
    thrown.expectMessage("Cannot update the process instance");
    engineRule.getIdentityService().setAuthentication("user", null, null);
    engineRule.getRuntimeService().createSignalEvent("signal").executionId(execution.getId()).send();
}

62. MultiTenancySignalReceiveCmdTenantCheckTest#sendSignalToIntermediateCatchEventWithExecutionIdAndAuthenticatedTenant()

Project: camunda-bpm-platform
File: MultiTenancySignalReceiveCmdTenantCheckTest.java
@Test
public void sendSignalToIntermediateCatchEventWithExecutionIdAndAuthenticatedTenant() {
    testRule.deployForTenant(TENANT_ONE, SIGNAL_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("signalCatch").processDefinitionTenantId(TENANT_ONE).execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("signalCatch").signalEventSubscriptionName("signal").singleResult();
    engineRule.getIdentityService().setAuthentication("user", null, Arrays.asList(TENANT_ONE));
    engineRule.getRuntimeService().createSignalEvent("signal").executionId(execution.getId()).send();
    engineRule.getIdentityService().clearAuthentication();
    TaskQuery query = engineRule.getTaskService().createTaskQuery();
    assertThat(query.count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L));
}

63. MultiTenancyMessageEventReceivedCmdTenantCheckTest#failToCorrelateReceivedMessageToIntermediateCatchEventNoAuthenticatedTenants()

Project: camunda-bpm-platform
File: MultiTenancyMessageEventReceivedCmdTenantCheckTest.java
@Test
public void failToCorrelateReceivedMessageToIntermediateCatchEventNoAuthenticatedTenants() {
    testRule.deployForTenant(TENANT_ONE, MESSAGE_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("messageCatch").processDefinitionTenantId(TENANT_ONE).execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("messageCatch").messageEventSubscriptionName("message").tenantIdIn(TENANT_ONE).singleResult();
    // declare expected exception
    thrown.expect(ProcessEngineException.class);
    thrown.expectMessage("Cannot update the process instance");
    engineRule.getIdentityService().setAuthentication("user", null, null);
    engineRule.getRuntimeService().messageEventReceived("message", execution.getId());
}

64. MultiTenancyMessageEventReceivedCmdTenantCheckTest#correlateReceivedMessageToIntermediateCatchEventDisabledTenantCheck()

Project: camunda-bpm-platform
File: MultiTenancyMessageEventReceivedCmdTenantCheckTest.java
@Test
public void correlateReceivedMessageToIntermediateCatchEventDisabledTenantCheck() {
    testRule.deployForTenant(TENANT_ONE, MESSAGE_CATCH_PROCESS);
    testRule.deployForTenant(TENANT_TWO, MESSAGE_CATCH_PROCESS);
    engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false);
    engineRule.getIdentityService().setAuthentication("user", null, null);
    engineRule.getRuntimeService().createProcessInstanceByKey("messageCatch").processDefinitionTenantId(TENANT_ONE).execute();
    engineRule.getRuntimeService().createProcessInstanceByKey("messageCatch").processDefinitionTenantId(TENANT_TWO).execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("messageCatch").messageEventSubscriptionName("message").tenantIdIn(TENANT_ONE).singleResult();
    engineRule.getRuntimeService().messageEventReceived("message", execution.getId());
    TaskQuery query = engineRule.getTaskService().createTaskQuery();
    assertThat(query.count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_TWO).count(), is(0L));
}

65. MultiTenancyMessageEventReceivedCmdTenantCheckTest#correlateReceivedMessageToIntermediateCatchEventWithAuthenticatedTenant()

Project: camunda-bpm-platform
File: MultiTenancyMessageEventReceivedCmdTenantCheckTest.java
@Test
public void correlateReceivedMessageToIntermediateCatchEventWithAuthenticatedTenant() {
    testRule.deployForTenant(TENANT_ONE, MESSAGE_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("messageCatch").execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("messageCatch").messageEventSubscriptionName("message").singleResult();
    engineRule.getIdentityService().setAuthentication("user", null, Arrays.asList(TENANT_ONE));
    engineRule.getRuntimeService().messageEventReceived("message", execution.getId());
    engineRule.getIdentityService().clearAuthentication();
    TaskQuery query = engineRule.getTaskService().createTaskQuery();
    assertThat(query.count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L));
}

66. MultiTenancyMessageEventReceivedCmdTenantCheckTest#correlateReceivedMessageToIntermediateCatchEventNoAuthenticatedTenants()

Project: camunda-bpm-platform
File: MultiTenancyMessageEventReceivedCmdTenantCheckTest.java
@Test
public void correlateReceivedMessageToIntermediateCatchEventNoAuthenticatedTenants() {
    testRule.deploy(MESSAGE_CATCH_PROCESS);
    engineRule.getRuntimeService().createProcessInstanceByKey("messageCatch").execute();
    Execution execution = engineRule.getRuntimeService().createExecutionQuery().processDefinitionKey("messageCatch").messageEventSubscriptionName("message").singleResult();
    engineRule.getIdentityService().setAuthentication("user", null, null);
    engineRule.getRuntimeService().messageEventReceived("message", execution.getId());
    engineRule.getIdentityService().clearAuthentication();
    TaskQuery query = engineRule.getTaskService().createTaskQuery();
    assertThat(query.count(), is(1L));
    assertThat(query.withoutTenantId().count(), is(1L));
    assertThat(query.tenantIdIn(TENANT_ONE).count(), is(0L));
}

67. ExecutionAuthorizationTest#testQueryWithReadPermissionOnProcessInstance()

Project: camunda-bpm-platform
File: ExecutionAuthorizationTest.java
public void testQueryWithReadPermissionOnProcessInstance() {
    // given
    startProcessInstanceByKey(ONE_TASK_PROCESS_KEY);
    startProcessInstanceByKey(ONE_TASK_PROCESS_KEY);
    String processInstanceId = startProcessInstanceByKey(ONE_TASK_PROCESS_KEY).getId();
    startProcessInstanceByKey(MESSAGE_BOUNDARY_PROCESS_KEY);
    startProcessInstanceByKey(MESSAGE_BOUNDARY_PROCESS_KEY);
    startProcessInstanceByKey(MESSAGE_BOUNDARY_PROCESS_KEY);
    startProcessInstanceByKey(MESSAGE_BOUNDARY_PROCESS_KEY);
    createGrantAuthorization(PROCESS_INSTANCE, processInstanceId, userId, READ);
    // when
    ExecutionQuery query = runtimeService.createExecutionQuery();
    // then
    verifyQueryResults(query, 1);
    Execution execution = query.singleResult();
    assertNotNull(execution);
    assertEquals(processInstanceId, execution.getProcessInstanceId());
}

68. ExecutionAuthorizationTest#testSimpleQueryWithReadInstancesPermissionOnAnyProcessDefinition()

Project: camunda-bpm-platform
File: ExecutionAuthorizationTest.java
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());
}

69. ExecutionAuthorizationTest#testSimpleQueryWithReadInstancesPermissionOnOneTaskProcess()

Project: camunda-bpm-platform
File: ExecutionAuthorizationTest.java
public void testSimpleQueryWithReadInstancesPermissionOnOneTaskProcess() {
    // given
    String processInstanceId = startProcessInstanceByKey(ONE_TASK_PROCESS_KEY).getId();
    createGrantAuthorization(PROCESS_DEFINITION, ONE_TASK_PROCESS_KEY, userId, READ_INSTANCE);
    // when
    ExecutionQuery query = runtimeService.createExecutionQuery();
    // then
    verifyQueryResults(query, 1);
    Execution execution = query.singleResult();
    assertNotNull(execution);
    assertEquals(processInstanceId, execution.getProcessInstanceId());
}

70. ExecutionAuthorizationTest#testSimpleQueryWithReadPermissionOnAnyProcessInstance()

Project: camunda-bpm-platform
File: ExecutionAuthorizationTest.java
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());
}

71. ExecutionAuthorizationTest#testSimpleQueryWithReadPermissionOnProcessInstance()

Project: camunda-bpm-platform
File: ExecutionAuthorizationTest.java
public void testSimpleQueryWithReadPermissionOnProcessInstance() {
    // given
    String processInstanceId = startProcessInstanceByKey(ONE_TASK_PROCESS_KEY).getId();
    createGrantAuthorization(PROCESS_INSTANCE, processInstanceId, userId, READ);
    // when
    ExecutionQuery query = runtimeService.createExecutionQuery();
    // then
    verifyQueryResults(query, 1);
    Execution execution = query.singleResult();
    assertNotNull(execution);
    assertEquals(processInstanceId, execution.getProcessInstanceId());
}

72. IntermediateMessageCatchEventTest#test()

Project: camunda-bpm-platform
File: IntermediateMessageCatchEventTest.java
@Test
public void test() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testProcess");
    long eventSubscriptionCount = runtimeService.createEventSubscriptionQuery().count();
    assertEquals(1, eventSubscriptionCount);
    Execution execution = runtimeService.createExecutionQuery().messageEventSubscriptionName("Test Message").singleResult();
    assertNotNull(execution);
    //runtimeService.messageEventReceived("Test Message", execution.getId());
    runtimeService.createMessageCorrelation("Test Message").correlate();
    eventSubscriptionCount = runtimeService.createEventSubscriptionQuery().count();
    assertEquals(0, eventSubscriptionCount);
    assertEquals(0, runtimeService.createExecutionQuery().count());
}

73. CatchErrorFromProcessApplicationTest#testThrowErrorInDelegateExpressionSignalParallelMultiInstance()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowErrorInDelegateExpressionSignalParallelMultiInstance() {
    String pi = runtimeService.startProcessInstanceByKey("testProcessParallelMI").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

74. CatchErrorFromProcessApplicationTest#testThrowExceptionInDelegateExpressionSignalParallelMultiInstance()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowExceptionInDelegateExpressionSignalParallelMultiInstance() {
    String pi = runtimeService.startProcessInstanceByKey("testProcessParallelMI").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

75. CatchErrorFromProcessApplicationTest#testThrowErrorInDelegateExpressionSignal()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowErrorInDelegateExpressionSignal() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

76. CatchErrorFromProcessApplicationTest#testThrowExceptionInDelegateExpressionSignal()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowExceptionInDelegateExpressionSignal() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

77. CatchErrorFromProcessApplicationTest#testThrowErrorInSignalParallelMultiInstance()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowErrorInSignalParallelMultiInstance() {
    String pi = runtimeService.startProcessInstanceByKey("testProcessParallelMI").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

78. CatchErrorFromProcessApplicationTest#testThrowExceptionInSignalParallelMultiInstance()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowExceptionInSignalParallelMultiInstance() {
    String pi = runtimeService.startProcessInstanceByKey("testProcessParallelMI").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

79. CatchErrorFromProcessApplicationTest#testThrowErrorInSignal()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowErrorInSignal() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

80. CatchErrorFromProcessApplicationTest#testThrowExceptionInSignal()

Project: camunda-bpm-platform
File: CatchErrorFromProcessApplicationTest.java
@Test
@OperateOnDeployment("clientDeployment")
public void testThrowExceptionInSignal() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").singleResult();
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

81. InvocationContextTest#testInvokeProcessApplicationWithContextOnSignalTask()

Project: camunda-bpm-platform
File: InvocationContextTest.java
@Test
@OperateOnDeployment("app")
public void testInvokeProcessApplicationWithContextOnSignalTask() {
    runtimeService.startProcessInstanceByKey("signalableProcess");
    ProcessApplicationWithInvocationContext.clearInvocationContext();
    Execution execution = runtimeService.createExecutionQuery().activityId("waitingTask").singleResult();
    assertThat(execution, is(notNullValue()));
    runtimeService.signal(execution.getId());
    InvocationContext invocationContext = ProcessApplicationWithInvocationContext.getInvocationContext();
    assertThat(invocationContext, is(notNullValue()));
    assertThat(invocationContext.getExecution(), is(notNullValue()));
    assertThat(invocationContext.getExecution().getId(), is(execution.getId()));
}

82. ExecutionRestServiceInteractionTest#testGetSingleExecution()

Project: camunda-bpm-platform
File: ExecutionRestServiceInteractionTest.java
@Test
public void testGetSingleExecution() {
    Execution mockExecution = MockProvider.createMockExecution();
    ExecutionQuery sampleExecutionQuery = mock(ExecutionQuery.class);
    when(runtimeServiceMock.createExecutionQuery()).thenReturn(sampleExecutionQuery);
    when(sampleExecutionQuery.executionId(MockProvider.EXAMPLE_EXECUTION_ID)).thenReturn(sampleExecutionQuery);
    when(sampleExecutionQuery.singleResult()).thenReturn(mockExecution);
    given().pathParam("id", MockProvider.EXAMPLE_EXECUTION_ID).then().expect().statusCode(Status.OK.getStatusCode()).body("id", equalTo(MockProvider.EXAMPLE_EXECUTION_ID)).body("ended", equalTo(MockProvider.EXAMPLE_EXECUTION_IS_ENDED)).body("processInstanceId", equalTo(MockProvider.EXAMPLE_PROCESS_INSTANCE_ID)).body("tenantId", equalTo(MockProvider.EXAMPLE_TENANT_ID)).when().get(EXECUTION_URL);
}

83. ExecutionRestServiceImpl#queryExecutions()

Project: camunda-bpm-platform
File: ExecutionRestServiceImpl.java
@Override
public List<ExecutionDto> queryExecutions(ExecutionQueryDto queryDto, Integer firstResult, Integer maxResults) {
    ProcessEngine engine = getProcessEngine();
    queryDto.setObjectMapper(getObjectMapper());
    ExecutionQuery query = queryDto.toQuery(engine);
    List<Execution> matchingExecutions;
    if (firstResult != null || maxResults != null) {
        matchingExecutions = executePaginatedQuery(query, firstResult, maxResults);
    } else {
        matchingExecutions = query.list();
    }
    List<ExecutionDto> executionResults = new ArrayList<ExecutionDto>();
    for (Execution execution : matchingExecutions) {
        ExecutionDto resultExecution = ExecutionDto.fromExecution(execution);
        executionResults.add(resultExecution);
    }
    return executionResults;
}

84. DefaultContextAssociationManager#setExecution()

Project: camunda-bpm-platform
File: DefaultContextAssociationManager.java
@Override
public void setExecution(Execution execution) {
    if (execution == null) {
        throw new ProcessEngineCdiException("Cannot associate with execution: null");
    }
    ensureCommandContextNotActive();
    ScopedAssociation scopedAssociation = getScopedAssociation();
    Execution associatedExecution = scopedAssociation.getExecution();
    if (associatedExecution != null && !associatedExecution.getId().equals(execution.getId())) {
        throw new ProcessEngineCdiException("Cannot associate " + execution + ", already associated with " + associatedExecution + ". Disassociate first!");
    }
    if (log.isLoggable(Level.FINE)) {
        log.fine("Associating " + execution + " (@" + scopedAssociation.getClass().getAnnotations()[0].annotationType().getSimpleName() + ")");
    }
    scopedAssociation.setExecution(execution);
}

85. ExecutionCachedEntityStateTest#testExecutionEventSubscriptionsMi()

Project: camunda-bpm-platform
File: ExecutionCachedEntityStateTest.java
@Deployment
public void testExecutionEventSubscriptionsMi() {
    runtimeService.startProcessInstanceByKey("testProcess");
    ExecutionEntity processInstance = (ExecutionEntity) runtimeService.createProcessInstanceQuery().singleResult();
    assertEquals(0, processInstance.getCachedEntityStateRaw());
    List<Execution> executions = runtimeService.createExecutionQuery().activityId("ReceiveTask_1").list();
    for (Execution execution : executions) {
        int cachedEntityStateRaw = ((ExecutionEntity) execution).getCachedEntityStateRaw();
        if (!((ExecutionEntity) execution).isScope()) {
            assertEquals(BitMaskUtil.getMaskForBit(ExecutionEntity.VARIABLES_STATE_BIT), cachedEntityStateRaw);
        } else {
            assertEquals(BitMaskUtil.getMaskForBit(ExecutionEntity.EVENT_SUBSCRIPTIONS_STATE_BIT), cachedEntityStateRaw);
        }
    }
}

86. ExecutionCachedEntityStateTest#testExecutionTasksMi()

Project: camunda-bpm-platform
File: ExecutionCachedEntityStateTest.java
@Deployment
public void testExecutionTasksMi() {
    runtimeService.startProcessInstanceByKey("testProcess");
    ExecutionEntity processInstance = (ExecutionEntity) runtimeService.createProcessInstanceQuery().singleResult();
    assertEquals(0, processInstance.getCachedEntityStateRaw());
    List<Execution> executions = runtimeService.createExecutionQuery().activityId("userTask").list();
    for (Execution execution : executions) {
        int cachedEntityStateRaw = ((ExecutionEntity) execution).getCachedEntityStateRaw();
        if (!((ExecutionEntity) execution).isScope()) {
            assertEquals(BitMaskUtil.getMaskForBit(ExecutionEntity.TASKS_STATE_BIT) | BitMaskUtil.getMaskForBit(ExecutionEntity.VARIABLES_STATE_BIT), cachedEntityStateRaw);
        } else {
            assertEquals(BitMaskUtil.getMaskForBit(ExecutionEntity.VARIABLES_STATE_BIT), cachedEntityStateRaw);
        }
    }
}

87. HistoricIncidentTest#testCreateHistoricIncidentForNestedExecution()

Project: camunda-bpm-platform
File: HistoricIncidentTest.java
@Deployment
public void testCreateHistoricIncidentForNestedExecution() {
    startProcessInstance("process");
    Execution execution = runtimeService.createExecutionQuery().activityId("serviceTask").singleResult();
    assertNotNull(execution);
    HistoricIncident historicIncident = historyService.createHistoricIncidentQuery().singleResult();
    assertNotNull(historicIncident);
    assertEquals(execution.getId(), historicIncident.getExecutionId());
    assertEquals("serviceTask", historicIncident.getActivityId());
}

88. HistoricActivityInstanceTest#testNonInterruptingBoundarySignalEvent()

Project: camunda-bpm-platform
File: HistoricActivityInstanceTest.java
@Deployment
public void testNonInterruptingBoundarySignalEvent() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("process");
    Execution execution = runtimeService.createExecutionQuery().signalEventSubscriptionName("newSignal").singleResult();
    runtimeService.signalEventReceived("newSignal", execution.getId());
    HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery();
    query.activityId("signal");
    assertEquals(1, query.count());
    assertNotNull(query.singleResult().getEndTime());
    assertEquals("boundarySignal", query.singleResult().getActivityType());
    List<Task> tasks = taskService.createTaskQuery().list();
    for (Task task : tasks) {
        taskService.complete(task.getId());
    }
    assertProcessEnded(pi.getId());
}

89. HistoricActivityInstanceTest#testInterruptingBoundarySignalEvent()

Project: camunda-bpm-platform
File: HistoricActivityInstanceTest.java
@Deployment
public void testInterruptingBoundarySignalEvent() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("process");
    Execution execution = runtimeService.createExecutionQuery().signalEventSubscriptionName("newSignal").singleResult();
    runtimeService.signalEventReceived("newSignal", execution.getId());
    HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery();
    query.activityId("signal");
    assertEquals(1, query.count());
    assertNotNull(query.singleResult().getEndTime());
    assertEquals("boundarySignal", query.singleResult().getActivityType());
    Task task = taskService.createTaskQuery().singleResult();
    taskService.complete(task.getId());
    assertProcessEnded(pi.getId());
}

90. HistoricActivityInstanceTest#testNonInterruptingBoundaryMessageEvent()

Project: camunda-bpm-platform
File: HistoricActivityInstanceTest.java
@Deployment
public void testNonInterruptingBoundaryMessageEvent() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("process");
    Execution execution = runtimeService.createExecutionQuery().messageEventSubscriptionName("newMessage").singleResult();
    runtimeService.messageEventReceived("newMessage", execution.getId());
    HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery();
    query.activityId("message");
    assertEquals(1, query.count());
    assertNotNull(query.singleResult().getEndTime());
    assertEquals("boundaryMessage", query.singleResult().getActivityType());
    List<Task> tasks = taskService.createTaskQuery().list();
    for (Task task : tasks) {
        taskService.complete(task.getId());
    }
    assertProcessEnded(pi.getId());
}

91. HistoricActivityInstanceTest#testInterruptingBoundaryMessageEvent()

Project: camunda-bpm-platform
File: HistoricActivityInstanceTest.java
@Deployment
public void testInterruptingBoundaryMessageEvent() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("process");
    Execution execution = runtimeService.createExecutionQuery().messageEventSubscriptionName("newMessage").singleResult();
    runtimeService.messageEventReceived("newMessage", execution.getId());
    HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery();
    query.activityId("message");
    assertEquals(1, query.count());
    assertNotNull(query.singleResult().getEndTime());
    assertEquals("boundaryMessage", query.singleResult().getActivityType());
    Task task = taskService.createTaskQuery().singleResult();
    taskService.complete(task.getId());
    assertProcessEnded(pi.getId());
}

92. CompetingSuspensionTest#testCompetingSuspension()

Project: camunda-bpm-platform
File: CompetingSuspensionTest.java
/**
   * Ensures that suspending a process definition and its process instances will also increase the revision of the executions
   * such that concurrent updates fail with an OptimisticLockingException.
   */
@Deployment
public void testCompetingSuspension() {
    ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("CompetingSuspensionProcess").singleResult();
    ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinition.getId());
    Execution execution = runtimeService.createExecutionQuery().processInstanceId(processInstance.getId()).activityId("wait1").singleResult();
    SuspendProcessDefinitionThread suspensionThread = new SuspendProcessDefinitionThread(processDefinition.getId());
    suspensionThread.startAndWaitUntilControlIsReturned();
    SignalThread signalExecutionThread = new SignalThread(execution.getId());
    signalExecutionThread.startAndWaitUntilControlIsReturned();
    suspensionThread.proceedAndWaitTillDone();
    assertNull(suspensionThread.exception);
    signalExecutionThread.proceedAndWaitTillDone();
    assertNotNull(signalExecutionThread.exception);
}

93. JavaServiceTaskTest#testExpressionFieldInjection()

Project: camunda-bpm-platform
File: JavaServiceTaskTest.java
@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"));
}

94. JavaServiceTaskTest#testFieldInjection()

Project: camunda-bpm-platform
File: JavaServiceTaskTest.java
@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"));
}

95. ReceiveTaskTest#testWaitStateBehavior()

Project: camunda-bpm-platform
File: ReceiveTaskTest.java
@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());
}

96. MultiInstanceTest#testCatchErrorThrownBySignalOfParallelDelegateExpression()

Project: camunda-bpm-platform
File: MultiInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.testCatchErrorThrownByParallelDelegateExpression.bpmn20.xml" })
public void testCatchErrorThrownBySignalOfParallelDelegateExpression() {
    VariableMap variables = Variables.createVariables().putValue("myDelegate", new ThrowErrorDelegate());
    String pi = runtimeService.startProcessInstanceByKey("testProcess", variables).getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

97. MultiInstanceTest#testCatchExceptionThrownBySignalOfParallelDelegateExpression()

Project: camunda-bpm-platform
File: MultiInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.testCatchErrorThrownByParallelDelegateExpression.bpmn20.xml" })
public void testCatchExceptionThrownBySignalOfParallelDelegateExpression() {
    VariableMap variables = Variables.createVariables().putValue("myDelegate", new ThrowErrorDelegate());
    String pi = runtimeService.startProcessInstanceByKey("testProcess", variables).getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

98. MultiInstanceTest#testCatchErrorThrownBySignalOfParallelAbstractBpmnActivityBehavior()

Project: camunda-bpm-platform
File: MultiInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.testCatchErrorThrownByParallelAbstractBpmnActivityBehavior.bpmn20.xml" })
public void testCatchErrorThrownBySignalOfParallelAbstractBpmnActivityBehavior() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwError());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskError", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

99. MultiInstanceTest#testCatchExceptionThrownBySignalOfParallelAbstractBpmnActivityBehavior()

Project: camunda-bpm-platform
File: MultiInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/multiinstance/MultiInstanceTest.testCatchErrorThrownByParallelAbstractBpmnActivityBehavior.bpmn20.xml" })
public void testCatchExceptionThrownBySignalOfParallelAbstractBpmnActivityBehavior() {
    String pi = runtimeService.startProcessInstanceByKey("testProcess").getId();
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertNull(runtimeService.getVariable(pi, "signaled"));
    Execution serviceTask = runtimeService.createExecutionQuery().processInstanceId(pi).activityId("serviceTask").list().get(3);
    assertNotNull(serviceTask);
    runtimeService.setVariables(pi, throwException());
    runtimeService.signal(serviceTask.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi, "executed"));
    assertTrue((Boolean) runtimeService.getVariable(pi, "signaled"));
    Task userTask = taskService.createTaskQuery().processInstanceId(pi).singleResult();
    assertNotNull(userTask);
    assertEquals("userTaskException", userTask.getTaskDefinitionKey());
    taskService.complete(userTask.getId());
}

100. MessageNonInterruptingBoundaryEventTest#testNestedEventsAnotherExecutionOrder()

Project: camunda-bpm-platform
File: MessageNonInterruptingBoundaryEventTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/message/MessageNonInterruptingBoundaryEventTest.testNestedEvents.bpmn20.xml" })
public void testNestedEventsAnotherExecutionOrder() {
    // given
    String processInstanceId = runtimeService.startProcessInstanceByKey("process").getId();
    // when (1)
    runtimeService.correlateMessage("secondMessage");
    // then (1)
    assertEquals(1, taskService.createTaskQuery().count());
    Task task1 = taskService.createTaskQuery().taskDefinitionKey("task1").singleResult();
    assertNotNull(task1);
    Execution task1Execution = runtimeService.createExecutionQuery().activityId("task1").singleResult();
    assertNotNull(task1Execution);
    assertEquals(processInstanceId, ((ExecutionEntity) task1Execution).getParentId());
    // when (2)
    runtimeService.correlateMessage("firstMessage");
    // then (2)
    assertEquals(2, taskService.createTaskQuery().count());
    Task innerTask = taskService.createTaskQuery().taskDefinitionKey("innerTask").singleResult();
    assertNotNull(innerTask);
    Execution innerTaskExecution = runtimeService.createExecutionQuery().activityId("innerTask").singleResult();
    assertFalse(processInstanceId.equals(((ExecutionEntity) innerTaskExecution).getParentId()));
    task1 = taskService.createTaskQuery().taskDefinitionKey("task1").singleResult();
    assertNotNull(task1);
    task1Execution = runtimeService.createExecutionQuery().activityId("task1").singleResult();
    assertNotNull(task1Execution);
    assertEquals(processInstanceId, ((ExecutionEntity) task1Execution).getParentId());
    // when (3)
    runtimeService.correlateMessage("thirdMessage");
    // then (3)
    assertEquals(2, taskService.createTaskQuery().count());
    task1 = taskService.createTaskQuery().taskDefinitionKey("task1").singleResult();
    assertNotNull(task1);
    task1Execution = runtimeService.createExecutionQuery().activityId("task1").singleResult();
    assertNotNull(task1Execution);
    assertEquals(processInstanceId, ((ExecutionEntity) task1Execution).getParentId());
    Task task2 = taskService.createTaskQuery().taskDefinitionKey("task2").singleResult();
    assertNotNull(task2);
    Execution task2Execution = runtimeService.createExecutionQuery().activityId("task2").singleResult();
    assertNotNull(task2Execution);
    assertEquals(processInstanceId, ((ExecutionEntity) task2Execution).getParentId());
    assertEquals(0, runtimeService.createEventSubscriptionQuery().count());
    taskService.complete(task1.getId());
    taskService.complete(task2.getId());
    assertProcessEnded(processInstanceId);
}