@Test public void testParallelExecutions() { // given BpmnModelInstance instance = Bpmn.createExecutableProcess("Process") .startEvent() .parallelGateway() .scriptTask() .scriptFormat("javascript") .camundaResultVariable("abc") .scriptText("execution.setVariableLocal('abc', foo);") .endEvent() .moveToLastGateway() .scriptTask() .scriptFormat("javascript") .camundaResultVariable("abc") .scriptText("execution.setVariableLocal('abc', foo);") .endEvent() .done(); testRule.deploy(instance); // when runtimeService.startProcessInstanceByKey("Process", Variables.createVariables().putValueTyped("foo", Variables.stringValue("bar", true))); // then List<VariableInstance> variables = runtimeService.createVariableInstanceQuery().list(); assertEquals(0, variables.size()); List<HistoricVariableInstance> historicVariables = historyService.createHistoricVariableInstanceQuery().variableName("abc").list(); assertEquals(2, historicVariables.size()); }
@Test public void testParallelExecutions() { // given BpmnModelInstance instance = Bpmn.createExecutableProcess("Process") .startEvent() .parallelGateway() .scriptTask() .scriptFormat("javascript") .camundaResultVariable("abc") .scriptText("execution.setVariableLocal('abc', foo);") .endEvent() .moveToLastGateway() .scriptTask() .scriptFormat("javascript") .camundaResultVariable("abc") .scriptText("execution.setVariableLocal('abc', foo);") .endEvent() .done(); testRule.deploy(instance); // when runtimeService.startProcessInstanceByKey("Process", Variables.createVariables().putValueTyped("foo", Variables.stringValue("bar", true))); // then List<VariableInstance> variables = runtimeService.createVariableInstanceQuery().list(); assertEquals(0, variables.size()); List<HistoricVariableInstance> historicVariables = historyService.createHistoricVariableInstanceQuery().variableName("abc").list(); assertEquals(2, historicVariables.size()); }