@Test(expectedExceptions = IllegalStateException.class, expectedExceptionsMessageRegExp = "ISPN014804: Query does not have parameters") public void testQueryWithNoParamsWithParameterMap() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").eq("John") .build(); Map<String, Object> parameterMap = new HashMap<>(1); parameterMap.put("param1", User.Gender.MALE); q.setParameters(parameterMap); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "ISPN014806: No parameters named '\\[param2\\]' were found") public void testUnknownParamWithParameterMap() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").eq(param("param1")) .build(); Map<String, Object> parameterMap = new HashMap<>(1); parameterMap.put("param2", User.Gender.MALE); q.setParameters(parameterMap); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "ISPN014812: paramValues cannot be null") public void testQueryWithNoParamsWithNullParameterMap() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").eq("John") .build(); q.setParameters(null); }
public void testWithParameterMap() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("gender").eq(param("param1")) .and() .having("name").eq(param("param2")) .build(); Map<String, Object> parameterMap = new HashMap<>(2); parameterMap.put("param1", User.Gender.MALE); parameterMap.put("param2", "John"); q.setParameters(parameterMap); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals(User.Gender.MALE, list.get(0).getGender()); assertEquals("John", list.get(0).getName()); parameterMap = new HashMap<>(2); parameterMap.put("param1", User.Gender.MALE); parameterMap.put("param2", "Spider"); q.setParameters(parameterMap); list = q.list(); assertEquals(1, list.size()); assertEquals(User.Gender.MALE, list.get(0).getGender()); assertEquals("Spider", list.get(0).getName()); }
@Test(expectedExceptions = IllegalStateException.class, expectedExceptionsMessageRegExp = "ISPN014825: Query parameter 'param2' was not set") public void testMissingParamWithParameterMap() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .having("name").eq(param("param1")) .and().having("gender").eq(param("param2")) .build(); Map<String, Object> parameterMap = new HashMap<>(1); parameterMap.put("param1", "John"); q.setParameters(parameterMap); q.list(); }