@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testSetVariableLocalOnUserTask() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("oneTaskProcess"); Task task = taskService.createTaskQuery().singleResult(); assertNotNull(task); taskService.setVariableLocal(task.getId(), "testVar", "testValue"); ExecutionEntity taskExecution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId(task.getExecutionId()).singleResult(); assertNotNull(taskExecution); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); assertEquals(1, query.count()); HistoricVariableInstance variable = query.singleResult(); assertNotNull(variable); // the variable is in the task scope assertEquals(taskExecution.getActivityInstanceId(), variable.getActivityInstanceId()); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testCmmnActivityInstanceIdOnTask() { // given CaseInstance caseInstance = caseService.createCaseInstanceByKey("oneTaskCase"); String taskExecutionId = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1").singleResult().getId(); Task task = taskService.createTaskQuery().singleResult(); // when taskService.setVariable(task.getId(), "foo", "bar"); // then HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().variableName("foo").singleResult(); assertNotNull(variable); assertEquals(caseInstance.getId(), variable.getActivityInstanceId()); if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail variableDetail = historyService .createHistoricDetailQuery() .variableUpdates() .variableInstanceId(variable.getId()) .singleResult(); assertEquals(taskExecutionId, variableDetail.getActivityInstanceId()); } }
@Deployment public void testSetVariableOnServiceTaskInsideParallelBranch() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); assertEquals(1, query.count()); HistoricVariableInstance variable = query.singleResult(); // the variable is in the process instance scope assertEquals(pi.getId(), variable.getActivityInstanceId()); assertProcessEnded(pi.getId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testSetVariableOnProcessIntanceStartAndSetVariableLocalOnUserTask() { Map<String, Object> variables = new HashMap<String, Object>(); variables.put("testVar", "testValue"); ProcessInstance pi = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); Task task = taskService.createTaskQuery().singleResult(); assertNotNull(task); taskService.setVariableLocal(task.getId(), "testVar", "anotherTestValue"); ExecutionEntity taskExecution = (ExecutionEntity) runtimeService.createExecutionQuery().singleResult(); assertNotNull(taskExecution); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); assertEquals(2, query.count()); List<HistoricVariableInstance> result = query.list(); HistoricVariableInstance firstVar = result.get(0); assertEquals("testVar", firstVar.getVariableName()); assertEquals("testValue", firstVar.getValue()); // the variable is in the process instance scope assertEquals(pi.getId(), firstVar.getActivityInstanceId()); HistoricVariableInstance secondVar = result.get(1); assertEquals("testVar", secondVar.getVariableName()); assertEquals("anotherTestValue", secondVar.getValue()); // the variable is in the task scope assertEquals(taskExecution.getActivityInstanceId(), secondVar.getActivityInstanceId()); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testSetVariableOnProcessInstanceStart() { Map<String, Object> variables = new HashMap<String, Object>(); variables.put("testVar", "testValue"); ProcessInstance pi = runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); assertEquals(1, query.count()); HistoricVariableInstance variable = query.singleResult(); assertNotNull(variable); // the variable is in the process instance scope assertEquals(pi.getId(), variable.getActivityInstanceId()); taskService.complete(taskService.createTaskQuery().singleResult().getId()); assertProcessEnded(pi.getId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneSubProcess.bpmn20.xml"}) public void testSetVariableOnUserTaskInsideSubProcess() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("startSimpleSubProcess"); Task task = taskService.createTaskQuery().singleResult(); assertNotNull(task); taskService.setVariable(task.getId(), "testVar", "testValue"); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); assertEquals(1, query.count()); HistoricVariableInstance variable = query.singleResult(); // the variable is in the process instance scope assertEquals(pi.getId(), variable.getActivityInstanceId()); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testSetVariableLocalOnServiceTaskInsideSubProcess() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); assertEquals(1, query.count()); String activityInstanceId = historyService .createHistoricActivityInstanceQuery() .activityId("SubProcess_1") .singleResult() .getId(); HistoricVariableInstance variable = query.singleResult(); // the variable is in the sub process scope assertEquals(activityInstanceId, variable.getActivityInstanceId()); assertProcessEnded(pi.getId()); }
@Deployment public void testSetVariableLocalOnTaskInsideParallelBranch() { ProcessInstance pi = runtimeService.startProcessInstanceByKey("process"); Task task = taskService.createTaskQuery().singleResult(); assertNotNull(task); taskService.setVariableLocal(task.getId(), "testVar", "testValue"); ExecutionEntity taskExecution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId(task.getExecutionId()).singleResult(); assertNotNull(taskExecution); HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); assertEquals(1, query.count()); HistoricVariableInstance variable = query.singleResult(); // the variable is in the user task scope assertEquals(taskExecution.getActivityInstanceId(), variable.getActivityInstanceId()); taskService.complete(task.getId()); assertProcessEnded(pi.getId()); }
@Deployment public void testInputMappings() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("process").getId(); HistoricActivityInstanceQuery activityInstanceQuery = historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId); String theService1Id = activityInstanceQuery.activityId("theService1").singleResult().getId(); String theService2Id = activityInstanceQuery.activityId("theService2").singleResult().getId(); String theTaskId = activityInstanceQuery.activityId("theTask").singleResult().getId(); // when (1) HistoricVariableInstance firstVariable = historyService .createHistoricVariableInstanceQuery() .variableName("firstInputVariable") .singleResult(); // then (1) assertEquals(theService1Id, firstVariable.getActivityInstanceId()); if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail firstVariableDetail = historyService .createHistoricDetailQuery() .variableUpdates() .variableInstanceId(firstVariable.getId()) .singleResult(); assertEquals(theService1Id, firstVariableDetail.getActivityInstanceId()); } // when (2) HistoricVariableInstance secondVariable = historyService .createHistoricVariableInstanceQuery() .variableName("secondInputVariable") .singleResult(); // then (2) assertEquals(theService2Id, secondVariable.getActivityInstanceId()); if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail secondVariableDetail = historyService .createHistoricDetailQuery() .variableUpdates() .variableInstanceId(secondVariable.getId()) .singleResult(); assertEquals(theService2Id, secondVariableDetail.getActivityInstanceId()); } // when (3) HistoricVariableInstance thirdVariable = historyService .createHistoricVariableInstanceQuery() .variableName("thirdInputVariable") .singleResult(); // then (3) assertEquals(theTaskId, thirdVariable.getActivityInstanceId()); if (processEngineConfiguration.getHistoryLevel().getId() > ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { HistoricDetail thirdVariableDetail = historyService .createHistoricDetailQuery() .variableUpdates() .variableInstanceId(thirdVariable.getId()) .singleResult(); assertEquals(theTaskId, thirdVariableDetail.getActivityInstanceId()); } }