if (monitor.getDAO() instanceof HibernateMonitorDAO2) { sessionFactory = ((HibernateMonitorDAO2) monitor.getDAO()).getSessionFactory(); HibUtil.setUpSession(sessionFactory); Status.RUNNING, Status.WAITING, Status.CANCELLING), Comparison.IN); for (RequestData data : monitor.getDAO().getRequests(query)) { if (InternalHostname.get().equals(data.getInternalHost())) { monitor.getDAO().save(data);
@Test public void testGetAllCSV() throws Exception { RequestResource.CSVFormat format = new RequestResource.CSVFormat( new String[]{"id", "path", "startTime"}, monitor); ByteArrayOutputStream out = new ByteArrayOutputStream(); format.toRepresentation(monitor.getDAO().getRequests()).write(out); BufferedReader in = new BufferedReader(new InputStreamReader( new ByteArrayInputStream(out.toByteArray()))); String line = in.readLine(); assertEquals("id,path,startTime", line); Iterator<RequestData> it = monitor.getDAO().getRequests().iterator(); while((line = in.readLine()) != null) { assertTrue(it.hasNext()); RequestData data = it.next(); String expected = data.getId() + "," + data.getPath() + "," + DateUtil.serializeDateTime(data.getStartTime()); assertEquals(expected, line); } assertFalse(it.hasNext()); }
public void testGetAllCSVQuery() throws Exception { RequestResource.CSVFormat format = new RequestResource.CSVFormat( new String[]{"id", "path", "startTime"}, monitor); ByteArrayOutputStream out = new ByteArrayOutputStream(); format.toRepresentation(new Query()).write(out); BufferedReader in = new BufferedReader(new InputStreamReader( new ByteArrayInputStream(out.toByteArray()))); String line = in.readLine(); assertEquals("id,path,startTime", line); Iterator<RequestData> it = monitor.getDAO().getRequests().iterator(); while((line = in.readLine()) != null) { assertTrue(it.hasNext()); RequestData data = it.next(); String expected = data.getId() + "," + data.getPath() + "," + DateUtil.serializeDateTime(data.getStartTime()); assertEquals(expected, line); } assertFalse(it.hasNext()); }
@Test public void testGetByIdHTML() throws Exception { Request req = new Request(); Response res = new Response(req); RequestResource.HTMLFormat format = new RequestResource.HTMLFormat(req, res, resource, monitor); ByteArrayOutputStream out = new ByteArrayOutputStream(); format.toRepresentation(monitor.getDAO().getRequest(2)).write(out); assertTrue(new String(out.toByteArray()).startsWith("<html>")); }
@Test public void testGetDateRangeWithTimeZone() throws Exception { Calendar c = Calendar.getInstance(); c.setTime(toDate("2010-07-23T15:56:44")); long off = c.get(Calendar.ZONE_OFFSET) + c.get(Calendar.DST_OFFSET); off = off / 1000 / 60 / 60; String z = Math.abs(off) < 10 ? "0" + Math.abs(off) : ""+Math.abs(off); z += "00"; z = off < 0 ? "-" + z : z; Request req = new Request(); setKVP(req, "from", "2010-07-23T15:56:44+0000", "to", "2010-07-23T16:16:44+0000"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query) resource.handleObjectGet(); List<RequestData> datas = (List<RequestData>) monitor.getDAO().getRequests(q); assertCoveredInOrder(datas, 6, 5, 4); }
@Test public void testDelete() throws Exception { // delete all MockHttpServletResponse response = deleteAsServletResponse(RestBaseController.ROOT_PATH + "/monitor/requests"); assertEquals(200, response.getStatus()); assertEquals(0, monitor.getDAO().getRequests().size()); }
@Test public void testGetAllCSV() throws Exception { MockHttpServletResponse response = getAsServletResponse( RestBaseController.ROOT_PATH + "/monitor/requests.csv?fields=id;path;startTime"); assertEquals(200, response.getStatus()); // System.out.println(response.getContentAsString()); BufferedReader in = new BufferedReader( new InputStreamReader( new ByteArrayInputStream(response.getContentAsByteArray()))); String line = in.readLine(); assertEquals("id,path,startTime", line); Iterator<RequestData> it = monitor.getDAO().getRequests().iterator(); while ((line = in.readLine()) != null) { assertTrue(it.hasNext()); RequestData data = it.next(); String expected = data.getId() + "," + data.getPath() + "," + DateUtil.serializeDateTime(data.getStartTime()); assertEquals(expected, line); } assertFalse(it.hasNext()); }
@Test public void testGetAllHTML() throws Exception { Request req = new Request(); PageInfo page = new PageInfo(); page.setBasePath("foo"); page.setPagePath("bar"); page.setBaseURL("baz"); req.getAttributes().put(PageInfo.KEY, page); Response res = new Response(req); RequestResource.HTMLFormat format = new RequestResource.HTMLFormat(req, res, resource, monitor); ByteArrayOutputStream out = new ByteArrayOutputStream(); format.toRepresentation(monitor.getDAO().getRequests()).write(out); assertTrue(new String(out.toByteArray()).startsWith("<html>")); }
@Test public void testGetAllExcel() throws Exception { MockHttpServletResponse response = getAsServletResponse( RestBaseController.ROOT_PATH + "/monitor/requests.xls?fields=id;path;startTime"); assertEquals(200, response.getStatus()); HSSFWorkbook wb = new HSSFWorkbook(new ByteArrayInputStream(response.getContentAsByteArray())); HSSFSheet sheet = wb.getSheet("requests"); Iterator<Row> rows = sheet.iterator(); Iterator<RequestData> it = monitor.getDAO().getRequests().iterator(); assertTrue(rows.hasNext()); Row row = rows.next(); assertEquals("id", row.getCell(0).getStringCellValue()); assertEquals("path", row.getCell(1).getStringCellValue()); assertEquals("startTime", row.getCell(2).getStringCellValue()); while (rows.hasNext()) { row = rows.next(); assertTrue(it.hasNext()); RequestData data = it.next(); assertEquals((double) data.getId(), row.getCell(0).getNumericCellValue(), 0.1); assertEquals(data.getPath(), row.getCell(1).getStringCellValue()); assertEquals(data.getStartTime(), row.getCell(2).getDateCellValue()); } assertFalse(it.hasNext()); }
@BeforeClass public static void setUpData() throws Exception { monitor = new Monitor(new MemoryMonitorDAO()); testData = new MonitorTestData(monitor.getDAO(), false); testData.setup(); }
@Test public void testPaging() throws Exception { Request req = new Request(); setKVP(req, "order", "startTime", "offset", "5", "count", "2"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query)resource.handleObjectGet(); List<RequestData> datas = monitor.getDAO().getRequests(q); assertCoveredInOrder(datas, 6, 7); }
@Test public void testFilterIn() throws Exception { Request req = new Request(); setKVP(req, "filter", "path:IN:/seven,/six,/five"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query) resource.handleObjectGet(); List<RequestData> datas = (List<RequestData>) monitor.getDAO().getRequests(q); assertCovered(datas, 5, 6, 7); }
@Test public void testGetDateRange() throws Exception { Request req = new Request(); setKVP(req, "from", "2010-07-23T15:56:44", "to", "2010-07-23T16:16:44"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query) resource.handleObjectGet(); List<RequestData> datas = (List<RequestData>) monitor.getDAO().getRequests(q); assertCoveredInOrder(datas, 6, 5, 4); }
@Test public void testFilter() throws Exception { Request req = new Request(); setKVP(req, "filter", "path:EQ:/seven"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query) resource.handleObjectGet(); List<RequestData> datas = (List<RequestData>) monitor.getDAO().getRequests(q); assertCoveredInOrder(datas, 7); }
@Test public void testFilterStatus() throws Exception { Request req = new Request(); setKVP(req, "filter", "status:EQ:WAITING"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query) resource.handleObjectGet(); List<RequestData> datas = (List<RequestData>) monitor.getDAO().getRequests(q); assertCovered(datas, 2,6); }
@Test public void testLive() throws Exception { Request req = new Request(); setKVP(req, "live", "yes"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query) resource.handleObjectGet();; List<RequestData> datas = monitor.getDAO().getRequests(q); assertCovered(datas, 1, 2, 5, 6, 9, 10); }
@Test public void testSorting() throws Exception { Request req = new Request(); setKVP(req, "order", "path"); Response res = new Response(req); resource.init(null, req, res); Query q = (Query)resource.handleObjectGet(); List<RequestData> datas = monitor.getDAO().getRequests(q); assertCoveredInOrder(datas, 8, 5, 4, 9, 1, 7, 6, 10, 3, 2); setKVP(req, "order", "path;ASC"); res = new Response(req); resource.init(null, req, res); q = (Query)resource.handleObjectGet(); datas = monitor.getDAO().getRequests(q); assertCoveredInOrder(datas, 8, 5, 4, 9, 1, 7, 6, 10, 3, 2); setKVP(req, "order", "path;DESC"); res = new Response(req); resource.init(null, req, res); q = (Query)resource.handleObjectGet(); datas = monitor.getDAO().getRequests(q); assertCoveredInOrder(datas, 2, 3, 10, 6, 7, 1, 9, 4, 5, 8); }