query.variableValueEquals(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.GREATER_THAN_OPERATOR_NAME)) { query.variableValueGreaterThan(variableName, variableValue);
@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("variableValues", variables); given().contentType(POST_JSON_CONTENT_TYPE).body(json) .then().expect().statusCode(Status.OK.getStatusCode()) .when().post(VARIABLE_INSTANCE_QUERY_URL); verify(mockedQuery).variableValueEquals(variableName, variableValue); verify(mockedQuery).variableValueNotEquals(eq(anotherVariableName), argThat(EqualsPrimitiveValue.numberValue(anotherVariableValue))); verify(mockedQuery).disableBinaryFetching(); // requirement to not break existing API; should be: // verify(variableInstanceQueryMock).disableCustomObjectDeserialization(); verify(mockedQuery, never()).disableCustomObjectDeserialization(); }
query.variableValueEquals(variableName, variableValue); } else if (op.equals(VariableQueryParameterDto.GREATER_THAN_OPERATOR_NAME)) { query.variableValueGreaterThan(variableName, variableValue);
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_Bytes() { // given byte[] bytes = "somebytes".getBytes(); Map<String, Object> variables = new HashMap<String, Object>(); variables.put("bytesVar", bytes); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("bytesVar", bytes); // then try { query.list(); fail("A ProcessEngineException was expected: Variables of type ByteArray cannot be used to query."); } catch (ProcessEngineException e) { // expected exception } }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEqualsWihtoutAnyResult() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("stringVar", "test"); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("stringVar", "notFoundValue"); // then List<VariableInstance> result = query.list(); assertTrue(result.isEmpty()); assertEquals(0, query.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("variableValues", queryValue) .then().expect().statusCode(Status.OK.getStatusCode()) .when().get(VARIABLE_INSTANCE_QUERY_URL); verify(mockedQuery).variableValueEquals(variableName1, variableValue1); verify(mockedQuery).variableValueNotEquals(variableName2, variableValue2); verify(mockedQuery).disableBinaryFetching(); // requirement to not break existing API; should be: // verify(variableInstanceQueryMock).disableCustomObjectDeserialization(); verify(mockedQuery, never()).disableCustomObjectDeserialization(); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_Date() { // given Date now = new Date(); Map<String, Object> variables = new HashMap<String, Object>(); variables.put("date", now); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("date", now); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(1, query.count()); VariableInstance var = result.get(0); assertEquals("date", var.getName()); assertEquals(now, var.getValue()); assertEquals("date", var.getTypeName()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_NullValue() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("nullValue", null); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("nullValue", null); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(1, query.count()); VariableInstance var = result.get(0); assertEquals("nullValue", var.getName()); assertEquals(null, var.getValue()); assertEquals("null", var.getTypeName()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_Double() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("doubleValue", 123.456); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("doubleValue", 123.456); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(1, query.count()); VariableInstance var = result.get(0); assertEquals("doubleValue", var.getName()); assertEquals(123.456, var.getValue()); assertEquals("double", var.getTypeName()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_Short() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("shortValue", (short) 123); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("shortValue", (short) 123); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(1, query.count()); VariableInstance var = result.get(0); assertEquals("shortValue", var.getName()); assertEquals((short) 123, var.getValue()); assertEquals("short", var.getTypeName()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_Long() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("longValue", 123456L); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("longValue", 123456L); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(1, query.count()); VariableInstance var = result.get(0); assertEquals("longValue", var.getName()); assertEquals(123456L, var.getValue()); assertEquals("long", var.getTypeName()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testCreateByKeyWithVariablesAndBusinessKeyNonFluent() { // given a deployed case definition // when Map<String, Object> variables = new HashMap<String, Object>(); variables.put("aVariable", "aValue"); CaseInstance caseInstance = caseService.createCaseInstanceByKey("oneTaskCase", "aBusinessKey", variables); // then assertNotNull(caseInstance); assertEquals("aBusinessKey", caseInstance.getBusinessKey()); assertEquals(1, runtimeService.createVariableInstanceQuery() .caseInstanceIdIn(caseInstance.getId()) .variableValueEquals("aVariable", "aValue") .count()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_String() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("stringVar", "test"); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("stringVar", "test"); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(1, query.count()); VariableInstance var = result.get(0); assertEquals("stringVar", var.getName()); assertEquals("test", var.getValue()); assertEquals("string", var.getTypeName()); }
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEquals_Integer() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("intValue", 1234); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("intValue", 1234); // then List<VariableInstance> result = query.list(); assertFalse(result.isEmpty()); assertEquals(1, result.size()); assertEquals(1, query.count()); VariableInstance var = result.get(0); assertEquals("intValue", var.getName()); assertEquals(1234, var.getValue()); assertEquals("integer", var.getTypeName()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testCreateByIdWithVariablesAndBusinessKeyNonFluent() { // given a deployed case definition String caseDefinitionId = repositoryService .createCaseDefinitionQuery() .singleResult() .getId(); // when Map<String, Object> variables = new HashMap<String, Object>(); variables.put("aVariable", "aValue"); CaseInstance caseInstance = caseService.createCaseInstanceById(caseDefinitionId, "aBusinessKey", variables); // then assertNotNull(caseInstance); assertEquals("aBusinessKey", caseInstance.getBusinessKey()); assertEquals(1, runtimeService.createVariableInstanceQuery() .caseInstanceIdIn(caseInstance.getId()) .variableValueEquals("aVariable", "aValue") .count()); }
.then().expect().statusCode(Status.OK.getStatusCode()) .when().get(VARIABLE_INSTANCE_QUERY_URL); verify(mockedQuery).variableValueEquals(variableName, variableValue);
runtimeService.setVariableLocal(userTask2CCExecutionBefore.getId(), "foo", "task2Value"); VariableInstance processScopeVariable = runtimeService.createVariableInstanceQuery().variableValueEquals("foo", "processInstanceValue").singleResult(); VariableInstance task1Variable = runtimeService.createVariableInstanceQuery().variableValueEquals("foo", "task1Value").singleResult(); VariableInstance task2Variable = runtimeService.createVariableInstanceQuery().variableValueEquals("foo", "task2Value").singleResult();
runtimeService.setVariableLocal(userTask2CCExecutionBefore.getId(), "foo", "task2Value"); VariableInstance task1Variable = runtimeService.createVariableInstanceQuery().variableValueEquals("foo", "task1Value").singleResult(); VariableInstance task2Variable = runtimeService.createVariableInstanceQuery().variableValueEquals("foo", "task2Value").singleResult();
@Test @Deployment(resources={"org/camunda/bpm/engine/test/api/runtime/oneTaskProcess.bpmn20.xml"}) public void testQueryByNameAndVariableValueEqualsWihtoutAnyResult() { // given Map<String, Object> variables = new HashMap<String, Object>(); variables.put("stringVar", "test"); runtimeService.startProcessInstanceByKey("oneTaskProcess", variables); // when VariableInstanceQuery query = runtimeService.createVariableInstanceQuery().variableValueEquals("stringVar", "notFoundValue"); // then List<VariableInstance> result = query.list(); assertTrue(result.isEmpty()); assertEquals(0, query.count()); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testCreateByKeyWithVariablesAndBusinessKeyNonFluent() { // given a deployed case definition // when Map<String, Object> variables = new HashMap<String, Object>(); variables.put("aVariable", "aValue"); CaseInstance caseInstance = caseService.createCaseInstanceByKey("oneTaskCase", "aBusinessKey", variables); // then assertNotNull(caseInstance); assertEquals("aBusinessKey", caseInstance.getBusinessKey()); assertEquals(1, runtimeService.createVariableInstanceQuery() .caseInstanceIdIn(caseInstance.getId()) .variableValueEquals("aVariable", "aValue") .count()); }