public void testPropagateTenantIdToAsyncJob() { deploymentForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY) .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done()); startProcessInstance(PROCESS_DEFINITION_KEY); // the job is created when the asynchronous activity is reached Job job = managementService.createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from job definition assertThat(job.getTenantId(), is(TENANT_ID)); }
@Test public void propagateTenantIdToAsyncJob() { testRule.deploy(Bpmn.createExecutableProcess("process") .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); // the job is created when the asynchronous activity is reached Job job = engineRule.getManagementService().createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from execution assertThat(job.getTenantId(), is(TENANT_ID)); }
@Override protected void setUp() { BpmnModelInstance asyncTaskProcess = Bpmn.createExecutableProcess("testProcess") .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done(); deployment(asyncTaskProcess); deploymentForTenant(TENANT_ONE, asyncTaskProcess); deploymentForTenant(TENANT_TWO, asyncTaskProcess); runtimeService.createProcessInstanceByKey("testProcess").processDefinitionWithoutTenantId().execute(); runtimeService.createProcessInstanceByKey("testProcess").processDefinitionTenantId(TENANT_ONE).execute(); runtimeService.createProcessInstanceByKey("testProcess").processDefinitionTenantId(TENANT_TWO).execute(); }
@Test public void testSetVariableInTakeListenerWithAsyncBefore() { BpmnModelInstance modelInstance = Bpmn.createExecutableProcess(CONDITIONAL_EVENT_PROCESS_KEY) .startEvent() .userTask(TASK_BEFORE_CONDITION_ID) .name(TASK_BEFORE_CONDITION) .sequenceFlowId(FLOW_ID) .userTask(TASK_WITH_CONDITION_ID).camundaAsyncBefore() .endEvent() .done(); CamundaExecutionListener listener = modelInstance.newInstance(CamundaExecutionListener.class); listener.setCamundaEvent(ExecutionListener.EVENTNAME_TAKE); listener.setCamundaClass(specifier.getDelegateClass().getName()); modelInstance.<SequenceFlow>getModelElementById(FLOW_ID).builder().addExtensionElement(listener); deployConditionalEventSubProcess(modelInstance, CONDITIONAL_EVENT_PROCESS_KEY, specifier.getCondition(), true); // given ProcessInstance procInst = runtimeService.startProcessInstanceByKey(CONDITIONAL_EVENT_PROCESS_KEY); TaskQuery taskQuery = taskService.createTaskQuery().processInstanceId(procInst.getId()); Task task = taskQuery.singleResult(); assertNotNull(task); assertEquals(TASK_BEFORE_CONDITION, task.getName()); //when task is completed taskService.complete(task.getId()); //then take listener sets variable //conditional event is triggered tasksAfterVariableIsSet = taskQuery.list(); assertEquals(specifier.getExpectedInterruptingCount(), taskQuery.taskName(TASK_AFTER_CONDITION).count()); }
.userTask(TASK_WITH_CONDITION_ID) .name(TASK_WITH_CONDITION) .camundaAsyncBefore() .endEvent(END_EVENT_ID) .done();
.name(TASK_BEFORE_CONDITION) .sequenceFlowId(FLOW_ID) .userTask(TASK_WITH_CONDITION_ID).camundaAsyncBefore() .endEvent() .done();
.userTask(TASK_WITH_CONDITION_ID) .name(TASK_WITH_CONDITION) .camundaAsyncBefore() .endEvent(END_EVENT_ID) .done();
public void testPropagateTenantIdToAsyncJob() { deploymentForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY) .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done()); startProcessInstance(PROCESS_DEFINITION_KEY); // the job is created when the asynchronous activity is reached Job job = managementService.createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from job definition assertThat(job.getTenantId(), is(TENANT_ID)); }
@Test public void propagateTenantIdToAsyncJob() { testRule.deploy(Bpmn.createExecutableProcess("process") .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); // the job is created when the asynchronous activity is reached Job job = engineRule.getManagementService().createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from execution assertThat(job.getTenantId(), is(TENANT_ID)); }
@Override protected void setUp() { BpmnModelInstance asyncTaskProcess = Bpmn.createExecutableProcess("testProcess") .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done(); deployment(asyncTaskProcess); deploymentForTenant(TENANT_ONE, asyncTaskProcess); deploymentForTenant(TENANT_TWO, asyncTaskProcess); runtimeService.createProcessInstanceByKey("testProcess").processDefinitionWithoutTenantId().execute(); runtimeService.createProcessInstanceByKey("testProcess").processDefinitionTenantId(TENANT_ONE).execute(); runtimeService.createProcessInstanceByKey("testProcess").processDefinitionTenantId(TENANT_TWO).execute(); }
@Test public void testSetVariableInTakeListenerWithAsyncBefore() { BpmnModelInstance modelInstance = Bpmn.createExecutableProcess(CONDITIONAL_EVENT_PROCESS_KEY) .startEvent() .userTask(TASK_BEFORE_CONDITION_ID) .name(TASK_BEFORE_CONDITION) .sequenceFlowId(FLOW_ID) .userTask(TASK_WITH_CONDITION_ID).camundaAsyncBefore() .endEvent() .done(); CamundaExecutionListener listener = modelInstance.newInstance(CamundaExecutionListener.class); listener.setCamundaEvent(ExecutionListener.EVENTNAME_TAKE); listener.setCamundaClass(specifier.getDelegateClass().getName()); modelInstance.<SequenceFlow>getModelElementById(FLOW_ID).builder().addExtensionElement(listener); deployConditionalEventSubProcess(modelInstance, CONDITIONAL_EVENT_PROCESS_KEY, specifier.getCondition(), true); // given ProcessInstance procInst = runtimeService.startProcessInstanceByKey(CONDITIONAL_EVENT_PROCESS_KEY); TaskQuery taskQuery = taskService.createTaskQuery().processInstanceId(procInst.getId()); Task task = taskQuery.singleResult(); assertNotNull(task); assertEquals(TASK_BEFORE_CONDITION, task.getName()); //when task is completed taskService.complete(task.getId()); //then take listener sets variable //conditional event is triggered tasksAfterVariableIsSet = taskQuery.list(); assertEquals(specifier.getExpectedInterruptingCount(), taskQuery.taskName(TASK_AFTER_CONDITION).count()); }
.name(TASK_BEFORE_CONDITION) .sequenceFlowId(FLOW_ID) .userTask(TASK_WITH_CONDITION_ID).camundaAsyncBefore() .endEvent() .done();
.userTask(TASK_WITH_CONDITION_ID) .name(TASK_WITH_CONDITION) .camundaAsyncBefore() .endEvent(END_EVENT_ID) .done();
.userTask(TASK_WITH_CONDITION_ID) .name(TASK_WITH_CONDITION) .camundaAsyncBefore() .endEvent(END_EVENT_ID) .done();