/** * Handles a call. * * @param request * The request to handle. * @return The returned response. */ public final Response handle(Request request) { final Response response = new Response(request); handle(request, response); return response; }
@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 testGetAll() throws Exception { Request req = new Request(); Response res = new Response(req); resource.init(null, req, res); Query q = (Query) resource.handleObjectGet(); assertEquals(monitor.getDAO().getRequests().size(), monitor.getDAO().getRequests(q).size()); }
@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 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 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); }