private List<String> createProcessInstances(ProcessDefinition sourceDefinition1, ProcessDefinition sourceDefinition2, int instanceCountDef1, int instanceCountDef2) { List<String> processInstanceIds = new ArrayList<String>(); for (int i = 0; i < instanceCountDef1; i++) { ProcessInstance processInstance1 = runtimeService.startProcessInstanceById(sourceDefinition1.getId()); processInstanceIds.add(processInstance1.getId()); if (i < instanceCountDef2) { ProcessInstance processInstance2 = runtimeService.startProcessInstanceById(sourceDefinition2.getId()); processInstanceIds.add(processInstance2.getId()); } } return processInstanceIds; }
protected String startProcessInstance(String tenantId) { if (tenantId == null) { return runtimeService.startProcessInstanceByKey(PROCESS_DEFINITION_KEY).getId(); } else { return runtimeService.createProcessInstanceByKey(PROCESS_DEFINITION_KEY) .processDefinitionTenantId(tenantId).execute().getId(); } }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testGetVariablesByEmptyList() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("oneTaskProcess").getId(); // when Map<String, Object> variables = runtimeService.getVariables(processInstanceId, new ArrayList<String>()); // then assertNotNull(variables); assertTrue(variables.isEmpty()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testGetVariablesLocalTypedByEmptyList() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("oneTaskProcess").getId(); // when Map<String, Object> variables = runtimeService.getVariablesLocalTyped(processInstanceId, new ArrayList<String>(), false); // then assertNotNull(variables); assertTrue(variables.isEmpty()); }
/** * should also skip io mappings that are defined on already instantiated * ancestor scopes and that may be executed due to the ancestor scope * completing within the modification command. */ @Deployment(resources = IO_MAPPING_ON_SUB_PROCESS_AND_NESTED_SUB_PROCESS) public void testSkipIoMappingsOnSubProcessNested() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("process"); runtimeService.createProcessInstanceModification(processInstance.getId()).startBeforeActivity("boundaryEvent").execute(false, true); // then the output mapping should not have executed assertNull(runtimeService.getVariable(processInstance.getId(), "outputMappingExecuted")); }
@Before public void init() { // deploy tenants testRule.deployForTenant(TENANT_ONE, ONE_TASK_PROCESS); processInstanceId = engineRule.getRuntimeService() .startProcessInstanceByKey(PROCESS_DEFINITION_KEY) .getId(); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/externaltask/oneExternalTaskProcess.bpmn20.xml") public void testHandleBpmnErrorReclaimedLockExpiredTaskWithoutDefinedBoundary() { // given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); handleBpmnErrorReclaimedLockExpiredTask(false); assertProcessEnded(processInstance.getId()); }
@Deployment(resources = TRANSACTION_WITH_COMPENSATION_PROCESS) public void testCancelCompensatingTaskAndStartActivity() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testProcess"); completeTasksInOrder("userTask"); ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId()); runtimeService.createProcessInstanceModification(processInstance.getId()).cancelActivityInstance(getInstanceIdForActivity(tree, "undoTask")) .startBeforeActivity("userTask").execute(); tree = runtimeService.getActivityInstance(processInstance.getId()); assertThat(tree).hasStructure(describeActivityInstanceTree(processInstance.getProcessDefinitionId()).beginScope("tx").activity("userTask").done()); completeTasksInOrder("userTask", "undoTask", "afterCancel"); assertProcessEnded(processInstance.getId()); }
@Deployment(resources={ "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) @Test public void testGetVariableUnexistingVariableName() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess"); Object variableValue = runtimeService.getVariable(processInstance.getId(), "unexistingVariable"); assertNull(variableValue); }
protected void checkProcessDefinitionMessageCorrelationResult(MessageCorrelationResult result, String startActivityId, String processDefinitionId) { assertNotNull(result); assertNotNull(result.getProcessInstance().getId()); assertEquals(MessageCorrelationResultType.ProcessDefinition, result.getResultType()); assertTrue(result.getProcessInstance().getProcessDefinitionId().contains(processDefinitionId)); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/timerOnTask.bpmn20.xml"}) public void testDeleteJobDeletion() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("timerOnTask"); Job timerJob = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull("Task timer should be there", timerJob); managementService.deleteJob(timerJob.getId()); timerJob = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult(); assertNull("There should be no job now. It was deleted", timerJob); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/runtime/RuntimeServiceTest.testGetActivityInstancesForActivity.bpmn20.xml") @Test public void testGetInvalidActivityInstancesForActivity() { ProcessInstance instance = runtimeService.startProcessInstanceByKey("miSubprocess"); ActivityInstance tree = runtimeService.getActivityInstance(instance.getId()); try { tree.getActivityInstances(null); fail("exception expected"); } catch (NullValueException e) { // happy path } }
protected void assertMigratedTo(ProcessInstance processInstance, ProcessDefinition targetDefinition) { Assert.assertEquals(1, engineRule.getRuntimeService() .createProcessInstanceQuery() .processInstanceId(processInstance.getId()) .processDefinitionId(targetDefinition.getId()) .count()); } }
protected void assertMigratedTo(ProcessInstance processInstance, ProcessDefinition targetDefinition) { Assert.assertEquals(1, defaultEngineRule.getRuntimeService() .createProcessInstanceQuery() .processInstanceId(processInstance.getId()) .processDefinitionId(targetDefinition.getId()) .count()); } }
@Test public void testSetJobDueDateWithNoAuthenticatedTenant() { Job timerJob = managementService.createJobQuery().processInstanceId(processInstance.getId()).singleResult(); identityService.setAuthentication("aUserId", null); // then thrown.expect(ProcessEngineException.class); thrown.expectMessage("Cannot update the job '" + timerJob.getId() +"' because it belongs to no authenticated tenant."); // when managementService.setJobDuedate(timerJob.getId(), new Date()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/failingProcessCreateOneIncident.bpmn20.xml"}) public void testQueryByIncidentId() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("failingProcess"); executeAvailableJobs(); List<Incident> incidentList = runtimeService.createIncidentQuery().list(); assertEquals(1, incidentList.size()); Incident incident = runtimeService.createIncidentQuery().processInstanceId(processInstance.getId()).singleResult(); List<Execution> executionList = runtimeService .createExecutionQuery() .incidentId(incident.getId()).list(); assertEquals(1, executionList.size()); }
@Deployment(resources = TRANSACTION_WITH_COMPENSATION_PROCESS) public void testStartAfterActivityDuringCompensation() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("testProcess"); completeTasksInOrder("userTask"); Task task = taskService.createTaskQuery().singleResult(); assertEquals("undoTask", task.getTaskDefinitionKey()); runtimeService.createProcessInstanceModification(processInstance.getId()).startAfterActivity("userTask").execute(); task = taskService.createTaskQuery().singleResult(); assertEquals("afterCancel", task.getTaskDefinitionKey()); completeTasksInOrder("afterCancel"); assertProcessEnded(processInstance.getId()); }
@SuppressWarnings("deprecation") protected ExternalTask startProcessInstanceAndFailExternalTask(String tenant) { ProcessInstance pi = runtimeService.createProcessInstanceByKey(DEFAULT_PROCESS_KEY).processDefinitionTenantId(tenant).execute(); ExternalTask externalTask = externalTaskService .createExternalTaskQuery() .processInstanceId(pi.getId()) .singleResult(); reportExternalTaskFailure(externalTask.getId()); return externalTask; }
protected void checkExecutionMessageCorrelationResult(MessageCorrelationResult result, ProcessInstance processInstance, String activityId) { assertNotNull(result); assertEquals(MessageCorrelationResultType.Execution, result.getResultType()); assertEquals(processInstance.getId(), result.getExecution().getProcessInstanceId()); ExecutionEntity entity = (ExecutionEntity) result.getExecution(); assertEquals(activityId, entity.getActivityId()); }
protected void checkExecutionMessageCorrelationResult(MessageCorrelationResult result, ProcessInstance processInstance, String activityId) { assertNotNull(result); assertEquals(MessageCorrelationResultType.Execution, result.getResultType()); assertEquals(processInstance.getId(), result.getExecution().getProcessInstanceId()); ExecutionEntity entity = (ExecutionEntity) result.getExecution(); assertEquals(activityId, entity.getActivityId()); }