/** * Test querying for entities defined as inner classes. */ public void testQueryInnerClass() throws Exception { QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.from(Person.class).build(); List<Person> matches = query.list(); assertEquals(1, matches.size()); }
@Test public void testBroadcastNativeInfinispanFuzzyQuery() { String q = String.format("FROM %s p where p.name:'nome'~2", Person.class.getName()); Query query = Search.getQueryFactory(cacheAMachine1).create(q, IndexedQueryMode.BROADCAST); assertEquals(10, query.list().size()); }
public void testNot11() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .not(qf.not( qf.having("name").eq("John") .or(qf.having("surname").eq("Man")))) .build(); List<User> list = q.list(); assertEquals(2, list.size()); assertNotEquals(list.get(0).getSurname(), "Woman"); }
@Test(expectedExceptions = IllegalStateException.class) public void testWrongQueryBuilding1() { QueryFactory qf = getQueryFactory(); qf.not().having("name").eq("John").build(); }
public void testNot6() { QueryFactory qf = getQueryFactory(); // QueryFactory.not() test Query q = qf.from(getModelFactory().getUserImplClass()) .not(qf.not(qf.having("gender").eq(User.Gender.FEMALE))) .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals("Woman", list.get(0).getSurname()); }
@Test(expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "ISPN014823: maxResults must be greater than 0") public void testPagination1() { QueryFactory qf = getQueryFactory(); qf.from(getModelFactory().getUserImplClass()) .maxResults(0); }
@Test public void testBroadcastNativeInfinispanHybridQuery() { String q = "FROM " + Person.class.getName() + " where age >= 40 and nonIndexedField = 'na'"; Query query = Search.getQueryFactory(cacheAMachine1).create(q, IndexedQueryMode.BROADCAST); assertEquals(10, query.list().size()); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testIn3() { QueryFactory qf = getQueryFactory(); qf.from(getModelFactory().getUserImplClass()).having("id").in(Collections.emptySet()); }
@Test public void testWithDifferentBuilder1() { QueryFactory qf1 = new DummyQueryFactory(); FilterConditionContext fcc = qf1.having("attr1").eq("1"); Query q1 = qf1.from("MyDummyType") .not(fcc) .build(); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("The given condition is already in use by another builder"); qf1.from("MyDummyType") .not(fcc); // exception expected }
@Test public void testBroadcastAggregatedInfinispanQuery() { QueryFactory queryFactory = Search.getQueryFactory(cacheAMachine2); Query hybridQuery = queryFactory.create("select name FROM " + Person.class.getName() + " WHERE name : 'na*' group by name", IndexedQueryMode.BROADCAST); assertEquals(NUM_ENTRIES, hybridQuery.list().size()); }
public void testSampleDomainQuery15() { QueryFactory qf = getQueryFactory(); // the user that has at least one of the specified accounts Query q = qf.from(getModelFactory().getUserImplClass()) .having("accountIds").containsAny(1, 3).build(); List<User> list = q.list(); assertEquals(2, list.size()); assertTrue(Arrays.asList(1, 2).contains(list.get(0).getId())); assertTrue(Arrays.asList(1, 2).contains(list.get(1).getId())); }
public void testNot10() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .not().not( qf.having("name").eq("John") .or(qf.having("surname").eq("Man"))) .build(); List<User> list = q.list(); assertEquals(2, list.size()); assertNotEquals(list.get(0).getSurname(), "Woman"); }
@Test public void testNonIndexedBroadcastInfinispanQuery() { QueryFactory queryFactory = Search.getQueryFactory(cacheAMachine2); Query slowQuery = queryFactory.create("FROM " + Person.class.getName() + " WHERE nonIndexedField LIKE 'na%'", IndexedQueryMode.BROADCAST); assertEquals(NUM_ENTRIES, slowQuery.list().size()); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testIn4() { QueryFactory qf = getQueryFactory(); qf.from(getModelFactory().getUserImplClass()).having("id").in((Collection) null); }
public void testNot8() { QueryFactory qf = getQueryFactory(); Query q = qf.from(getModelFactory().getUserImplClass()) .not( qf.having("name").eq("John") .or(qf.having("surname").eq("Man"))) .build(); List<User> list = q.list(); assertEquals(1, list.size()); assertEquals("Spider", list.get(0).getName()); assertEquals("Woman", list.get(0).getSurname()); }
@Test public void testBroadcastNativeInfinispanMatchAllQuery() { String q = String.format("FROM %s", Person.class.getName()); Query partialResultQuery = Search.getQueryFactory(cacheAMachine1).create(q); Query fullResultQuery = Search.getQueryFactory(cacheAMachine2).create(q, IndexedQueryMode.BROADCAST); int docsInMachine1 = countLocalIndex(cacheAMachine1); assertEquals(docsInMachine1, partialResultQuery.list().size()); assertEquals(NUM_ENTRIES, fullResultQuery.list().size()); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testIn6() { QueryFactory qf = getQueryFactory(); Object[] array = new Object[0]; qf.from(getModelFactory().getUserImplClass()).having("id").in(array); }
@Test public void testWithDifferentFactory1() { QueryFactory qf1 = new DummyQueryFactory(); QueryFactory qf2 = new DummyQueryFactory(); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("ISPN014809: The given condition was created by another factory"); qf1.from("MyDummyType") .not(qf2.having("attr1").eq("1")); // exception expected }