public void testQuerySortingAsc() { List<HistoricVariableInstance> historicVariableInstances = historyService.createHistoricVariableInstanceQuery() .orderByTenantId() .asc() .list(); assertThat(historicVariableInstances.size(), is(2)); assertThat(historicVariableInstances.get(0).getTenantId(), is(TENANT_ONE)); assertEquals(historicVariableInstances.get(0).getValue(), TENANT_ONE_VAR); assertThat(historicVariableInstances.get(1).getTenantId(), is(TENANT_TWO)); assertEquals(historicVariableInstances.get(1).getValue(), TENANT_TWO_VAR); }
public void testQuerySortingDesc() { List<HistoricVariableInstance> historicVariableInstances = historyService.createHistoricVariableInstanceQuery() .orderByTenantId() .desc() .list(); assertThat(historicVariableInstances.size(), is(2)); assertThat(historicVariableInstances.get(0).getTenantId(), is(TENANT_TWO)); assertEquals(historicVariableInstances.get(0).getValue(), TENANT_TWO_VAR); assertThat(historicVariableInstances.get(1).getTenantId(), is(TENANT_ONE)); assertEquals(historicVariableInstances.get(1).getValue(), TENANT_ONE_VAR); }
public void testQueryByTenantId() { HistoricVariableInstanceQuery query = historyService .createHistoricVariableInstanceQuery() .tenantIdIn(TENANT_ONE); assertThat(query.count(), is(1L)); assertEquals(query.list().get(0).getValue(), TENANT_ONE_VAR); query = historyService .createHistoricVariableInstanceQuery() .tenantIdIn(TENANT_TWO); assertThat(query.count(), is(1L)); assertEquals(query.list().get(0).getValue(), TENANT_TWO_VAR); }
public void execute(DelegateExecution execution) throws Exception { HistoryService historyService = execution.getProcessEngineServices().getHistoryService(); HistoricVariableInstance variableInstance = historyService .createHistoricVariableInstanceQuery() .variableName("listVar") .singleResult(); List<String> list = (List<String>) variableInstance.getValue(); // implicit update of the list, should not trigger an update // of the value since we deal with historic variables list.add(NEW_ELEMENT); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testNativeHistoricVariableInstanceTest() { Date date = Calendar.getInstance().getTime(); Map<String, Object> vars = new HashMap<String, Object>(); vars.put("stringVar", "abcdef"); vars.put("dateVar", date); runtimeService.startProcessInstanceByKey(ONE_TASK_PROCESS, vars); assertEquals(2, historyService.createNativeHistoricVariableInstanceQuery().sql("SELECT count(*) FROM " + managementService.getTableName(HistoricVariableInstance.class)).count()); assertEquals(1, historyService.createNativeHistoricVariableInstanceQuery().sql("SELECT * FROM " + managementService.getTableName(HistoricVariableInstance.class)).listPage(0, 1).size()); List<HistoricVariableInstance> variables = historyService.createNativeHistoricVariableInstanceQuery().sql("SELECT * FROM " + managementService.getTableName(HistoricVariableInstance.class)).list(); assertEquals(2, variables.size()); for (HistoricVariableInstance variable : variables) { assertTrue(vars.containsKey(variable.getName())); assertEquals(vars.get(variable.getName()), variable.getValue()); vars.remove(variable.getName()); } }
public void testBinaryFetchingEnabled() { // by default, binary fetching is enabled Task newTask = taskService.newTask(); taskService.saveTask(newTask); String variableName = "binaryVariableName"; taskService.setVariable(newTask.getId(), variableName, "some bytes".getBytes()); HistoricVariableInstance variableInstance = historyService.createHistoricVariableInstanceQuery() .variableName(variableName) .singleResult(); assertNotNull(variableInstance.getValue()); taskService.deleteTask(newTask.getId(), true); }
public void testBinaryFetchingDisabled() { Task newTask = taskService.newTask(); taskService.saveTask(newTask); String variableName = "binaryVariableName"; taskService.setVariable(newTask.getId(), variableName, "some bytes".getBytes()); HistoricVariableInstance variableInstance = historyService.createHistoricVariableInstanceQuery() .variableName(variableName) .disableBinaryFetching() .singleResult(); assertNull(variableInstance.getValue()); taskService.deleteTask(newTask.getId(), true); }
@Test public void testDeployProcessArchive() { // the process can successfully be executed ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess"); HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery() .processInstanceId(pi.getId()) .singleResult(); assertNotNull(variable); assertEquals("executed", variable.getName()); assertEquals(true, variable.getValue()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testQueryByProcessDefinitionKey() { // given runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); // when HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery() .processDefinitionKey("twoTasksProcess").singleResult(); // then assertNotNull(variable); assertEquals("initial", variable.getName()); assertEquals("foo", variable.getValue()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testQueryByProcessDefinitionId() { // given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); // when HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery() .processDefinitionId(processInstance.getProcessDefinitionId()).singleResult(); // then assertNotNull(variable); assertEquals("initial", variable.getName()); assertEquals("foo", variable.getValue()); }
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/compensate/CompensateEventTest.testCompensationTriggeredByEventSubProcessActivityRef.bpmn20.xml" }) public void testCompensateActivityRefTriggeredByEventSubprocess() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("compensateProcess"); assertProcessEnded(processInstance.getId()); HistoricVariableInstanceQuery historicVariableInstanceQuery = historyService.createHistoricVariableInstanceQuery() .processInstanceId(processInstance.getId()).variableName("undoBookHotel"); if (processEngineConfiguration.getHistoryLevel().getId() >= ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { assertEquals(1, historicVariableInstanceQuery.count()); assertEquals("undoBookHotel", historicVariableInstanceQuery.list().get(0).getVariableName()); assertEquals(5, historicVariableInstanceQuery.list().get(0).getValue()); assertEquals(0, historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()).variableName("undoBookFlight").count()); } }
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/compensate/CompensateEventTest.testCompensationTriggeredByEventSubProcessInSubProcessActivityRef.bpmn20.xml" }) public void testCompensateActivityRefTriggeredByEventSubprocessInSubProcess() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("compensateProcess"); assertProcessEnded(processInstance.getId()); HistoricVariableInstanceQuery historicVariableInstanceQuery = historyService.createHistoricVariableInstanceQuery() .processInstanceId(processInstance.getId()).variableName("undoBookHotel"); if (processEngineConfiguration.getHistoryLevel().getId() >= ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { assertEquals(1, historicVariableInstanceQuery.count()); assertEquals("undoBookHotel", historicVariableInstanceQuery.list().get(0).getVariableName()); assertEquals(5, historicVariableInstanceQuery.list().get(0).getValue()); assertEquals(0, historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()).variableName("undoBookFlight").count()); } }
public void testErrorMessage() { Task newTask = taskService.newTask(); taskService.saveTask(newTask); String variableName = "failingSerializable"; taskService.setVariable(newTask.getId(), variableName, new FailingSerializable()); HistoricVariableInstance variableInstance = historyService.createHistoricVariableInstanceQuery() .variableName(variableName) .singleResult(); assertNull(variableInstance.getValue()); assertNotNull(variableInstance.getErrorMessage()); taskService.deleteTask(newTask.getId(), true); }
@Deployment(resources = { "org/camunda/bpm/engine/test/bpmn/event/compensate/CompensateEventTest.testCompensationInEventSubProcessActivityRef.bpmn20.xml" }) public void testCompensateActivityRefInEventSubprocess() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("compensateProcess"); assertProcessEnded(processInstance.getId()); HistoricVariableInstanceQuery historicVariableInstanceQuery = historyService.createHistoricVariableInstanceQuery().variableName("undoBookSecondHotel"); if (processEngineConfiguration.getHistoryLevel().getId() >= ProcessEngineConfigurationImpl.HISTORYLEVEL_AUDIT) { assertEquals(1, historicVariableInstanceQuery.count()); assertEquals("undoBookSecondHotel", historicVariableInstanceQuery.list().get(0).getVariableName()); assertEquals(5, historicVariableInstanceQuery.list().get(0).getValue()); assertEquals(0, historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()).variableName("undoBookFlight").count()); assertEquals(0, historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()).variableName("undoBookHotel").count()); } }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testQueryByProcessDefinitionKeyTwoDefinitions() { // given runtimeService.startProcessInstanceByKey("oneTaskProcess", Variables.createVariables().putValue("initial", "bar")); runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); // when HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery() .processDefinitionKey("twoTasksProcess").singleResult(); // then assertNotNull(variable); assertEquals("initial", variable.getName()); assertEquals("foo", variable.getValue()); }
@Test @Deployment public void testScriptListener() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("process"); assertTrue(processInstance.isEnded()); if (processEngineRule.getProcessEngineConfiguration().getHistoryLevel().getId() >= HISTORYLEVEL_AUDIT) { HistoricVariableInstanceQuery query = historyService.createHistoricVariableInstanceQuery(); long count = query.count(); assertEquals(5, count); HistoricVariableInstance variableInstance = null; String[] variableNames = new String[]{"start-start", "start-end", "start-take", "end-start", "end-end"}; for (String variableName : variableNames) { variableInstance = query.variableName(variableName).singleResult(); assertNotNull("Unable ot find variable with name '" + variableName + "'", variableInstance); assertTrue("Variable '" + variableName + "' should be set to true", (Boolean) variableInstance.getValue()); } } }
@Deployment(resources = "org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn") public void testQueryByCaseActivityId() { // given caseService.createCaseInstanceByKey("oneTaskCase", Variables.putValue("foo", "bar")); CaseExecution caseExecution = caseService .createCaseExecutionQuery() .activityId("PI_HumanTask_1") .singleResult(); caseService.setVariableLocal(caseExecution.getId(), "bar", "foo"); // when HistoricVariableInstanceQuery query = historyService .createHistoricVariableInstanceQuery() .caseActivityIdIn("PI_HumanTask_1"); // then assertEquals(1, query.count()); assertEquals("bar", query.singleResult().getName()); assertEquals("foo", query.singleResult().getValue()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testQueryByProcessInstanceIdAndVariableId() { // given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess", Variables.createVariables().putValue("initial", "bar")); VariableInstance variable = runtimeService.createVariableInstanceQuery().variableName("initial").singleResult(); assertNotNull(variable); // when HistoricVariableInstance historyVariable = historyService.createHistoricVariableInstanceQuery() .processInstanceId(processInstance.getId()) .variableId(variable.getId()) .singleResult(); // then assertNotNull(historyVariable); assertEquals("initial", historyVariable.getName()); assertEquals("bar", historyVariable.getValue()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/twoTasksProcess.bpmn20.xml"}) public void testQueryNotIncludeDeleted() { //given ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("twoTasksProcess", Variables.createVariables().putValue("initial", "foo")); Task task = taskService.createTaskQuery().singleResult(); taskService.setVariables(task.getId(), Variables.createVariables().putValue("bar", "abc")); taskService.complete(task.getId()); //when runtimeService.removeVariable(processInstance.getId(), "bar"); //then HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().singleResult(); assertEquals(HistoricVariableInstance.STATE_CREATED, variable.getState()); assertEquals("initial", variable.getName()); assertEquals("foo", variable.getValue()); }
@Test @Deployment public void testScriptListener() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("process"); Task task = taskService.createTaskQuery().singleResult(); assertNotNull(task); assertTrue((Boolean) runtimeService.getVariable(processInstance.getId(), "create")); taskService.setAssignee(task.getId(), "test"); assertTrue((Boolean) runtimeService.getVariable(processInstance.getId(), "assignment")); taskService.complete(task.getId()); assertTrue((Boolean) runtimeService.getVariable(processInstance.getId(), "complete")); task = taskService.createTaskQuery().singleResult(); assertNotNull(task); runtimeService.deleteProcessInstance(processInstance.getId(), "test"); if (processEngineConfiguration.getHistoryLevel().getId() >= HISTORYLEVEL_AUDIT) { HistoricVariableInstance variable = historyService.createHistoricVariableInstanceQuery().variableName("delete").singleResult(); assertNotNull(variable); assertTrue((Boolean) variable.getValue()); } }