@Test public void testMultipleVariableParametersAsPost() { String variableName = "varName"; String variableValue = "varValue"; String anotherVariableName = "anotherVarName"; Integer anotherVariableValue = 30; Map<String, Object> variableJson = new HashMap<String, Object>(); variableJson.put("name", variableName); variableJson.put("operator", "eq"); variableJson.put("value", variableValue); Map<String, Object> anotherVariableJson = new HashMap<String, Object>(); anotherVariableJson.put("name", anotherVariableName); anotherVariableJson.put("operator", "neq"); anotherVariableJson.put("value", anotherVariableValue); List<Map<String, Object>> variables = new ArrayList<Map<String, Object>>(); variables.add(variableJson); variables.add(anotherVariableJson); Map<String, Object> json = new HashMap<String, Object>(); json.put("variables", variables); given() .contentType(POST_JSON_CONTENT_TYPE) .body(json) .then() .expect() .statusCode(Status.OK.getStatusCode()) .when() .post(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueEquals(variableName, variableValue); verify(mockedQuery).variableValueNotEquals(eq(anotherVariableName), argThat(EqualsPrimitiveValue.numberValue(anotherVariableValue))); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/standalone/history/FullHistoryTest.testHistoricProcessInstanceVariableValueEquals.bpmn20.xml"}) public void testHistoricProcessInstanceVariableValueNotEquals() throws Exception { // Set some variables on the process instance Map<String, Object> variables = new HashMap<String, Object>(); variables.put("longVar", 12345L); variables.put("shortVar", (short) 123); variables.put("integerVar", 1234); variables.put("stringVar", "stringValue"); variables.put("booleanVar", true); Date date = Calendar.getInstance().getTime(); Calendar otherCal = Calendar.getInstance(); otherCal.add(Calendar.DAY_OF_MONTH, 1); Date otherDate = otherCal.getTime(); variables.put("dateVar", date); variables.put("nullVar", null); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("HistoricProcessInstanceTest", variables); // Validate all variable-updates are present in DB assertEquals(7, historyService.createHistoricDetailQuery().variableUpdates().processInstanceId(processInstance.getId()).count()); // Query Historic process instances based on process variable, shouldn't match assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("longVar", 12345L).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("shortVar", (short) 123).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("integerVar",1234).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("stringVar","stringValue").count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("booleanVar", true).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("dateVar", date).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("nullVar", null).count()); }
@Test public void testMultipleVariableParameters() { String variableName1 = "varName"; String variableValue1 = "varValue"; String variableParameter1 = variableName1 + "_eq_" + variableValue1; String variableName2 = "anotherVarName"; String variableValue2 = "anotherVarValue"; String variableParameter2 = variableName2 + "_neq_" + variableValue2; String queryValue = variableParameter1 + "," + variableParameter2; given() .queryParam("variables", queryValue) .then() .expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueEquals(variableName1, variableValue1); verify(mockedQuery).variableValueNotEquals(variableName2, variableValue2); }
query.variableValueLessThanOrEqual(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.NOT_EQUALS_OPERATOR_NAME)) { query.variableValueNotEquals(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.LIKE_OPERATOR_NAME)) { query.variableValueLike(variableName, String.valueOf(variableValue));
query.variableValueLessThanOrEqual(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.NOT_EQUALS_OPERATOR_NAME)) { query.variableValueNotEquals(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.LIKE_OPERATOR_NAME)) { query.variableValueLike(variableName, String.valueOf(variableValue));
resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("dateVar", date1).singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance3.getId(), resultInstance.getId());
.get(HISTORIC_PROCESS_INSTANCE_RESOURCE_URL); verify(mockedQuery).variableValueNotEquals(variableName, variableValue);
resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("stringVar", "abcdef").singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance3.getId(), resultInstance.getId());
@Test @Deployment(resources={"org/camunda/bpm/engine/test/standalone/history/FullHistoryTest.testHistoricProcessInstanceVariableValueEquals.bpmn20.xml"}) public void testHistoricProcessInstanceVariableValueNotEquals() throws Exception { // Set some variables on the process instance Map<String, Object> variables = new HashMap<String, Object>(); variables.put("longVar", 12345L); variables.put("shortVar", (short) 123); variables.put("integerVar", 1234); variables.put("stringVar", "stringValue"); variables.put("booleanVar", true); Date date = Calendar.getInstance().getTime(); Calendar otherCal = Calendar.getInstance(); otherCal.add(Calendar.DAY_OF_MONTH, 1); Date otherDate = otherCal.getTime(); variables.put("dateVar", date); variables.put("nullVar", null); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("HistoricProcessInstanceTest", variables); // Validate all variable-updates are present in DB assertEquals(7, historyService.createHistoricDetailQuery().variableUpdates().processInstanceId(processInstance.getId()).count()); // Query Historic process instances based on process variable, shouldn't match assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("longVar", 12345L).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("shortVar", (short) 123).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("integerVar",1234).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("stringVar","stringValue").count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("booleanVar", true).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("dateVar", date).count()); assertEquals(0, historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("nullVar", null).count()); }
query.variableValueLessThanOrEqual(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.NOT_EQUALS_OPERATOR_NAME)) { query.variableValueNotEquals(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.LIKE_OPERATOR_NAME)) { query.variableValueLike(variableName, String.valueOf(variableValue));
resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("dateVar", date1).singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance3.getId(), resultInstance.getId());
resultInstance = historyService.createHistoricProcessInstanceQuery().variableValueNotEquals("stringVar", "abcdef").singleResult(); Assert.assertNotNull(resultInstance); Assert.assertEquals(processInstance3.getId(), resultInstance.getId());