@Test public void testGetRequestsCount() throws Exception { final List<Object> aggs = new ArrayList(); RequestDataVisitor v = new RequestDataVisitor() { public void visit(RequestData data, Object... aggregates) { aggs.addAll(Arrays.asList(aggregates)); } }; dao.getRequests(new Query().aggregate("count()").filter("path","/foo", Comparison.EQ), v); assertEquals(1, aggs.size()); assertEquals(4, ((Number)aggs.get(0)).intValue()); }
@Test public void testGetIterator() throws Exception { Iterator<RequestData> it = dao.getIterator( new Query().filter("path", Arrays.asList("/two", "/seven"), Comparison.IN )); assertTrue(it.hasNext()); RequestData data = it.next(); assertEquals("/two", data.getPath()); assertTrue(it.hasNext()); data = it.next(); assertEquals("/seven", data.getPath()); assertFalse(it.hasNext()); } }
@Test public void testGetRequestsJoin() throws Exception { List<RequestData> datas = dao.getRequests(new Query().properties("path", "resource") .filter("path","/foo", Comparison.EQ). group("path", "resource") .sort("resource", SortOrder.ASC)); assertEquals(3, datas.size()); assertEquals("stuff", datas.get(0).getResources().get(0)); assertEquals("things", datas.get(1).getResources().get(0)); assertEquals("widgets", datas.get(2).getResources().get(0)); } @Test
@Test public void testGetRequestsJoinIN() throws Exception { List<String> resources = Arrays.asList("widgets", "things"); List<RequestData> datas = dao.getRequests(new Query().properties("resource") .aggregate("count()").filter("resource", resources, Comparison.IN) .group("resource").sort("resource", SortOrder.ASC)); assertEquals(2, datas.size()); assertEquals("things", datas.get(0).getResources().get(0)); assertEquals("widgets", datas.get(1).getResources().get(0)); }
@Test public void testGetRequestsFilterAnd() throws Exception { assertEquals(1, dao.getRequests(new Query().filter("path", "/foo", Comparison.EQ) .filter("widgets", "resources", Comparison.IN)).size()); }
@Test public void testGetRequestsVisitor() throws Exception { final List<RequestData> datas = new ArrayList(); dao.getRequests(new Query().filter("path", "/seven", Comparison.EQ), new RequestDataVisitor() { public void visit(RequestData data, Object... aggregates) { datas.add(data); } }); assertCoveredInOrder(datas, 7); }
@Test public void testGetRequestsFilterIN() throws Exception { List<RequestData> datas = dao.getRequests( new Query().filter("path", Arrays.asList("/two", "/seven"), Comparison.IN )); assertCovered(datas, 2, 7); }
@Test public void testGetRequestsFilterIN() throws Exception { List<RequestData> datas = dao.getRequests( new Query().filter("path", Arrays.asList("/two", "/seven"), Comparison.IN)); assertCovered(datas, 2, 7); }
@Test public void testGetRequestsFilterIN2() throws Exception { List<RequestData> datas = dao.getRequests( new Query().filter( "status", Arrays.asList(Status.RUNNING, Status.WAITING), Comparison.IN )); assertCovered(datas, 1, 2, 5, 6, 10, 11, 12, 15, 16, 20); }
@Test public void testGetRequestsVisitor() throws Exception { final List<RequestData> datas = new ArrayList(); dao.getRequests( new Query().filter("path", "/seven", Comparison.EQ), new RequestDataVisitor() { public void visit(RequestData data, Object... aggregates) { datas.add(data); } }); assertCoveredInOrder(datas, 7); }
@Test public void testGetRequestsFilterIN2() throws Exception { List<RequestData> datas = dao.getRequests( new Query() .filter( "status", Arrays.asList(Status.RUNNING, Status.WAITING), Comparison.IN)); assertCovered(datas, 1, 2, 5, 6, 10, 11, 12, 15, 16, 20); }
@Test public void testGetRequestsFilter() throws Exception { assertCoveredInOrder( dao.getRequests(new Query().filter("path", "/seven", Comparison.EQ)), 7); }
@Test public void testGetRequestsFilter() throws Exception { assertCoveredInOrder( dao.getRequests(new Query().filter("path", "/seven", Comparison.EQ)), 7); }
@Test public void testGetRequestsFilterIN3() throws Exception { List<RequestData> datas = dao.getRequests( new Query().filter( "widgets", "resources", Comparison.IN )); assertCovered(datas, 11, 14, 18); }
@Test public void testGetRequestsSorted() throws Exception { assertCoveredInOrder(dao.getRequests(new Query().filter("id", 11l, Comparison.LT) .sort("path", SortOrder.ASC)), 8, 5, 4, 9, 1, 7, 6, 10, 3, 2); }
@Test public void testGetRequestsPaged() throws Exception { List<RequestData> datas = dao.getRequests(new Query().page(5l, 2l).sort("startTime", SortOrder.ASC)); assertCoveredInOrder(datas, 6, 7); }
@Test public void testGetRequestsPaged() throws Exception { List<RequestData> datas = dao.getRequests( new Query().page(5l, 2l).sort("startTime", SortOrder.ASC)); assertCoveredInOrder(datas, 6, 7); }
@Test public void testGetRequestsBetween() throws Exception { List<RequestData> datas = dao.getRequests( new Query() .between( toDate("2010-07-23T15:55:00"), toDate("2010-07-23T16:17:00"))); assertCoveredInOrder(datas, 6, 5, 4); }
@Test public void testGetRequestsBetween2() throws Exception { // test that the query is inclusive, and test sorting List<RequestData> datas = dao.getRequests( new Query() .between( toDate("2010-07-23T15:56:44"), toDate("2010-07-23T16:16:44")) .sort("startTime", SortOrder.ASC)); assertCoveredInOrder(datas, 4, 5, 6); }