@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 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 testGetRequestById() throws Exception { assertTrue(dao.getRequest(8) != null); assertEquals("/eight", dao.getRequest(8).getPath()); }
@Test public void testGetRequestById() throws Exception { assertTrue(dao.getRequest(8) != null); assertEquals("/eight", dao.getRequest(8).getPath()); }
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 testUpdate() throws Exception { RequestData data = dao.getRequest(1); data.setPath("/one_updated"); dao.update(data); data = dao.getRequest(1); assertEquals("/one_updated", data.getPath()); data.getResources().add("one_layer"); dao.update(data); data = dao.getRequest(1); assertEquals(1, data.getResources().size()); assertEquals("one_layer", data.getResources().get(0)); }
@Test public void testUpdate() throws Exception { RequestData data = dao.getRequest(1); data.setPath("/one_updated"); dao.update(data); data = dao.getRequest(1); assertEquals("/one_updated", data.getPath()); data.getResources().add("one_layer"); dao.update(data); data = dao.getRequest(1); assertEquals(1, data.getResources().size()); assertEquals("one_layer", data.getResources().get(0)); }
@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()); }
assertEquals("/foo", datas.get(0).getPath()); assertEquals(4, ((Number)aggs.get(0)).intValue());
@Test public void testGetById() throws Exception { Request req = new Request(); req.getAttributes().put("request", 2); Response res = new Response(req); resource.init(null, req, res); RequestData data = (RequestData) resource.handleObjectGet(); assertEquals("/two", data.getPath()); }
@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()); }
public void testSimple() throws Exception { HttpServletRequest req = request("GET", "/foo/bar", "12.34.56.78", null, null); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("GET", data.getHttpMethod()); assertEquals("/foo/bar", data.getPath()); assertEquals("12.34.56.78", data.getRemoteAddr()); assertNull(data.getHttpReferer()); }
public void testReferer() throws Exception { HttpServletRequest req = request("GET", "/foo/bar", "12.34.56.78", null, "http://testhost/testpath"); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("GET", data.getHttpMethod()); assertEquals("/foo/bar", data.getPath()); assertEquals("12.34.56.78", data.getRemoteAddr()); assertEquals("http://testhost/testpath", data.getHttpReferer()); } public void testReferrer() throws Exception {
public void testReferrer() throws Exception { // "Referrer" was misspelled in the HTTP spec, check if it works with the "correct" // spelling. MockHttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", null, null); ((MockHttpServletRequest)req).setHeader("Referrer", "http://testhost/testpath"); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertEquals("http://testhost/testpath", data.getHttpReferer()); }
@Test public void testSimple() throws Exception { HttpServletRequest req = request("GET", "/foo/bar", "12.34.56.78", null, null); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("GET", data.getHttpMethod()); assertEquals("/foo/bar", data.getPath()); assertEquals("12.34.56.78", data.getRemoteAddr()); assertNull(data.getHttpReferer()); }
@Test public void testReferer() throws Exception { HttpServletRequest req = request("GET", "/foo/bar", "12.34.56.78", null, "http://testhost/testpath"); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("GET", data.getHttpMethod()); assertEquals("/foo/bar", data.getPath()); assertEquals("12.34.56.78", data.getRemoteAddr()); assertEquals("http://testhost/testpath", data.getHttpReferer()); }
public void testWithBody() throws Exception { chain.setServlet(new HttpServlet() { @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { req.getInputStream().read(new byte[LONG_BODY_SIZE]); res.getOutputStream().write("hello".getBytes()); } }); HttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", "baz", null); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertNull(data.getHttpReferer()); assertEquals(new String(data.getBody()), "baz"); assertEquals(3, data.getBodyContentLength()); assertEquals(5, data.getResponseLength()); } public void testWithLongBody() throws Exception {
@Test public void testWithBody() throws Exception { chain = new MockFilterChain( new HttpServlet() { @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { req.getInputStream().read(new byte[LONG_BODY_SIZE]); res.getOutputStream().write("hello".getBytes()); } }); HttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", "baz", null); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertNull(data.getHttpReferer()); assertEquals(new String(data.getBody()), "baz"); assertEquals(3, data.getBodyContentLength()); assertEquals(5, data.getResponseLength()); }
@Test public void testGWCHeaders() throws Exception { MockHttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", null, null); MockHttpServletResponse response = response(); String cacheResult = "Miss"; response.addHeader(MonitorFilter.GEOWEBCACHE_CACHE_RESULT, cacheResult); String missReason = "Wrong planet alignment"; response.addHeader(MonitorFilter.GEOWEBCACHE_MISS_REASON, missReason); filter.doFilter(req, response, chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertEquals(cacheResult, data.getCacheResult()); assertEquals(missReason, data.getMissReason()); }
@Test public void testReferrer() throws Exception { // "Referrer" was misspelled in the HTTP spec, check if it works with the "correct" // spelling. MockHttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", null, null); ((MockHttpServletRequest) req).addHeader("Referrer", "http://testhost/testpath"); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertEquals("http://testhost/testpath", data.getHttpReferer()); assertNull(data.getCacheResult()); assertNull(data.getMissReason()); }