org.camunda.bpm.engine.runtime.ProcessInstance

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

1. ProcessInstanceQueryTest#testQueryBySubProcessInstanceIdNested()

Project: camunda-bpm-platform
File: ProcessInstanceQueryTest.java
//Nested subprocess make the query complexer, hence this test
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/superProcessWithNestedSubProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/nestedSubProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/subProcess.bpmn20.xml" })
public void testQueryBySubProcessInstanceIdNested() {
    ProcessInstance superProcessInstance = runtimeService.startProcessInstanceByKey("nestedSubProcessQueryTest");
    ProcessInstance subProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(superProcessInstance.getId()).singleResult();
    assertEquals(superProcessInstance.getId(), runtimeService.createProcessInstanceQuery().subProcessInstanceId(subProcessInstance.getId()).singleResult().getId());
    ProcessInstance nestedSubProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(subProcessInstance.getId()).singleResult();
    assertEquals(subProcessInstance.getId(), runtimeService.createProcessInstanceQuery().subProcessInstanceId(nestedSubProcessInstance.getId()).singleResult().getId());
}

2. ProcessInstanceQueryTest#testQueryBySuperProcessInstanceIdNested()

Project: camunda-bpm-platform
File: ProcessInstanceQueryTest.java
// Nested subprocess make the query complexer, hence this test
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/superProcessWithNestedSubProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/nestedSubProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/subProcess.bpmn20.xml" })
public void testQueryBySuperProcessInstanceIdNested() {
    ProcessInstance superProcessInstance = runtimeService.startProcessInstanceByKey("nestedSubProcessQueryTest");
    ProcessInstance subProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(superProcessInstance.getId()).singleResult();
    assertNotNull(subProcessInstance);
    ProcessInstance nestedSubProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(subProcessInstance.getId()).singleResult();
    assertNotNull(nestedSubProcessInstance);
}

3. TaskQueryTest#testQueryResultOrderingByStringVariableWithMixedCase()

Project: camunda-bpm-platform
File: TaskQueryTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/task/TaskQueryTest.testProcessDefinition.bpmn20.xml")
public void testQueryResultOrderingByStringVariableWithMixedCase() {
    // given three tasks with String and Integer process instance variables
    ProcessInstance instance1 = runtimeService.startProcessInstanceByKey("oneTaskProcess", Collections.<String, Object>singletonMap("var", "a"));
    ProcessInstance instance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", Collections.<String, Object>singletonMap("var", "B"));
    ProcessInstance instance3 = runtimeService.startProcessInstanceByKey("oneTaskProcess", Collections.<String, Object>singletonMap("var", "c"));
    // when I make a task query with variable ordering by String values
    List<Task> tasks = taskService.createTaskQuery().processDefinitionKey("oneTaskProcess").orderByProcessVariable("var", ValueType.STRING).asc().list();
    // then the tasks are ordered correctly
    assertEquals(3, tasks.size());
    // first the numeric valued task (since it is treated like null-valued)
    assertEquals(instance1.getId(), tasks.get(0).getProcessInstanceId());
    // then the others in alphabetical order
    assertEquals(instance2.getId(), tasks.get(1).getProcessInstanceId());
    assertEquals(instance3.getId(), tasks.get(2).getProcessInstanceId());
}

4. ExecutionQueryTest#testClashingValues()

Project: camunda-bpm-platform
File: ExecutionQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testClashingValues() throws Exception {
    Map<String, Object> vars = new HashMap<String, Object>();
    vars.put("var", 1234L);
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess", vars);
    Map<String, Object> vars2 = new HashMap<String, Object>();
    vars2.put("var", 1234);
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", vars2);
    List<Execution> executions = runtimeService.createExecutionQuery().processDefinitionKey("oneTaskProcess").variableValueEquals("var", 1234L).list();
    assertEquals(1, executions.size());
    assertEquals(processInstance.getId(), executions.get(0).getProcessInstanceId());
    runtimeService.deleteProcessInstance(processInstance.getId(), "test");
    runtimeService.deleteProcessInstance(processInstance2.getId(), "test");
}

5. TenantIdProviderTest#setsTenantId_SubProcessInstance()

Project: camunda-bpm-platform
File: TenantIdProviderTest.java
@Test
public void setsTenantId_SubProcessInstance() {
    String tenantId = TENANT_ID;
    SetValueOnSubProcessInstanceTenantIdProvider tenantIdProvider = new SetValueOnSubProcessInstanceTenantIdProvider(tenantId);
    TestTenantIdProvider.delegate = tenantIdProvider;
    testRule.deploy(Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done(), Bpmn.createExecutableProcess("superProcess").startEvent().callActivity().calledElement(PROCESS_DEFINITION_KEY).done());
    // if a process instance is started
    engineRule.getRuntimeService().startProcessInstanceByKey("superProcess");
    // then the tenant id provider can set the tenant id to a value
    ProcessInstance subProcessInstance = engineRule.getRuntimeService().createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).singleResult();
    assertThat(subProcessInstance.getTenantId(), is(tenantId));
    // and the super process instance is not assigned a tenant id
    ProcessInstance superProcessInstance = engineRule.getRuntimeService().createProcessInstanceQuery().processDefinitionKey("superProcess").singleResult();
    assertThat(superProcessInstance.getTenantId(), is(nullValue()));
}

6. MultiTenancyHistoricTaskInstanceQueryTest#setUp()

Project: camunda-bpm-platform
File: MultiTenancyHistoricTaskInstanceQueryTest.java
@Override
protected void setUp() {
    BpmnModelInstance oneTaskProcess = Bpmn.createExecutableProcess("testProcess").startEvent().userTask().endEvent().done();
    deploymentForTenant(TENANT_ONE, oneTaskProcess);
    deploymentForTenant(TENANT_TWO, oneTaskProcess);
    ProcessInstance processInstanceOne = startProcessInstanceForTenant(TENANT_ONE);
    ProcessInstance processInstanceTwo = startProcessInstanceForTenant(TENANT_TWO);
    completeUserTask(processInstanceOne);
    completeUserTask(processInstanceTwo);
}

7. MultiTenancyHistoricDetailVariableUpdateQueryTest#setUp()

Project: camunda-bpm-platform
File: MultiTenancyHistoricDetailVariableUpdateQueryTest.java
@Override
protected void setUp() {
    BpmnModelInstance oneTaskProcess = Bpmn.createExecutableProcess("testProcess").startEvent().userTask().endEvent().done();
    deploymentForTenant(TENANT_ONE, oneTaskProcess);
    deploymentForTenant(TENANT_TWO, oneTaskProcess);
    ProcessInstance processInstanceOne = startProcessInstanceForTenant(TENANT_ONE, TENANT_ONE_VAR);
    ProcessInstance processInstanceTwo = startProcessInstanceForTenant(TENANT_TWO, TENANT_TWO_VAR);
    completeUserTask(processInstanceOne, TENANT_ONE_VAR + "_updated");
    completeUserTask(processInstanceTwo, TENANT_TWO_VAR + "_updated");
}

8. MultiTenancyHistoricDetailFormPropertyQueryTest#setUp()

Project: camunda-bpm-platform
File: MultiTenancyHistoricDetailFormPropertyQueryTest.java
@Override
protected void setUp() throws IOException {
    BpmnModelInstance oneTaskProcess = Bpmn.createExecutableProcess("testProcess").startEvent().userTask("userTask").camundaFormField().camundaId("myFormField").camundaType("string").camundaFormFieldDone().endEvent().done();
    deploymentForTenant(TENANT_ONE, oneTaskProcess);
    deploymentForTenant(TENANT_TWO, oneTaskProcess);
    ProcessInstance processInstanceOne = startProcessInstanceForTenant(TENANT_ONE);
    ProcessInstance processInstanceTwo = startProcessInstanceForTenant(TENANT_TWO);
    completeUserTask(processInstanceOne);
    completeUserTask(processInstanceTwo);
}

9. BatchMigrationTest#testMigrateWithVarargsArray()

Project: camunda-bpm-platform
File: BatchMigrationTest.java
@Test
public void testMigrateWithVarargsArray() {
    ProcessDefinition sourceDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    ProcessDefinition targetDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    MigrationPlan migrationPlan = runtimeService.createMigrationPlan(sourceDefinition.getId(), targetDefinition.getId()).mapEqualActivities().build();
    ProcessInstance processInstance1 = runtimeService.startProcessInstanceById(sourceDefinition.getId());
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceById(sourceDefinition.getId());
    // when
    Batch batch = runtimeService.newMigration(migrationPlan).processInstanceIds(processInstance1.getId(), processInstance2.getId()).executeAsync();
    helper.executeSeedJob(batch);
    helper.executeMigrationJobs(batch);
    helper.executeMonitorJob(batch);
    // then
    Assert.assertEquals(2, runtimeService.createProcessInstanceQuery().processDefinitionId(targetDefinition.getId()).count());
}

10. MessageCorrelationTest#testMessageCorrelateAllResultListWithResultTypeExecution()

Project: camunda-bpm-platform
File: MessageCorrelationTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/MessageCorrelationTest.testCatchingMessageEventCorrelation.bpmn20.xml")
public void testMessageCorrelateAllResultListWithResultTypeExecution() {
    //given
    ProcessInstance procInstance1 = runtimeService.startProcessInstanceByKey("process");
    ProcessInstance procInstance2 = runtimeService.startProcessInstanceByKey("process");
    //when correlated all with result
    List<MessageCorrelationResult> resultList = runtimeService.createMessageCorrelation("newInvoiceMessage").correlateAllWithResult();
    assertEquals(2, resultList.size());
    //then result should contains executions on which messages was correlated
    for (MessageCorrelationResult result : resultList) {
        assertNotNull(result);
        assertEquals(MessageCorrelationResultType.Execution, result.getResultType());
        assertTrue(procInstance1.getId().equalsIgnoreCase(result.getExecution().getProcessInstanceId()) || procInstance2.getId().equalsIgnoreCase(result.getExecution().getProcessInstanceId()));
        ExecutionEntity entity = (ExecutionEntity) result.getExecution();
        assertEquals("messageCatch", entity.getActivityId());
    }
}

11. IncidentQueryTest#testQueryByCauseIncidentId()

Project: camunda-bpm-platform
File: IncidentQueryTest.java
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/IncidentQueryTest.testQueryByCauseIncidentId.bpmn" })
public void testQueryByCauseIncidentId() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("callFailingProcess");
    testHelper.executeAvailableJobs();
    ProcessInstance subProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(processInstance.getId()).singleResult();
    assertNotNull(subProcessInstance);
    Incident causeIncident = runtimeService.createIncidentQuery().processInstanceId(subProcessInstance.getId()).singleResult();
    assertNotNull(causeIncident);
    IncidentQuery query = runtimeService.createIncidentQuery().causeIncidentId(causeIncident.getId());
    assertEquals(2, query.count());
    List<Incident> incidents = query.list();
    assertFalse(incidents.isEmpty());
    assertEquals(2, incidents.size());
}

12. ExecutionQueryTest#testQueryForExecutionsWithMessageEventSubscriptions()

Project: camunda-bpm-platform
File: ExecutionQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/oneMessageCatchProcess.bpmn20.xml" })
public void testQueryForExecutionsWithMessageEventSubscriptions() {
    runtimeService.startProcessInstanceByKey("oneTaskProcess");
    runtimeService.startProcessInstanceByKey("oneTaskProcess");
    ProcessInstance instance1 = runtimeService.startProcessInstanceByKey("oneMessageCatchProcess");
    ProcessInstance instance2 = runtimeService.startProcessInstanceByKey("oneMessageCatchProcess");
    List<Execution> executions = runtimeService.createExecutionQuery().messageEventSubscription().orderByProcessInstanceId().asc().list();
    assertEquals(2, executions.size());
    if (instance1.getId().compareTo(instance2.getId()) < 0) {
        assertEquals(instance1.getId(), executions.get(0).getProcessInstanceId());
        assertEquals(instance2.getId(), executions.get(1).getProcessInstanceId());
    } else {
        assertEquals(instance2.getId(), executions.get(0).getProcessInstanceId());
        assertEquals(instance1.getId(), executions.get(1).getProcessInstanceId());
    }
}

13. MigrationProcessInstanceTest#testOverlappingProcessInstanceIdsAndQuery()

Project: camunda-bpm-platform
File: MigrationProcessInstanceTest.java
@Test
public void testOverlappingProcessInstanceIdsAndQuery() {
    ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    MigrationPlan migrationPlan = runtimeService.createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()).mapEqualActivities().build();
    ProcessInstance processInstance1 = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId());
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId());
    ProcessInstanceQuery sourceProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(sourceProcessDefinition.getId());
    ProcessInstanceQuery targetProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(targetProcessDefinition.getId());
    assertEquals(0, targetProcessInstanceQuery.count());
    runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList(processInstance1.getId(), processInstance2.getId())).processInstanceQuery(sourceProcessInstanceQuery).execute();
    assertEquals(2, targetProcessInstanceQuery.count());
}

14. MigrationProcessInstanceTest#testProcessInstanceIdsAndQuery()

Project: camunda-bpm-platform
File: MigrationProcessInstanceTest.java
@Test
public void testProcessInstanceIdsAndQuery() {
    ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    MigrationPlan migrationPlan = runtimeService.createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()).mapEqualActivities().build();
    ProcessInstance processInstance1 = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId());
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId());
    ProcessInstanceQuery sourceProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance2.getId());
    ProcessInstanceQuery targetProcessInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(targetProcessDefinition.getId());
    assertEquals(0, targetProcessInstanceQuery.count());
    runtimeService.newMigration(migrationPlan).processInstanceIds(Collections.singletonList(processInstance1.getId())).processInstanceQuery(sourceProcessInstanceQuery).execute();
    assertEquals(2, targetProcessInstanceQuery.count());
}

15. MigrationProcessInstanceTest#testMigrateWithIdVarargsArray()

Project: camunda-bpm-platform
File: MigrationProcessInstanceTest.java
@Test
public void testMigrateWithIdVarargsArray() {
    ProcessDefinition sourceDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    ProcessDefinition targetDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS);
    MigrationPlan migrationPlan = runtimeService.createMigrationPlan(sourceDefinition.getId(), targetDefinition.getId()).mapEqualActivities().build();
    ProcessInstance processInstance1 = runtimeService.startProcessInstanceById(sourceDefinition.getId());
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceById(sourceDefinition.getId());
    // when
    runtimeService.newMigration(migrationPlan).processInstanceIds(processInstance1.getId(), processInstance2.getId()).execute();
    // then
    Assert.assertEquals(2, runtimeService.createProcessInstanceQuery().processDefinitionId(targetDefinition.getId()).count());
}

16. IndependentJobExecutionTest#testDeploymentUnawareJobAcquisition()

Project: camunda-bpm-platform
File: IndependentJobExecutionTest.java
@OperateOnDeployment("pa1")
@Test
public void testDeploymentUnawareJobAcquisition() {
    JobExecutor defaultJobExecutor = processEngineConfiguration.getJobExecutor();
    ProcessInstance instance1 = engine1.getRuntimeService().startProcessInstanceByKey("archive1Process");
    ProcessInstance instance2 = processEngine.getRuntimeService().startProcessInstanceByKey("archive2Process");
    Job job1 = managementService.createJobQuery().processInstanceId(instance1.getId()).singleResult();
    Job job2 = managementService.createJobQuery().processInstanceId(instance2.getId()).singleResult();
    // the deployment unaware configuration should return both jobs
    CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutorTxRequired();
    processEngineConfiguration.setJobExecutorDeploymentAware(false);
    try {
        AcquiredJobs acquiredJobs = commandExecutor.execute(new AcquireJobsCmd(defaultJobExecutor));
        Assert.assertEquals(2, acquiredJobs.size());
        Assert.assertTrue(acquiredJobs.contains(job1.getId()));
        Assert.assertTrue(acquiredJobs.contains(job2.getId()));
    } finally {
        processEngineConfiguration.setJobExecutorDeploymentAware(true);
    }
}

17. IndependentJobExecutionTest#testDeploymentAwareJobAcquisition()

Project: camunda-bpm-platform
File: IndependentJobExecutionTest.java
@OperateOnDeployment("pa1")
@Test
public void testDeploymentAwareJobAcquisition() {
    JobExecutor jobExecutor1 = engine1Configuration.getJobExecutor();
    ProcessInstance instance1 = engine1.getRuntimeService().startProcessInstanceByKey("archive1Process");
    ProcessInstance instance2 = processEngine.getRuntimeService().startProcessInstanceByKey("archive2Process");
    Job job1 = managementService.createJobQuery().processInstanceId(instance1.getId()).singleResult();
    Job job2 = managementService.createJobQuery().processInstanceId(instance2.getId()).singleResult();
    // the deployment aware configuration should only return the jobs of the registered deployments
    CommandExecutor commandExecutor = engine1Configuration.getCommandExecutorTxRequired();
    AcquiredJobs acquiredJobs = commandExecutor.execute(new AcquireJobsCmd(jobExecutor1));
    Assert.assertEquals(1, acquiredJobs.size());
    Assert.assertTrue(acquiredJobs.contains(job1.getId()));
    Assert.assertFalse(acquiredJobs.contains(job2.getId()));
}

18. AsyncIntermediateThrowSignalEventTest#testAsyncSignalEvent()

Project: camunda-bpm-platform
File: AsyncIntermediateThrowSignalEventTest.java
@Test
public void testAsyncSignalEvent() throws InterruptedException {
    ProcessInstance piCatchSignal = runtimeService.startProcessInstanceByKey("catchSignal");
    ProcessInstance piThrowSignal = runtimeService.startProcessInstanceByKey("throwSignal");
    waitForJobExecutorToProcessAllJobs();
    assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(piCatchSignal.getProcessInstanceId()).activityId("receiveTask").count());
    assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(piThrowSignal.getProcessInstanceId()).activityId("receiveTask").count());
    // clean up
    runtimeService.signal(piCatchSignal.getId());
    runtimeService.signal(piThrowSignal.getId());
    assertEquals(0, runtimeService.createExecutionQuery().processInstanceId(piCatchSignal.getProcessInstanceId()).count());
    assertEquals(0, runtimeService.createExecutionQuery().processInstanceId(piThrowSignal.getProcessInstanceId()).count());
}

19. CallActivityContextSwitchTest#testMainSyncCalledSync()

Project: camunda-bpm-platform
File: CallActivityContextSwitchTest.java
@Test
@OperateOnDeployment("mainDeployment")
public void testMainSyncCalledSync() {
    Map<String, Object> processVariables = new HashMap<String, Object>();
    processVariables.put("calledElement", "calledProcessSync");
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("mainProcessSync", processVariables);
    Assert.assertEquals(true, runtimeService.getVariable(pi.getId(), DelegateBefore.class.getName()));
    ProcessInstance calledPi = runtimeService.createProcessInstanceQuery().processDefinitionKey("calledProcessSync").singleResult();
    Assert.assertEquals(true, runtimeService.getVariable(calledPi.getId(), "calledDelegate"));
    taskService.complete(taskService.createTaskQuery().processInstanceId(calledPi.getId()).singleResult().getId());
    Assert.assertEquals(true, runtimeService.getVariable(pi.getId(), DelegateAfter.class.getName()));
    taskService.complete(taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult().getId());
    Assert.assertNull(runtimeService.createProcessInstanceQuery().processDefinitionId(pi.getId()).singleResult());
    Assert.assertNull(runtimeService.createProcessInstanceQuery().processDefinitionId(calledPi.getId()).singleResult());
}

20. SignalEventTest#testSignalCatchBoundaryWithVariables()

Project: camunda-bpm-platform
File: SignalEventTest.java
@Test
@Deployment(resources = { "org/camunda/bpm/engine/cdi/test/bpmn/SignalEventTests.catchAlertSignalBoundaryWithReceiveTask.bpmn20.xml", "org/camunda/bpm/engine/cdi/test/bpmn/SignalEventTests.throwAlertSignalWithDelegate.bpmn20.xml" })
public void testSignalCatchBoundaryWithVariables() {
    HashMap<String, Object> variables1 = new HashMap<String, Object>();
    variables1.put("processName", "catchSignal");
    ProcessInstance piCatchSignal = runtimeService.startProcessInstanceByKey("catchSignal", variables1);
    HashMap<String, Object> variables2 = new HashMap<String, Object>();
    variables2.put("processName", "throwSignal");
    variables2.put("signalProcessInstanceId", piCatchSignal.getProcessInstanceId());
    ProcessInstance piThrowSignal = runtimeService.startProcessInstanceByKey("throwSignal", variables2);
    assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(piCatchSignal.getProcessInstanceId()).activityId("receiveTask").count());
    assertEquals(1, runtimeService.createExecutionQuery().processInstanceId(piThrowSignal.getProcessInstanceId()).activityId("receiveTask").count());
    assertEquals("catchSignal-visited (was catchSignal)", runtimeService.getVariable(piCatchSignal.getId(), "processName"));
    assertEquals("throwSignal-visited (was throwSignal)", runtimeService.getVariable(piThrowSignal.getId(), "processName"));
    // clean up
    runtimeService.signal(piCatchSignal.getId());
    runtimeService.signal(piThrowSignal.getId());
}

21. HistoricVariableInstanceTest#testQueryByActivityInstanceIdIn()

Project: camunda-bpm-platform
File: HistoricVariableInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testQueryByActivityInstanceIdIn() {
    // given
    Map<String, Object> variables1 = new HashMap<String, Object>();
    variables1.put("stringVar", "test");
    variables1.put("myVar", "test123");
    ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1);
    HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery();
    query.activityInstanceIdIn(processInstance1.getId());
    assertEquals(2, query.list().size());
    assertEquals(2, query.count());
    Map<String, Object> variables2 = new HashMap<String, Object>();
    variables2.put("myVar", "test123");
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables2);
    query.activityInstanceIdIn(processInstance1.getId(), processInstance2.getId());
    assertEquals(3, query.list().size());
    assertEquals(3, query.count());
}

22. HistoricVariableInstanceTest#testHistoricVariableInstanceQueryByExecutionIds()

Project: camunda-bpm-platform
File: HistoricVariableInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testHistoricVariableInstanceQueryByExecutionIds() {
    // given
    Map<String, Object> variables1 = new HashMap<String, Object>();
    variables1.put("stringVar", "test");
    variables1.put("myVar", "test123");
    ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables1);
    HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery().executionIdIn(processInstance1.getId());
    assertEquals(2, query.count());
    List<HistoricVariableInstance> variableInstances = query.list();
    assertEquals(2, variableInstances.size());
    for (HistoricVariableInstance variableInstance : variableInstances) {
        assertEquals(processInstance1.getId(), variableInstance.getExecutionId());
    }
    Map<String, Object> variables2 = new HashMap<String, Object>();
    variables2.put("myVar", "test123");
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables2);
    query = historyService.createHistoricVariableInstanceQuery().executionIdIn(processInstance1.getId(), processInstance2.getId());
    assertEquals(3, query.list().size());
    assertEquals(3, query.count());
}

23. HistoricVariableInstanceTest#testHistoricVariableInstanceQueryByInvalidProcessIdIn()

Project: camunda-bpm-platform
File: HistoricVariableInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/history/HistoricVariableInstanceTest.testParallel.bpmn20.xml" })
public void testHistoricVariableInstanceQueryByInvalidProcessIdIn() {
    // given
    Map<String, Object> vars = new HashMap<String, Object>();
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProc", vars);
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("myProc", vars);
    // check existing variables for task ID
    try {
        historyService.createHistoricVariableInstanceQuery().processInstanceIdIn(processInstance.getProcessInstanceId(), null);
        fail("Search by process instance ID was finished");
    } catch (ProcessEngineException e) {
    }
}

24. HistoricVariableInstanceTest#testOrderProcessWithCallActivity()

Project: camunda-bpm-platform
File: HistoricVariableInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/history/orderProcess.bpmn20.xml", "org/camunda/bpm/engine/test/history/checkCreditProcess.bpmn20.xml" })
public void testOrderProcessWithCallActivity() {
    // After the process has started, the 'verify credit history' task should be active
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("orderProcess");
    TaskQuery taskQuery = taskService.createTaskQuery();
    Task verifyCreditTask = taskQuery.singleResult();
    assertEquals("Verify credit history", verifyCreditTask.getName());
    // Verify with Query API
    ProcessInstance subProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(pi.getId()).singleResult();
    assertNotNull(subProcessInstance);
    assertEquals(pi.getId(), runtimeService.createProcessInstanceQuery().subProcessInstanceId(subProcessInstance.getId()).singleResult().getId());
    // Completing the task with approval, will end the subprocess and continue the original process
    taskService.complete(verifyCreditTask.getId(), CollectionUtil.singletonMap("creditApproved", true));
    Task prepareAndShipTask = taskQuery.singleResult();
    assertEquals("Prepare and Ship", prepareAndShipTask.getName());
}

25. HistoricTaskInstanceTest#testHistoricTaskInstanceQueryByActivityInstanceIds()

Project: camunda-bpm-platform
File: HistoricTaskInstanceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/history/HistoricTaskInstanceTest.testHistoricTaskInstance.bpmn20.xml" })
public void testHistoricTaskInstanceQueryByActivityInstanceIds() throws Exception {
    ProcessInstance pi1 = runtimeService.startProcessInstanceByKey("HistoricTaskInstanceTest");
    ProcessInstance pi2 = runtimeService.startProcessInstanceByKey("HistoricTaskInstanceTest");
    String activityInstanceId1 = historyService.createHistoricActivityInstanceQuery().processInstanceId(pi1.getId()).activityId("task").singleResult().getId();
    String activityInstanceId2 = historyService.createHistoricActivityInstanceQuery().processInstanceId(pi2.getId()).activityId("task").singleResult().getId();
    HistoricTaskInstanceQuery query = historyService.createHistoricTaskInstanceQuery().activityInstanceIdIn(activityInstanceId1, activityInstanceId2);
    assertEquals(2, query.count());
    assertEquals(2, query.list().size());
}

26. HistoricDecisionInstanceTest#testQueryByDecisionInstanceIds()

Project: camunda-bpm-platform
File: HistoricDecisionInstanceTest.java
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN })
public void testQueryByDecisionInstanceIds() {
    ProcessInstance pi1 = startProcessInstanceAndEvaluateDecision();
    ProcessInstance pi2 = startProcessInstanceAndEvaluateDecision();
    String decisionInstanceId1 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi1.getId()).singleResult().getId();
    String decisionInstanceId2 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi2.getId()).singleResult().getId();
    HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery();
    assertThat(query.decisionInstanceIdIn(decisionInstanceId1).count(), is(1L));
    assertThat(query.decisionInstanceIdIn(decisionInstanceId2).count(), is(1L));
    assertThat(query.decisionInstanceIdIn(decisionInstanceId1, decisionInstanceId2).count(), is(2L));
}

27. HistoricDecisionInstanceTest#testQueryByDecisionInstanceId()

Project: camunda-bpm-platform
File: HistoricDecisionInstanceTest.java
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN })
public void testQueryByDecisionInstanceId() {
    ProcessInstance pi1 = startProcessInstanceAndEvaluateDecision();
    ProcessInstance pi2 = startProcessInstanceAndEvaluateDecision();
    String decisionInstanceId1 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi1.getId()).singleResult().getId();
    String decisionInstanceId2 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi2.getId()).singleResult().getId();
    HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery();
    assertThat(query.decisionInstanceId(decisionInstanceId1).count(), is(1L));
    assertThat(query.decisionInstanceId(decisionInstanceId2).count(), is(1L));
    assertThat(query.decisionInstanceId("unknown").count(), is(0L));
}

28. CallActivityDelegateMappingTest#testCallSubProcessWithDelegatedVariableMappingAndAsyncServiceTask()

Project: camunda-bpm-platform
File: CallActivityDelegateMappingTest.java
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/CallActivityDelegateMappingTest.testCallSubProcessWithDelegatedVariableMappingAndAsyncServiceTask.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/callactivity/simpleSubProcessWithAsyncService.bpmn20.xml" })
public void testCallSubProcessWithDelegatedVariableMappingAndAsyncServiceTask() {
    //given starting process instance with call activity which has asyn service task
    ProcessInstance superProcInst = engineRule.getRuntimeService().startProcessInstanceByKey("callSimpleSubProcess");
    ProcessInstance subProcInst = engineRule.getRuntimeService().createProcessInstanceQuery().processDefinitionKey("simpleSubProcessWithAsyncService").singleResult();
    //then delegation variable mapping class should also been resolved
    //input mapping should be executed
    Object inVar = engineRule.getRuntimeService().getVariable(subProcInst.getId(), "TestInputVar");
    assertEquals("inValue", inVar);
    //and after finish call activity the ouput mapping is executed
    testHelper.executeAvailableJobs();
    Object outputVar = engineRule.getRuntimeService().getVariable(superProcInst.getId(), "TestOutputVar");
    assertEquals("outValue", outputVar);
}

29. TaskQueryTest#testQueryByMultipleActivityInstanceIds()

Project: camunda-bpm-platform
File: TaskQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/task/TaskQueryTest.testProcessDefinition.bpmn20.xml" })
public void testQueryByMultipleActivityInstanceIds() throws Exception {
    ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    String activityInstanceId1 = runtimeService.getActivityInstance(processInstance1.getId()).getChildActivityInstances()[0].getId();
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    String activityInstanceId2 = runtimeService.getActivityInstance(processInstance2.getId()).getChildActivityInstances()[0].getId();
    List<Task> result1 = taskService.createTaskQuery().activityInstanceIdIn(activityInstanceId1).list();
    assertEquals(1, result1.size());
    assertEquals(processInstance1.getId(), result1.get(0).getProcessInstanceId());
    List<Task> result2 = taskService.createTaskQuery().activityInstanceIdIn(activityInstanceId2).list();
    assertEquals(1, result2.size());
    assertEquals(processInstance2.getId(), result2.get(0).getProcessInstanceId());
    assertEquals(2, taskService.createTaskQuery().activityInstanceIdIn(activityInstanceId1, activityInstanceId2).list().size());
}

30. CallActivityTest#testOrderProcessWithCallActivity()

Project: camunda-bpm-platform
File: CallActivityTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/orderProcess.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/callactivity/checkCreditProcess.bpmn20.xml" })
public void testOrderProcessWithCallActivity() {
    // After the process has started, the 'verify credit history' task should be active
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("orderProcess");
    TaskQuery taskQuery = taskService.createTaskQuery();
    Task verifyCreditTask = taskQuery.singleResult();
    assertEquals("Verify credit history", verifyCreditTask.getName());
    // Verify with Query API
    ProcessInstance subProcessInstance = runtimeService.createProcessInstanceQuery().superProcessInstanceId(pi.getId()).singleResult();
    assertNotNull(subProcessInstance);
    assertEquals(pi.getId(), runtimeService.createProcessInstanceQuery().subProcessInstanceId(subProcessInstance.getId()).singleResult().getId());
    // Completing the task with approval, will end the subprocess and continue the original process
    taskService.complete(verifyCreditTask.getId(), CollectionUtil.singletonMap("creditApproved", true));
    Task prepareAndShipTask = taskQuery.singleResult();
    assertEquals("Prepare and Ship", prepareAndShipTask.getName());
}

31. ProcessInstanceQueryTest#testClashingValues()

Project: camunda-bpm-platform
File: ProcessInstanceQueryTest.java
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testClashingValues() throws Exception {
    Map<String, Object> vars = new HashMap<String, Object>();
    vars.put("var", 1234L);
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess", vars);
    Map<String, Object> vars2 = new HashMap<String, Object>();
    vars2.put("var", 1234);
    ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("oneTaskProcess", vars2);
    List<ProcessInstance> foundInstances = runtimeService.createProcessInstanceQuery().processDefinitionKey("oneTaskProcess").variableValueEquals("var", 1234L).list();
    assertEquals(1, foundInstances.size());
    assertEquals(processInstance.getId(), foundInstances.get(0).getId());
    runtimeService.deleteProcessInstance(processInstance.getId(), "test");
    runtimeService.deleteProcessInstance(processInstance2.getId(), "test");
}

32. ProcessInstanceQueryTest#testQueryBySuperProcessInstanceId()

Project: camunda-bpm-platform
File: ProcessInstanceQueryTest.java
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/superProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/subProcess.bpmn20.xml" })
public void testQueryBySuperProcessInstanceId() {
    ProcessInstance superProcessInstance = runtimeService.startProcessInstanceByKey("subProcessQueryTest");
    ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery().superProcessInstanceId(superProcessInstance.getId());
    ProcessInstance subProcessInstance = query.singleResult();
    assertNotNull(subProcessInstance);
    assertEquals(1, query.list().size());
    assertEquals(1, query.count());
}

33. ProcessInstanceModificationTest#FAILING_testCancelCallActivityInstance()

Project: camunda-bpm-platform
File: ProcessInstanceModificationTest.java
@Deployment(resources = { CALL_ACTIVITY_PARENT_PROCESS, CALL_ACTIVITY_CHILD_PROCESS })
public void FAILING_testCancelCallActivityInstance() {
    // given
    ProcessInstance parentprocess = runtimeService.startProcessInstanceByKey("parentprocess");
    ProcessInstance subProcess = runtimeService.createProcessInstanceQuery().processDefinitionKey("subprocess").singleResult();
    ActivityInstance subProcessActivityInst = runtimeService.getActivityInstance(subProcess.getId());
    // when
    runtimeService.createProcessInstanceModification(subProcess.getId()).startBeforeActivity("childEnd", subProcess.getId()).cancelActivityInstance(getInstanceIdForActivity(subProcessActivityInst, "innerTask")).execute();
    // then
    assertProcessEnded(parentprocess.getId());
}

34. CallActivityTest#testTwoSubProcesses()

Project: camunda-bpm-platform
File: CallActivityTest.java
/**
   * Test case for handing over process variables to a sub process
   */
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/CallActivity.testTwoSubProcesses.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/callactivity/simpleSubProcess.bpmn20.xml" })
public void testTwoSubProcesses() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("callTwoSubProcesses");
    List<ProcessInstance> instanceList = runtimeService.createProcessInstanceQuery().list();
    assertNotNull(instanceList);
    assertEquals(3, instanceList.size());
    List<Task> taskList = taskService.createTaskQuery().list();
    assertNotNull(taskList);
    assertEquals(2, taskList.size());
    runtimeService.deleteProcessInstance(processInstance.getId(), "Test cascading");
    instanceList = runtimeService.createProcessInstanceQuery().list();
    assertNotNull(instanceList);
    assertEquals(0, instanceList.size());
    taskList = taskService.createTaskQuery().list();
    assertNotNull(taskList);
    assertEquals(0, taskList.size());
}

35. CallActivityTest#testSubProcessEndsSuperProcess()

Project: camunda-bpm-platform
File: CallActivityTest.java
/**
   * Test case for a possible tricky case: reaching the end event of the
   * subprocess leads to an end event in the super process instance.
   */
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/CallActivity.testSubProcessEndsSuperProcess.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/callactivity/simpleSubProcess.bpmn20.xml" })
public void testSubProcessEndsSuperProcess() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("subProcessEndsSuperProcess");
    // one task in the subprocess should be active after starting the process instance
    TaskQuery taskQuery = taskService.createTaskQuery();
    Task taskBeforeSubProcess = taskQuery.singleResult();
    assertEquals("Task in subprocess", taskBeforeSubProcess.getName());
    // Completing this task ends the subprocess which leads to the end of the whole process instance
    taskService.complete(taskBeforeSubProcess.getId());
    assertProcessEnded(processInstance.getId());
    assertEquals(0, runtimeService.createExecutionQuery().list().size());
}

36. CallActivityTest#testAccessSuperInstanceVariablesFromConcurrentExecution()

Project: camunda-bpm-platform
File: CallActivityTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/CallActivity.testCallSimpleSubProcess.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/callactivity/concurrentSubProcessParentVariableAccess.bpmn20.xml" })
public void testAccessSuperInstanceVariablesFromConcurrentExecution() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("callSimpleSubProcess");
    // one task in the subprocess should be active after starting the process instance
    TaskQuery taskQuery = taskService.createTaskQuery();
    Task taskBeforeSubProcess = taskQuery.singleResult();
    assertEquals("Task before subprocess", taskBeforeSubProcess.getName());
    // the variable does not yet exist
    assertNull(runtimeService.getVariable(processInstance.getId(), "greeting"));
    // completing the task executed the sub process
    taskService.complete(taskBeforeSubProcess.getId());
    // now the variable exists
    assertEquals("hello", runtimeService.getVariable(processInstance.getId(), "greeting"));
}

37. CallActivityTest#testAccessSuperInstanceVariables()

Project: camunda-bpm-platform
File: CallActivityTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/CallActivity.testCallSimpleSubProcess.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/callactivity/simpleSubProcessParentVariableAccess.bpmn20.xml" })
public void testAccessSuperInstanceVariables() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("callSimpleSubProcess");
    // one task in the subprocess should be active after starting the process instance
    TaskQuery taskQuery = taskService.createTaskQuery();
    Task taskBeforeSubProcess = taskQuery.singleResult();
    assertEquals("Task before subprocess", taskBeforeSubProcess.getName());
    // the variable does not yet exist
    assertNull(runtimeService.getVariable(processInstance.getId(), "greeting"));
    // completing the task executed the sub process
    taskService.complete(taskBeforeSubProcess.getId());
    // now the variable exists
    assertEquals("hello", runtimeService.getVariable(processInstance.getId(), "greeting"));
}

38. CallActivityDelegateMappingTest#testCallFailingSubProcessWithDelegatedVariableMapping()

Project: camunda-bpm-platform
File: CallActivityDelegateMappingTest.java
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/callactivity/CallActivityDelegateMappingTest.testCallFailingSubProcessWithDelegatedVariableMapping.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/callactivity/failingSubProcess.bpmn20.xml" })
public void testCallFailingSubProcessWithDelegatedVariableMapping() {
    //given starting process instance with call activity
    //when call activity execution fails
    ProcessInstance procInst = engineRule.getRuntimeService().startProcessInstanceByKey("callSimpleSubProcess");
    //then output mapping should be executed
    Object outputVar = engineRule.getRuntimeService().getVariable(procInst.getId(), "TestOutputVar");
    assertEquals("outValue", outputVar);
}

39. JobRetryCmdWithDefaultPropertyTest#testOverwritingPropertyWithBpmnExtension()

Project: camunda-bpm-platform
File: JobRetryCmdWithDefaultPropertyTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/async/FoxJobRetryCmdTest.testFailedServiceTask.bpmn20.xml" })
public void testOverwritingPropertyWithBpmnExtension() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("failedServiceTask");
    assertNotNull(pi);
    Job job = managementService.createJobQuery().processInstanceId(pi.getProcessInstanceId()).singleResult();
    assertNotNull(job);
    assertEquals(pi.getProcessInstanceId(), job.getProcessInstanceId());
    try {
        managementService.executeJob(job.getId());
        fail("Exception expected!");
    } catch (Exception e) {
    }
    job = managementService.createJobQuery().jobId(job.getId()).singleResult();
    assertEquals(4, job.getRetries());
}

40. AsyncTaskTest#testDeleteInScopeShouldNotInvokeOutputMapping()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
/**
   * CAM-3708
   */
@Deployment
public void testDeleteInScopeShouldNotInvokeOutputMapping() {
    // given
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("asyncOutputMappingSubProcess");
    assertEquals(1, managementService.createJobQuery().count());
    // when
    runtimeService.deleteProcessInstance(instance.getId(), "");
    // then
    if (processEngineConfiguration.getHistoryLevel().getId() >= HistoryLevel.HISTORY_LEVEL_AUDIT.getId()) {
        // the output mapping of the task has not been executed because the
        // activity was not active yet
        assertEquals(0, historyService.createHistoricVariableInstanceQuery().variableName("taskOutputMappingExecuted").count());
        // but the containing sub process output mapping was executed
        assertEquals(1, historyService.createHistoricVariableInstanceQuery().variableName("subProcessOutputMappingExecuted").count());
    }
}

41. AsyncTaskTest#testDeleteShouldNotInvokeOutputMapping()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
/**
   * CAM-3708
   */
@Deployment
public void testDeleteShouldNotInvokeOutputMapping() {
    // given
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("asyncOutputMapping");
    assertEquals(1, managementService.createJobQuery().count());
    // when
    runtimeService.deleteProcessInstance(instance.getId(), "");
    // activity was not active yet
    if (processEngineConfiguration.getHistoryLevel().getId() >= HistoryLevel.HISTORY_LEVEL_AUDIT.getId()) {
        assertEquals(0, historyService.createHistoricVariableInstanceQuery().count());
    }
}

42. AsyncTaskTest#testDeleteInScopeShouldNotInvokeListeners()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
/**
   * CAM-3707
   */
@Deployment
public void testDeleteInScopeShouldNotInvokeListeners() {
    RecorderExecutionListener.clear();
    // given
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("asyncListenerSubProcess", Variables.createVariables().putValue("listener", new RecorderExecutionListener()));
    assertEquals(1, managementService.createJobQuery().count());
    // when deleting the process instance
    runtimeService.deleteProcessInstance(instance.getId(), "");
    // then the async task end listener has not been executed but the listeners of the sub
    // process and the process
    List<RecordedEvent> recordedEvents = RecorderExecutionListener.getRecordedEvents();
    assertEquals(2, recordedEvents.size());
    assertEquals("subProcess", recordedEvents.get(0).getActivityId());
    // process instance end event has no activity id
    assertNull(recordedEvents.get(1).getActivityId());
    RecorderExecutionListener.clear();
}

43. AsyncTaskTest#testDeleteShouldNotInvokeListeners()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
/**
   * CAM-3707
   */
@Deployment
public void testDeleteShouldNotInvokeListeners() {
    RecorderExecutionListener.clear();
    // given
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("asyncListener", Variables.createVariables().putValue("listener", new RecorderExecutionListener()));
    assertEquals(1, managementService.createJobQuery().count());
    // when deleting the process instance
    runtimeService.deleteProcessInstance(instance.getId(), "");
    // then no listeners for the async activity should have been invoked because
    // it was not active yet
    assertEquals(0, RecorderExecutionListener.getRecordedEvents().size());
    RecorderExecutionListener.clear();
}

44. AsyncTaskTest#testAsyncServiceSubProcess()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
@Deployment
public void testAsyncServiceSubProcess() {
    // start process
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("asyncService");
    assertEquals(1, managementService.createJobQuery().count());
    ActivityInstance activityInstance = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(activityInstance).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).transition("subProcess").done());
    executeAvailableJobs();
    // both the timer and the message are cancelled
    assertEquals(0, managementService.createJobQuery().count());
}

45. AsyncTaskTest#testAsyncServiceWrappedInParallelMultiInstanceActivityInstance()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/bpmn/async/AsyncTaskTest.testAsyncServiceWrappedInParallelMultiInstance.bpmn20.xml")
public void testAsyncServiceWrappedInParallelMultiInstanceActivityInstance() {
    // given a process instance
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("asyncService");
    // when there are five jobs for the inner activity
    assertEquals(5, managementService.createJobQuery().count());
    // then they are represented in the activity instance tree by transition instances
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).beginScope("service#multiInstanceBody").transition("service").transition("service").transition("service").transition("service").transition("service").done());
}

46. AsyncTaskTest#testAsyncServiceNoListeners()

Project: camunda-bpm-platform
File: AsyncTaskTest.java
@Deployment
public void testAsyncServiceNoListeners() {
    INVOCATION = false;
    // start process
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("asyncService");
    // now we have one transition instance below the process instance:
    ActivityInstance activityInstance = runtimeService.getActivityInstance(processInstance.getId());
    assertEquals(1, activityInstance.getChildTransitionInstances().length);
    assertEquals(0, activityInstance.getChildActivityInstances().length);
    assertNotNull(activityInstance.getChildTransitionInstances()[0]);
    // now there should be one job in the database:
    assertEquals(1, managementService.createJobQuery().count());
    // the service was not invoked:
    assertFalse(INVOCATION);
    executeAvailableJobs();
    // the service was invoked
    assertTrue(INVOCATION);
    // and the job is done
    assertEquals(0, managementService.createJobQuery().count());
}

47. AsyncStartEventTest#testCallActivity()

Project: camunda-bpm-platform
File: AsyncStartEventTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/async/AsyncStartEventTest.testCallActivity-super.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/async/AsyncStartEventTest.testCallActivity-sub.bpmn20.xml" })
public void testCallActivity() {
    runtimeService.startProcessInstanceByKey("super");
    ProcessInstance pi = runtimeService.createProcessInstanceQuery().processDefinitionKey("sub").singleResult();
    assertTrue(pi instanceof ExecutionEntity);
    assertEquals("theSubStart", ((ExecutionEntity) pi).getActivityId());
}

48. AsyncEndEventTest#testCallActivity()

Project: camunda-bpm-platform
File: AsyncEndEventTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/async/AsyncEndEventTest.testCallActivity-super.bpmn20.xml", "org/camunda/bpm/engine/test/bpmn/async/AsyncEndEventTest.testCallActivity-sub.bpmn20.xml" })
public void testCallActivity() {
    runtimeService.startProcessInstanceByKey("super");
    ProcessInstance pi = runtimeService.createProcessInstanceQuery().processDefinitionKey("sub").singleResult();
    assertTrue(pi instanceof ExecutionEntity);
    assertEquals("theSubEnd", ((ExecutionEntity) pi).getActivityId());
}

49. AsyncEndEventTest#testAsyncEndEventListeners()

Project: camunda-bpm-platform
File: AsyncEndEventTest.java
@Deployment
public void testAsyncEndEventListeners() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("asyncEndEvent");
    long count = runtimeService.createProcessInstanceQuery().processInstanceId(pi.getId()).active().count();
    Assert.assertNull(runtimeService.getVariable(pi.getId(), "listener"));
    Assert.assertEquals(1, runtimeService.createExecutionQuery().activityId("endEvent").count());
    Assert.assertEquals(1, count);
    // as we are standing at the end event, we execute it.
    executeAvailableJobs();
    count = runtimeService.createProcessInstanceQuery().processInstanceId(pi.getId()).active().count();
    Assert.assertEquals(0, count);
    if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_ACTIVITY) {
        // after the end event we have a event listener
        HistoricVariableInstanceQuery name = historyService.createHistoricVariableInstanceQuery().processInstanceId(pi.getId()).variableName("listener");
        Assert.assertNotNull(name);
        Assert.assertEquals("listener invoked", name.singleResult().getValue());
    }
}

50. AsyncEndEventTest#testAsyncEndEvent()

Project: camunda-bpm-platform
File: AsyncEndEventTest.java
@Deployment
public void testAsyncEndEvent() {
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("asyncEndEvent");
    long count = runtimeService.createProcessInstanceQuery().processInstanceId(pi.getId()).active().count();
    Assert.assertEquals(1, runtimeService.createExecutionQuery().activityId("endEvent").count());
    Assert.assertEquals(1, count);
    executeAvailableJobs();
    count = runtimeService.createProcessInstanceQuery().processInstanceId(pi.getId()).count();
    Assert.assertEquals(0, runtimeService.createExecutionQuery().activityId("endEvent").active().count());
    Assert.assertEquals(0, count);
}

51. AsyncAfterTest#testAsyncAfterServiceWrappedInSequentialMultiInstance()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterServiceWrappedInSequentialMultiInstance() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess");
    // listeners and behavior should be invoked by now
    assertListenerStartInvoked(pi);
    assertBehaviorInvoked(pi, 1);
    assertListenerEndInvoked(pi);
    // the process should wait *after* execute each service task step-by-step 
    assertEquals(1L, managementService.createJobQuery().count());
    // execute all jobs - one for each service task wrapped in the multi-instance body
    executeAvailableJobs(5);
    // behavior should be invoked for each service task
    assertBehaviorInvoked(pi, 5);
    // the process should wait on user task after execute all service tasks
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
    taskService.complete(task.getId());
    assertProcessEnded(pi.getId());
}

52. AsyncAfterTest#testAsyncAfterServiceWrappedInParallelMultiInstance()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterServiceWrappedInParallelMultiInstance() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess");
    // listeners and behavior should be invoked by now
    assertListenerStartInvoked(pi);
    assertBehaviorInvoked(pi, 5);
    assertListenerEndInvoked(pi);
    // the process should wait *after* execute each service task wrapped in the multi-instance body
    assertEquals(5L, managementService.createJobQuery().count());
    // execute all jobs - one for each service task
    executeAvailableJobs(5);
    assertProcessEnded(pi.getId());
}

53. AsyncAfterTest#testAsyncAfterParallelMultiInstanceWithServiceTask()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterParallelMultiInstanceWithServiceTask() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess");
    // listeners and behavior should be invoked by now
    assertListenerStartInvoked(pi);
    assertBehaviorInvoked(pi, 5);
    assertListenerEndInvoked(pi);
    // the process should wait *after* execute all service tasks
    executeAvailableJobs(1);
    assertProcessEnded(pi.getId());
}

54. AsyncAfterTest#testAsyncAfterWithExecutionListener()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
/**
   * Test for CAM-2518: Fixes an issue that creates an infinite loop when using
   * asyncAfter together with an execution listener on sequence flow event "take".
   * So the only required assertion here is that the process executes successfully.
   */
@Deployment
public void testAsyncAfterWithExecutionListener() {
    // given an async after job and an execution listener on that task
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testProcess");
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    assertNotListenerTakeInvoked(processInstance);
    // when the job is executed
    managementService.executeJob(job.getId());
    // then the process should advance and not recreate the job
    job = managementService.createJobQuery().singleResult();
    assertNull(job);
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
    assertListenerTakeInvoked(processInstance);
}

55. AsyncAfterTest#testAsyncAfterAndBeforeInclusiveGateway()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterAndBeforeInclusiveGateway() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testInclusiveGateway");
    // no listeners are fired:
    assertNotListenerStartInvoked(pi);
    assertNotListenerEndInvoked(pi);
    // we should wait *before* the gateway:
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    // after executing the gateway:
    managementService.executeJob(job.getId());
    // the listeners are fired:
    assertListenerStartInvoked(pi);
    assertListenerEndInvoked(pi);
    // and we will wait *after* the gateway:
    List<Job> jobs = managementService.createJobQuery().active().list();
    assertEquals(2, jobs.size());
}

56. AsyncAfterTest#testAsyncAfterIntermediateThrowEvent()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterIntermediateThrowEvent() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testIntermediateThrowEvent");
    // listeners should be fired by now
    assertListenerStartInvoked(pi);
    assertListenerEndInvoked(pi);
    // the process should wait *after* the throw event
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    // if the waiting job is executed, the process instance should end
    managementService.executeJob(job.getId());
    assertProcessEnded(pi.getId());
}

57. AsyncAfterTest#testAsyncAfterIntermediateCatchEvent()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterIntermediateCatchEvent() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testIntermediateCatchEvent");
    // the intermediate catch event is waiting for its message
    runtimeService.correlateMessage("testMessage1");
    // listeners should be fired by now
    assertListenerStartInvoked(pi);
    assertListenerEndInvoked(pi);
    // the process should wait *after* the catch event
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    // if the waiting job is executed, the process instance should end
    managementService.executeJob(job.getId());
    assertProcessEnded(pi.getId());
}

58. AsyncAfterTest#testAsyncAfterManualTask()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterManualTask() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testManualTask");
    // listeners should be fired by now
    assertListenerStartInvoked(pi);
    assertListenerEndInvoked(pi);
    // the process should wait *after* the catch event
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    // if the waiting job is executed, the process instance should end
    managementService.executeJob(job.getId());
    assertProcessEnded(pi.getId());
}

59. AsyncAfterTest#testAsyncAfterInNestedWithoutTransition()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterInNestedWithoutTransition() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess");
    // the service task is completely invoked
    assertListenerStartInvoked(pi);
    assertBehaviorInvoked(pi);
    assertListenerEndInvoked(pi);
    // and the execution is waiting *after* the service task
    Job continuationJob = managementService.createJobQuery().singleResult();
    assertNotNull(continuationJob);
    // but the subprocess end listeners have not been invoked yet
    assertNull(runtimeService.getVariable(pi.getId(), "subprocess-listenerEndInvoked"));
    // if we execute the job, the listeners are invoked;
    managementService.executeJob(continuationJob.getId());
    assertTrue((Boolean) runtimeService.getVariable(pi.getId(), "subprocess-listenerEndInvoked"));
}

60. AsyncAfterTest#testAsyncAfterWithoutTransition()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterWithoutTransition() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess");
    // the service task is completely invoked
    assertListenerStartInvoked(pi);
    assertBehaviorInvoked(pi);
    assertListenerEndInvoked(pi);
    // and the execution is waiting *after* the service task
    Job continuationJob = managementService.createJobQuery().singleResult();
    assertNotNull(continuationJob);
    // but the process end listeners have not been invoked yet
    assertNull(runtimeService.getVariable(pi.getId(), "process-listenerEndInvoked"));
    // if we execute the job, the process instance ends.
    managementService.executeJob(continuationJob.getId());
    assertProcessEnded(pi.getId());
}

61. AsyncAfterTest#testAsyncAfterServiceTaskMultipleTransitionsConcurrent()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterServiceTaskMultipleTransitionsConcurrent() {
    // start process instance
    Map<String, Object> varMap = new HashMap<String, Object>();
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess", varMap);
    // the service task is completely invoked
    assertListenerStartInvoked(pi);
    assertBehaviorInvoked(pi);
    assertListenerEndInvoked(pi);
    // there are two async jobs
    List<Job> jobs = managementService.createJobQuery().list();
    assertEquals(2, jobs.size());
    managementService.executeJob(jobs.get(0).getId());
    managementService.executeJob(jobs.get(1).getId());
    // both subsequent tasks are activated
    assertNotNull(runtimeService.createExecutionQuery().activityId("taskAfterFlow2").singleResult());
    assertNotNull(runtimeService.createExecutionQuery().activityId("taskAfterFlow3").singleResult());
}

62. AsyncAfterTest#testAsyncAfterMultiInstanceUserTask()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterMultiInstanceUserTask() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("process");
    List<Task> list = taskService.createTaskQuery().list();
    // multiinstance says three in the bpmn
    assertThat(list, hasSize(3));
    for (Task task : list) {
        taskService.complete(task.getId());
    }
    waitForJobExecutorToProcessAllJobs(TimeUnit.MILLISECONDS.convert(5L, TimeUnit.SECONDS));
    assertProcessEnded(pi.getId());
}

63. AsyncAfterTest#testAsyncAfterServiceTask()

Project: camunda-bpm-platform
File: AsyncAfterTest.java
@Deployment
public void testAsyncAfterServiceTask() {
    // start process instance
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess");
    // listeners should be fired by now
    assertListenerStartInvoked(pi);
    assertListenerEndInvoked(pi);
    // the process should wait *after* the catch event
    Job job = managementService.createJobQuery().singleResult();
    assertNotNull(job);
    // if the waiting job is executed, the process instance should end
    managementService.executeJob(job.getId());
    assertProcessEnded(pi.getId());
}

64. PrimitiveTypeValueSerializationTest#shouldGetTypedNullVariable()

Project: camunda-bpm-platform
File: PrimitiveTypeValueSerializationTest.java
@Test
public void shouldGetTypedNullVariable() {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey(PROCESS_DEFINITION_KEY);
    runtimeService.setVariable(instance.getId(), VARIABLE_NAME, nullValue);
    assertEquals(null, runtimeService.getVariable(instance.getId(), VARIABLE_NAME));
    TypedValue typedVariableValue = runtimeService.getVariableTyped(instance.getId(), VARIABLE_NAME);
    assertEquals(nullValue.getType(), typedVariableValue.getType());
    assertEquals(null, typedVariableValue.getValue());
}

65. JavaSerializationTest#testSetTypedNullForExistingVariable()

Project: camunda-bpm-platform
File: JavaSerializationTest.java
@Deployment(resources = ONE_TASK_PROCESS)
public void testSetTypedNullForExistingVariable() throws Exception {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    // initially the variable has a value
    JavaSerializable javaSerializable = new JavaSerializable("foo");
    runtimeService.setVariable(instance.getId(), "varName", objectValue(javaSerializable).serializationDataFormat(JAVA_DATA_FORMAT).create());
    // get value via untyped api
    assertEquals(javaSerializable, runtimeService.getVariable(instance.getId(), "varName"));
    // set the variable to null via typed Api
    runtimeService.setVariable(instance.getId(), "varName", objectValue(null));
    // variable is still of type object
    ObjectValue typedValue = runtimeService.getVariableTyped(instance.getId(), "varName");
    assertObjectValueDeserializedNull(typedValue);
}

66. JavaSerializationTest#testSetUntypedNullForExistingVariable()

Project: camunda-bpm-platform
File: JavaSerializationTest.java
@Deployment(resources = ONE_TASK_PROCESS)
public void testSetUntypedNullForExistingVariable() throws Exception {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    // initially the variable has a value
    JavaSerializable javaSerializable = new JavaSerializable("foo");
    runtimeService.setVariable(instance.getId(), "varName", objectValue(javaSerializable).serializationDataFormat(JAVA_DATA_FORMAT).create());
    // get value via untyped api
    assertEquals(javaSerializable, runtimeService.getVariable(instance.getId(), "varName"));
    // set the variable to null via untyped Api
    runtimeService.setVariable(instance.getId(), "varName", null);
    // variable is now untyped null
    TypedValue nullValue = runtimeService.getVariableTyped(instance.getId(), "varName");
    assertUntypedNullValue(nullValue);
}

67. JavaSerializationTest#testSetJavaOjectNullSerialized()

Project: camunda-bpm-platform
File: JavaSerializationTest.java
@Deployment(resources = ONE_TASK_PROCESS)
public void testSetJavaOjectNullSerialized() throws Exception {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    // set null value as "serialized" object
    runtimeService.setVariable(instance.getId(), "nullObject", serializedObjectValue().serializationDataFormat(JAVA_DATA_FORMAT).create());
    // Note: no object type name provided
    // get null value via untyped api
    assertNull(runtimeService.getVariable(instance.getId(), "nullObject"));
    // get null via typed api
    ObjectValue deserializedTypedValue = runtimeService.getVariableTyped(instance.getId(), "nullObject");
    assertObjectValueDeserializedNull(deserializedTypedValue);
    ObjectValue serializedTypedValue = runtimeService.getVariableTyped(instance.getId(), "nullObject", false);
    assertObjectValueSerializedNull(serializedTypedValue);
}

68. JavaSerializationTest#testSetJavaOjectNullDeserialized()

Project: camunda-bpm-platform
File: JavaSerializationTest.java
@Deployment(resources = ONE_TASK_PROCESS)
public void testSetJavaOjectNullDeserialized() throws Exception {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    // set null value as "deserialized" object
    runtimeService.setVariable(instance.getId(), "nullObject", objectValue(null).serializationDataFormat(JAVA_DATA_FORMAT).create());
    // get null value via untyped api
    assertNull(runtimeService.getVariable(instance.getId(), "nullObject"));
    // get null via typed api
    ObjectValue typedValue = runtimeService.getVariableTyped(instance.getId(), "nullObject");
    assertObjectValueDeserializedNull(typedValue);
}

69. JavaSerializationTest#testSetJavaOjectSerialized()

Project: camunda-bpm-platform
File: JavaSerializationTest.java
@Deployment(resources = ONE_TASK_PROCESS)
public void testSetJavaOjectSerialized() throws Exception {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    JavaSerializable javaSerializable = new JavaSerializable("foo");
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    new ObjectOutputStream(baos).writeObject(javaSerializable);
    String serializedObject = StringUtil.fromBytes(Base64.encodeBase64(baos.toByteArray()), processEngine);
    runtimeService.setVariable(instance.getId(), "simpleBean", serializedObjectValue(serializedObject).serializationDataFormat(JAVA_DATA_FORMAT).objectTypeName(JavaSerializable.class.getName()).create());
    // validate untyped value
    JavaSerializable value = (JavaSerializable) runtimeService.getVariable(instance.getId(), "simpleBean");
    assertEquals(javaSerializable, value);
    // validate typed value
    ObjectValue typedValue = runtimeService.getVariableTyped(instance.getId(), "simpleBean");
    assertObjectValueDeserialized(typedValue, javaSerializable);
    assertObjectValueSerializedJava(typedValue, javaSerializable);
}

70. JavaSerializationTest#testSerializationAsJava()

Project: camunda-bpm-platform
File: JavaSerializationTest.java
@Deployment(resources = ONE_TASK_PROCESS)
public void testSerializationAsJava() throws Exception {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    JavaSerializable javaSerializable = new JavaSerializable("foo");
    runtimeService.setVariable(instance.getId(), "simpleBean", objectValue(javaSerializable).serializationDataFormat(JAVA_DATA_FORMAT).create());
    // validate untyped value
    JavaSerializable value = (JavaSerializable) runtimeService.getVariable(instance.getId(), "simpleBean");
    assertEquals(javaSerializable, value);
    // validate typed value
    ObjectValue typedValue = runtimeService.getVariableTyped(instance.getId(), "simpleBean");
    assertObjectValueDeserialized(typedValue, javaSerializable);
    assertObjectValueSerializedJava(typedValue, javaSerializable);
}

71. ImplicitVariableUpdateTest#testUpdateParallelFlow()

Project: camunda-bpm-platform
File: ImplicitVariableUpdateTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/variables/ImplicitVariableUpdateTest.parallel.bpmn20.xml")
public void testUpdateParallelFlow() {
    // should also work when execution tree is expanded between the implicit update
    // and when the engine notices it
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("serviceTaskProcess", Variables.createVariables().putValue("listVar", new ArrayList<String>()).putValue("delegate", new UpdateValueDelegate()));
    List<String> list = (List<String>) runtimeService.getVariable(instance.getId(), "listVar");
    assertNotNull(list);
    assertEquals(1, list.size());
    assertEquals(UpdateValueDelegate.NEW_ELEMENT, list.get(0));
}

72. ImplicitVariableUpdateTest#testUpdate()

Project: camunda-bpm-platform
File: ImplicitVariableUpdateTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/variables/ImplicitVariableUpdateTest.sequence.bpmn20.xml")
public void testUpdate() {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("serviceTaskProcess", Variables.createVariables().putValue("listVar", new ArrayList<String>()).putValue("delegate", new UpdateValueDelegate()));
    List<String> list = (List<String>) runtimeService.getVariable(instance.getId(), "listVar");
    assertNotNull(list);
    assertEquals(1, list.size());
    assertEquals(UpdateValueDelegate.NEW_ELEMENT, list.get(0));
}

73. ExecutionVariablesTest#testTreeCompactionAndExpansionWithScopeExecutionVariables()

Project: camunda-bpm-platform
File: ExecutionVariablesTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/variables/ExecutionVariablesTest.testTreeCompactionForkParallelGateway.bpmn20.xml")
public void testTreeCompactionAndExpansionWithScopeExecutionVariables() {
    // given
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("process");
    Task task2 = taskService.createTaskQuery().taskDefinitionKey("task2").singleResult();
    runtimeService.setVariableLocal(processInstance.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 still assigned to the scope execution execution
    VariableInstance variable = runtimeService.createVariableInstanceQuery().singleResult();
    assertEquals(processInstance.getId(), variable.getExecutionId());
}

74. 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());
}

75. TaskServiceTest#testRemoveVariableLocal()

Project: camunda-bpm-platform
File: TaskServiceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testRemoveVariableLocal() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task currentTask = taskService.createTaskQuery().singleResult();
    taskService.setVariableLocal(currentTask.getId(), "variable1", "value1");
    assertEquals("value1", taskService.getVariable(currentTask.getId(), "variable1"));
    assertEquals("value1", taskService.getVariableLocal(currentTask.getId(), "variable1"));
    taskService.removeVariableLocal(currentTask.getId(), "variable1");
    assertNull(taskService.getVariable(currentTask.getId(), "variable1"));
    assertNull(taskService.getVariableLocal(currentTask.getId(), "variable1"));
    checkHistoricVariableUpdateEntity("variable1", processInstance.getId());
}

76. TaskServiceTest#testRemoveVariable()

Project: camunda-bpm-platform
File: TaskServiceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" })
public void testRemoveVariable() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task currentTask = taskService.createTaskQuery().singleResult();
    taskService.setVariable(currentTask.getId(), "variable1", "value1");
    assertEquals("value1", taskService.getVariable(currentTask.getId(), "variable1"));
    assertNull(taskService.getVariableLocal(currentTask.getId(), "variable1"));
    taskService.removeVariable(currentTask.getId(), "variable1");
    assertNull(taskService.getVariable(currentTask.getId(), "variable1"));
    checkHistoricVariableUpdateEntity("variable1", processInstance.getId());
}

77. TaskServiceTest#testResolveWithParametersTask()

Project: camunda-bpm-platform
File: TaskServiceTest.java
@Deployment(resources = TWO_TASKS_PROCESS)
public void testResolveWithParametersTask() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess");
    // Fetch first task
    Task task = taskService.createTaskQuery().singleResult();
    assertEquals("First task", task.getName());
    task.delegate("johndoe");
    // Resolve first task
    Map<String, Object> taskParams = new HashMap<String, Object>();
    taskParams.put("myParam", "myValue");
    taskService.resolveTask(task.getId(), taskParams);
    // Verify that task is resolved
    task = taskService.createTaskQuery().taskDelegationState(DelegationState.RESOLVED).singleResult();
    assertEquals("First task", task.getName());
    // Verify task parameters set on execution
    Map<String, Object> variables = runtimeService.getVariables(processInstance.getId());
    assertEquals(1, variables.size());
    assertEquals("myValue", variables.get("myParam"));
}

78. TaskServiceTest#testCompleteWithParametersTask()

Project: camunda-bpm-platform
File: TaskServiceTest.java
@Deployment(resources = TWO_TASKS_PROCESS)
public void testCompleteWithParametersTask() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess");
    // Fetch first task
    Task task = taskService.createTaskQuery().singleResult();
    assertEquals("First task", task.getName());
    // Complete first task
    Map<String, Object> taskParams = new HashMap<String, Object>();
    taskParams.put("myParam", "myValue");
    taskService.complete(task.getId(), taskParams);
    // Fetch second task
    task = taskService.createTaskQuery().singleResult();
    assertEquals("Second task", task.getName());
    // Verify task parameters set on execution
    Map<String, Object> variables = runtimeService.getVariables(processInstance.getId());
    assertEquals(1, variables.size());
    assertEquals("myValue", variables.get("myParam"));
}

79. TaskQueryTest#testFollowUpDateCombinations()

Project: camunda-bpm-platform
File: TaskQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/task/TaskQueryTest.testProcessDefinition.bpmn20.xml" })
public void testFollowUpDateCombinations() throws ParseException {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
    // Set follow-up date on task
    Date dueDate = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").parse("01/02/2003 01:12:13");
    task.setFollowUpDate(dueDate);
    taskService.saveTask(task);
    Date oneHourAgo = new Date(dueDate.getTime() - 60 * 60 * 1000);
    Date oneHourLater = new Date(dueDate.getTime() + 60 * 60 * 1000);
    assertEquals(1, taskService.createTaskQuery().followUpAfter(oneHourAgo).followUpDate(dueDate).followUpBefore(oneHourLater).count());
    assertEquals(0, taskService.createTaskQuery().followUpAfter(oneHourLater).followUpDate(dueDate).followUpBefore(oneHourAgo).count());
    assertEquals(0, taskService.createTaskQuery().followUpAfter(oneHourLater).followUpDate(dueDate).count());
    assertEquals(0, taskService.createTaskQuery().followUpDate(dueDate).followUpBefore(oneHourAgo).count());
}

80. TaskQueryTest#testTaskDueDateCombinations()

Project: camunda-bpm-platform
File: TaskQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/task/TaskQueryTest.testProcessDefinition.bpmn20.xml" })
public void testTaskDueDateCombinations() throws ParseException {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
    // Set due-date on task
    Date dueDate = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").parse("01/02/2003 01:12:13");
    task.setDueDate(dueDate);
    taskService.saveTask(task);
    Date oneHourAgo = new Date(dueDate.getTime() - 60 * 60 * 1000);
    Date oneHourLater = new Date(dueDate.getTime() + 60 * 60 * 1000);
    assertEquals(1, taskService.createTaskQuery().dueAfter(oneHourAgo).dueDate(dueDate).dueBefore(oneHourLater).count());
    assertEquals(0, taskService.createTaskQuery().dueAfter(oneHourLater).dueDate(dueDate).dueBefore(oneHourAgo).count());
    assertEquals(0, taskService.createTaskQuery().dueAfter(oneHourLater).dueDate(dueDate).count());
    assertEquals(0, taskService.createTaskQuery().dueDate(dueDate).dueBefore(oneHourAgo).count());
}

81. TaskQueryTest#testTaskDueDate()

Project: camunda-bpm-platform
File: TaskQueryTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/task/TaskQueryTest.testProcessDefinition.bpmn20.xml" })
public void testTaskDueDate() throws Exception {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
    // Set due-date on task
    Date dueDate = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").parse("01/02/2003 01:12:13");
    task.setDueDate(dueDate);
    taskService.saveTask(task);
    assertEquals(1, taskService.createTaskQuery().dueDate(dueDate).count());
    Calendar otherDate = Calendar.getInstance();
    otherDate.add(Calendar.YEAR, 1);
    assertEquals(0, taskService.createTaskQuery().dueDate(otherDate.getTime()).count());
    Calendar priorDate = Calendar.getInstance();
    priorDate.setTime(dueDate);
    priorDate.roll(Calendar.YEAR, -1);
    assertEquals(1, taskService.createTaskQuery().dueAfter(priorDate.getTime()).count());
    assertEquals(1, taskService.createTaskQuery().dueBefore(otherDate.getTime()).count());
}

82. VariableInstanceQueryTest#testSequentialMultiInstanceSubProcess()

Project: camunda-bpm-platform
File: VariableInstanceQueryTest.java
@Deployment
public void testSequentialMultiInstanceSubProcess() {
    // given a process instance in sequential MI
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("miSequentialSubprocess");
    // when
    VariableInstance nrOfInstances = runtimeService.createVariableInstanceQuery().variableName("nrOfInstances").singleResult();
    VariableInstance nrOfActiveInstances = runtimeService.createVariableInstanceQuery().variableName("nrOfActiveInstances").singleResult();
    VariableInstance nrOfCompletedInstances = runtimeService.createVariableInstanceQuery().variableName("nrOfCompletedInstances").singleResult();
    VariableInstance loopCounter = runtimeService.createVariableInstanceQuery().variableName("loopCounter").singleResult();
    // then the activity instance ids of the variable instances should be correct
    ActivityInstance tree = runtimeService.getActivityInstance(instance.getId());
    assertEquals(tree.getActivityInstances("miSubProcess#multiInstanceBody")[0].getId(), nrOfInstances.getActivityInstanceId());
    assertEquals(tree.getActivityInstances("miSubProcess#multiInstanceBody")[0].getId(), nrOfActiveInstances.getActivityInstanceId());
    assertEquals(tree.getActivityInstances("miSubProcess#multiInstanceBody")[0].getId(), nrOfCompletedInstances.getActivityInstanceId());
    assertEquals(tree.getActivityInstances("miSubProcess#multiInstanceBody")[0].getId(), loopCounter.getActivityInstanceId());
}

83. VariableInstanceQueryTest#testQueryByTaskIdWithoutAnyResult()

Project: camunda-bpm-platform
File: VariableInstanceQueryTest.java
@Test
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testQueryByTaskIdWithoutAnyResult() {
    // given
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("stringVar", "test");
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables);
    Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
    taskService.setVariableLocal(task.getId(), "taskVariable", "aCustomValue");
    // when
    VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().taskIdIn("aTaskId");
    // then
    List<VariableInstance> result = query.list();
    assertTrue(result.isEmpty());
    assertEquals(0, query.count());
}

84. RuntimeServiceTest#testChangeToSerializableUsingApi()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/RuntimeServiceTest.testBasicVariableOperations.bpmn20.xml" })
public void testChangeToSerializableUsingApi() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("aVariable", "test");
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("taskAssigneeProcess", variables);
    VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableName("aVariable");
    VariableInstance variable = query.singleResult();
    assertEquals(ValueType.STRING.getName(), variable.getTypeName());
    runtimeService.setVariable(processInstance.getId(), "aVariable", new SerializableVariable("foo"));
    variable = query.singleResult();
    assertEquals(ValueType.OBJECT.getName(), variable.getTypeName());
}

85. RuntimeServiceTest#testChangeTypeFromSerializableUsingApi()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/RuntimeServiceTest.testBasicVariableOperations.bpmn20.xml" })
public void testChangeTypeFromSerializableUsingApi() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("aVariable", new SerializableVariable("foo"));
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("taskAssigneeProcess", variables);
    VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableName("aVariable");
    VariableInstance variable = query.singleResult();
    assertEquals(ValueType.OBJECT.getName(), variable.getTypeName());
    runtimeService.setVariable(pi.getId(), "aVariable", null);
    variable = query.singleResult();
    assertEquals(ValueType.NULL.getName(), variable.getTypeName());
}

86. RuntimeServiceTest#testOnlyChangeType()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = { "org/camunda/bpm/engine/test/api/runtime/RuntimeServiceTest.testBasicVariableOperations.bpmn20.xml" })
public void testOnlyChangeType() {
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("aVariable", 1234);
    ProcessInstance pi = runtimeService.startProcessInstanceByKey("taskAssigneeProcess", variables);
    VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableName("aVariable");
    VariableInstance variable = query.singleResult();
    assertEquals(ValueType.INTEGER.getName(), variable.getTypeName());
    runtimeService.setVariable(pi.getId(), "aVariable", 1234L);
    variable = query.singleResult();
    assertEquals(ValueType.LONG.getName(), variable.getTypeName());
    runtimeService.setVariable(pi.getId(), "aVariable", (short) 1234);
    variable = query.singleResult();
    assertEquals(ValueType.SHORT.getName(), variable.getTypeName());
}

87. RuntimeServiceTest#testStartProcessInstanceByMessageWithLastVersionOfProcessDefinition()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/messageStartEvent.bpmn20.xml")
public void testStartProcessInstanceByMessageWithLastVersionOfProcessDefinition() {
    String deploymentId = repositoryService.createDeployment().addClasspathResource("org/camunda/bpm/engine/test/api/runtime/messageStartEvent_version2.bpmn20.xml").deploy().getId();
    ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().latestVersion().singleResult();
    ProcessInstance processInstance = runtimeService.startProcessInstanceByMessageAndProcessDefinitionId("newStartMessage", processDefinition.getId());
    assertThat(processInstance, is(notNullValue()));
    assertThat(processInstance.getProcessDefinitionId(), is(processDefinition.getId()));
    // clean up
    repositoryService.deleteDeployment(deploymentId, true);
}

88. RuntimeServiceTest#testStartProcessInstanceByMessageWithEarlierVersionOfProcessDefinition()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/messageStartEvent.bpmn20.xml")
public void testStartProcessInstanceByMessageWithEarlierVersionOfProcessDefinition() {
    String deploymentId = repositoryService.createDeployment().addClasspathResource("org/camunda/bpm/engine/test/api/runtime/messageStartEvent_version2.bpmn20.xml").deploy().getId();
    ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionVersion(1).singleResult();
    ProcessInstance processInstance = runtimeService.startProcessInstanceByMessageAndProcessDefinitionId("startMessage", processDefinition.getId());
    assertThat(processInstance, is(notNullValue()));
    assertThat(processInstance.getProcessDefinitionId(), is(processDefinition.getId()));
    // clean up
    repositoryService.deleteDeployment(deploymentId, true);
}

89. RuntimeServiceTest#testSetAbstractNumberValueFails()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml")
public void testSetAbstractNumberValueFails() {
    try {
        runtimeService.startProcessInstanceByKey("oneTaskProcess", Variables.createVariables().putValueTyped("var", Variables.numberValue(42)));
        fail("exception expected");
    } catch (ProcessEngineException e) {
        assertTextPresentIgnoreCase("cannot serialize value of abstract type number", e.getMessage());
    }
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    try {
        runtimeService.setVariable(processInstance.getId(), "var", Variables.numberValue(42));
        fail("exception expected");
    } catch (ProcessEngineException e) {
        assertTextPresentIgnoreCase("cannot serialize value of abstract type number", e.getMessage());
    }
}

90. RuntimeServiceTest#testChangeVariableType()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml")
public void testChangeVariableType() {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    DummySerializable dummy = new DummySerializable();
    runtimeService.setVariable(instance.getId(), "dummy", dummy);
    runtimeService.setVariable(instance.getId(), "dummy", 47);
    VariableInstance variableInstance = runtimeService.createVariableInstanceQuery().singleResult();
    assertEquals(47, variableInstance.getValue());
    assertEquals(ValueType.INTEGER.getName(), variableInstance.getTypeName());
}

91. RuntimeServiceTest#testGetInvalidTransitionInstancesForActivity()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/RuntimeServiceTest.testGetTransitionInstancesForActivity.bpmn20.xml")
public void testGetInvalidTransitionInstancesForActivity() {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("miSubprocess");
    ActivityInstance tree = runtimeService.getActivityInstance(instance.getId());
    try {
        tree.getTransitionInstances(null);
        fail("exception expected");
    } catch (NullValueException e) {
    }
}

92. RuntimeServiceTest#testGetInvalidActivityInstancesForActivity()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/RuntimeServiceTest.testGetActivityInstancesForActivity.bpmn20.xml")
public void testGetInvalidActivityInstancesForActivity() {
    ProcessInstance instance = runtimeService.startProcessInstanceByKey("miSubprocess");
    ActivityInstance tree = runtimeService.getActivityInstance(instance.getId());
    try {
        tree.getActivityInstances(null);
        fail("exception expected");
    } catch (NullValueException e) {
    }
}

93. RuntimeServiceTest#testActivityInstanceForConcurrentSubprocess()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
/**
   * Test for CAM-3572
   */
@Deployment
public void testActivityInstanceForConcurrentSubprocess() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("concurrentSubProcess");
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertNotNull(tree);
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).activity("outerTask").beginScope("subProcess").activity("innerTask").done());
}

94. RuntimeServiceTest#testActivityInstanceTreeForNestedAsyncAfterEndEvent()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testActivityInstanceTreeForNestedAsyncAfterEndEvent() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("asyncEndEventProcess");
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).beginScope("subProcess").transition("theSubProcessEnd").done());
    TransitionInstance asyncAfterTransitionInstance = tree.getChildActivityInstances()[0].getChildTransitionInstances()[0];
    String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
    assertEquals(asyncExecutionId, asyncAfterTransitionInstance.getExecutionId());
}

95. RuntimeServiceTest#testActivityInstanceTreeForNestedAsyncAfterTask()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testActivityInstanceTreeForNestedAsyncAfterTask() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task task = taskService.createTaskQuery().singleResult();
    taskService.complete(task.getId());
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).beginScope("subProcess").transition("theTask").done());
    TransitionInstance asyncAfterTransitionInstance = tree.getChildActivityInstances()[0].getChildTransitionInstances()[0];
    String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
    assertEquals(asyncExecutionId, asyncAfterTransitionInstance.getExecutionId());
}

96. RuntimeServiceTest#testActivityInstanceTreeForNestedAsyncBeforeTask()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testActivityInstanceTreeForNestedAsyncBeforeTask() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).beginScope("subProcess").transition("theTask").done());
    TransitionInstance asyncBeforeTransitionInstance = tree.getChildActivityInstances()[0].getChildTransitionInstances()[0];
    String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
    assertEquals(asyncExecutionId, asyncBeforeTransitionInstance.getExecutionId());
}

97. RuntimeServiceTest#testActivityInstanceTreeForAsyncAfterEndEvent()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testActivityInstanceTreeForAsyncAfterEndEvent() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("asyncEndEventProcess");
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).transition("theEnd").done());
    TransitionInstance asyncAfterTransitionInstance = tree.getChildTransitionInstances()[0];
    assertEquals(processInstance.getId(), asyncAfterTransitionInstance.getExecutionId());
}

98. RuntimeServiceTest#testActivityInstanceTreeForConcurrentAsyncAfterTask()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testActivityInstanceTreeForConcurrentAsyncAfterTask() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("concurrentTasksProcess");
    Task asyncTask = taskService.createTaskQuery().taskDefinitionKey("asyncTask").singleResult();
    assertNotNull(asyncTask);
    taskService.complete(asyncTask.getId());
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).activity("theTask").transition("asyncTask").done());
    TransitionInstance asyncBeforeTransitionInstance = tree.getChildTransitionInstances()[0];
    String asyncExecutionId = managementService.createJobQuery().singleResult().getExecutionId();
    assertEquals(asyncExecutionId, asyncBeforeTransitionInstance.getExecutionId());
}

99. RuntimeServiceTest#testActivityInstanceTreeForAsyncAfterTask()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testActivityInstanceTreeForAsyncAfterTask() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task task = taskService.createTaskQuery().singleResult();
    taskService.complete(task.getId());
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).transition("theTask").done());
    TransitionInstance asyncAfterTransitionInstance = tree.getChildTransitionInstances()[0];
    assertEquals(processInstance.getId(), asyncAfterTransitionInstance.getExecutionId());
}

100. RuntimeServiceTest#testActivityInstanceTreeForAsyncBeforeStartEvent()

Project: camunda-bpm-platform
File: RuntimeServiceTest.java
@Deployment
public void testActivityInstanceTreeForAsyncBeforeStartEvent() {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId());
    assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).transition("theStart").done());
    TransitionInstance asyncBeforeTransitionInstance = tree.getChildTransitionInstances()[0];
    assertEquals(processInstance.getId(), asyncBeforeTransitionInstance.getExecutionId());
}