@Test public void providerCalledWithProcessDefinition_ProcessTask() { ContextLoggingTenantIdProvider tenantIdProvider = new ContextLoggingTenantIdProvider(); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy( Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done(), "org/camunda/bpm/engine/test/api/multitenancy/CaseWithProcessTask.cmmn"); // if the case is started engineRule.getCaseService().createCaseInstanceByKey("testCase"); CaseExecution caseExecution = engineRule.getCaseService().createCaseExecutionQuery().activityId("PI_ProcessTask_1").singleResult(); // then the tenant id provider is passed in the process definition assertThat(tenantIdProvider.parameters.size(), is(1)); assertThat(tenantIdProvider.parameters.get(0).getProcessDefinition(), is(notNullValue())); }
@Test public void providerCalledWithSuperCaseExecution() { ContextLoggingTenantIdProvider tenantIdProvider = new ContextLoggingTenantIdProvider(); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy( Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done(), "org/camunda/bpm/engine/test/api/multitenancy/CaseWithProcessTask.cmmn"); // if the case is started engineRule.getCaseService().createCaseInstanceByKey("testCase"); CaseExecution caseExecution = engineRule.getCaseService().createCaseExecutionQuery().activityId("PI_ProcessTask_1").singleResult(); // then the tenant id provider is handed in the super case execution assertThat(tenantIdProvider.parameters.size(), is(1)); assertThat(tenantIdProvider.parameters.get(0).getSuperCaseExecution(), is(notNullValue())); }
@Test public void setNullTenantId() { String tenantId = null; StaticTenantIdTestProvider tenantIdProvider = new StaticTenantIdTestProvider(tenantId); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy(Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done()); // if a process instance is started engineRule.getRuntimeService().startProcessInstanceByKey(PROCESS_DEFINITION_KEY); // then the tenant id provider can set the tenant id to null ProcessInstance processInstance = engineRule.getRuntimeService().createProcessInstanceQuery().singleResult(); assertThat(processInstance.getTenantId(), is(nullValue())); }
@Test public void providerCalledForProcessDefinitionWithoutTenantId_ProcessTask() { ContextLoggingTenantIdProvider tenantIdProvider = new ContextLoggingTenantIdProvider(); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy( Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done(), "org/camunda/bpm/engine/test/api/multitenancy/CaseWithProcessTask.cmmn"); // if the case is started engineRule.getCaseService().createCaseInstanceByKey("testCase"); CaseExecution caseExecution = engineRule.getCaseService().createCaseExecutionQuery().activityId("PI_ProcessTask_1").singleResult(); // then the tenant id provider is invoked once for the process instance assertThat(tenantIdProvider.parameters.size(), is(1)); }
@Test public void providerNotCalledForProcessDefinitionWithTenantId_ProcessTask() { ContextLoggingTenantIdProvider tenantIdProvider = new ContextLoggingTenantIdProvider(); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deployForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done(), "org/camunda/bpm/engine/test/api/multitenancy/CaseWithProcessTask.cmmn"); // if the case is started engineRule.getCaseService().createCaseInstanceByKey("testCase"); CaseExecution caseExecution = engineRule.getCaseService().createCaseExecutionQuery().activityId("PI_ProcessTask_1").singleResult(); // then the tenant id provider is not invoked assertThat(tenantIdProvider.parameters.size(), is(0)); }
@Test public void providerCalledWithVariables_ProcessTask() { ContextLoggingTenantIdProvider tenantIdProvider = new ContextLoggingTenantIdProvider(); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy( Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done(), "org/camunda/bpm/engine/test/api/multitenancy/CaseWithProcessTask.cmmn"); // if the case is started engineRule.getCaseService().createCaseInstanceByKey("testCase", Variables.createVariables().putValue("varName", true)); CaseExecution caseExecution = engineRule.getCaseService().createCaseExecutionQuery().activityId("PI_ProcessTask_1").singleResult(); // then the tenant id provider is passed in the variable assertThat(tenantIdProvider.parameters.size(), is(1)); VariableMap variables = tenantIdProvider.parameters.get(0).getVariables(); assertThat(variables.size(), is(1)); assertThat((Boolean) variables.get("varName"), is(true)); }
@Override protected void setUp() { BpmnModelInstance process = Bpmn.createExecutableProcess("EmptyProcess") .startEvent().done(); BpmnModelInstance singleTaskProcess = Bpmn.createExecutableProcess("SingleTaskProcess") .startEvent() .userTask() .done(); deployment(process); deploymentForTenant(TENANT_ONE, singleTaskProcess); deploymentForTenant(TENANT_TWO, process); }
@Test public void setsTenantId() { String tenantId = TENANT_ID; StaticTenantIdTestProvider tenantIdProvider = new StaticTenantIdTestProvider(tenantId); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy(Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done()); // if a process instance is started engineRule.getRuntimeService().startProcessInstanceByKey(PROCESS_DEFINITION_KEY); // then the tenant id provider can set the tenant id to a value ProcessInstance processInstance = engineRule.getRuntimeService().createProcessInstanceQuery().singleResult(); assertThat(processInstance.getTenantId(), is(tenantId)); }
@Test public void setNullTenantId_SubProcessInstance() { String tenantId = null; 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 null ProcessInstance processInstance = engineRule.getRuntimeService().createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).singleResult(); assertThat(processInstance.getTenantId(), is(nullValue())); }
.subProcessDone() .userTask("userTask") .done();
@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())); }
@Test public void tenantIdInheritedFromSuperProcessInstance() { String tenantId = TENANT_ID; SetValueOnRootProcessInstanceTenantIdProvider tenantIdProvider = new SetValueOnRootProcessInstanceTenantIdProvider(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 is inherited to the sub process instance even tough it is not set by the provider ProcessInstance processInstance = engineRule.getRuntimeService().createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).singleResult(); assertThat(processInstance.getTenantId(), is(tenantId)); }
.timerWithDate(sdf.format(futureDueDate)) .userTask("future") .done(); BpmnModelInstance targetModel = Bpmn.createExecutableProcess() .startEvent("startEvent") .timerWithDate(sdf.format(futureDueDate)) .userTask("future") .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(sourceModel); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(targetModel);
.timerWithDate(sdf.format(futureDueDate)) .userTask("future") .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(model); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(model);
.conditionalEventDefinitionDone() .userTask(USER_TASK_ID) .done());
@Test public void setNullTenantId() { String tenantId = null; StaticTenantIdTestProvider tenantIdProvider = new StaticTenantIdTestProvider(tenantId); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy(Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done()); // if a process instance is started engineRule.getRuntimeService().startProcessInstanceByKey(PROCESS_DEFINITION_KEY); // then the tenant id provider can set the tenant id to null ProcessInstance processInstance = engineRule.getRuntimeService().createProcessInstanceQuery().singleResult(); assertThat(processInstance.getTenantId(), is(nullValue())); }
.moveToLastGateway() .userTask() .done();
@Override protected void setUp() { BpmnModelInstance process = Bpmn.createExecutableProcess("EmptyProcess") .startEvent().done(); BpmnModelInstance singleTaskProcess = Bpmn.createExecutableProcess("SingleTaskProcess") .startEvent() .userTask() .done(); deployment(process); deploymentForTenant(TENANT_ONE, singleTaskProcess); deploymentForTenant(TENANT_TWO, process); }
@Test public void setsTenantId() { String tenantId = TENANT_ID; StaticTenantIdTestProvider tenantIdProvider = new StaticTenantIdTestProvider(tenantId); TestTenantIdProvider.delegate = tenantIdProvider; testRule.deploy(Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY).startEvent().userTask().done()); // if a process instance is started engineRule.getRuntimeService().startProcessInstanceByKey(PROCESS_DEFINITION_KEY); // then the tenant id provider can set the tenant id to a value ProcessInstance processInstance = engineRule.getRuntimeService().createProcessInstanceQuery().singleResult(); assertThat(processInstance.getTenantId(), is(tenantId)); }
@Test public void setNullTenantId_SubProcessInstance() { String tenantId = null; 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 null ProcessInstance processInstance = engineRule.getRuntimeService().createProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).singleResult(); assertThat(processInstance.getTenantId(), is(nullValue())); }