private RequestContext createRequestContext(String resource, String mimeType) throws Exception { HttpRequest request = null; Uri uri = UriBuilder.parse(resource).toUri(); request = ImageAttributeVisitor.buildHttpRequest(gadget(), uri); byte[] bytes = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream(resource)); HttpResponse response = new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(bytes).create(); return new RequestContext(request, response, null); } }
@Test public void revisit() throws Exception { Node img1 = elem("img", "src", IMG_JPG_SMALL_URL); Node img2 = elem("img", "src", IMG_JPG_LARGE_URL); List<Node> nodes = ImmutableList.of(img1, img2); RequestContext reqCxtImg1 = createRequestContext(IMG_JPG_SMALL_URL, "image/jpeg"); RequestContext reqCxtImg2 = createRequestContext(IMG_JPG_LARGE_URL, "image/jpeg"); expect(requestPipeline.execute(eq(reqCxtImg1.getHttpReq()))) .andReturn(reqCxtImg1.getHttpResp()); expect(requestPipeline.execute(eq(reqCxtImg2.getHttpReq()))) .andReturn(reqCxtImg2.getHttpResp()); Node html = htmlDoc(new Node[] {}, img1, img2); String expectedContent = new StringBuilder() .append(".__shindig__image0 {\n") .append(" height: 16px;\n").append(" width: 16px;\n") .append("}\n") .append(".__shindig__image1 {\n") .append(" height: 125px;\n").append(" width: 108px;\n") .append("}\n").toString(); control.replay(); assertEquals(true, getRevisitState(nodes)); Node head = doc.getElementsByTagName("head").item(0); assertEquals(1, head.getChildNodes().getLength()); assertEquals("style", head.getFirstChild().getNodeName()); assertEquals(expectedContent, head.getFirstChild().getTextContent()); control.verify(); }
if (requestCxt.getGadgetException() != null) { throw requestCxt.getGadgetException(); HttpResponse response = requestCxt.getHttpResp();
throw new GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, ee); if (requestCxt.getGadgetException() != null) { throw requestCxt.getGadgetException(); HttpResponse httpResp = requestCxt.getHttpResp(); if (httpResp != null) { if (contentRewriterRegistry != null) { try { httpResp = contentRewriterRegistry.rewriteHttpResponse(requestCxt.getHttpReq(), httpResp, null); } catch (RewritingException e) {
@Test public void revisit() throws Exception { Node img1 = elem("img", "src", IMG_JPG_SMALL_URL); Node img2 = elem("img", "src", IMG_JPG_LARGE_URL); List<Node> nodes = ImmutableList.of(img1, img2); RequestContext reqCxtImg1 = createRequestContext(IMG_JPG_SMALL_URL, "image/jpeg"); RequestContext reqCxtImg2 = createRequestContext(IMG_JPG_LARGE_URL, "image/jpeg"); expect(requestPipeline.execute(eq(reqCxtImg1.getHttpReq()))) .andReturn(reqCxtImg1.getHttpResp()); expect(requestPipeline.execute(eq(reqCxtImg2.getHttpReq()))) .andReturn(reqCxtImg2.getHttpResp()); Node html = htmlDoc(new Node[] {}, img1, img2); String expectedContent = new StringBuilder() .append(".__shindig__image0 {\n") .append(" height: 16px;\n").append(" width: 16px;\n") .append("}\n") .append(".__shindig__image1 {\n") .append(" height: 125px;\n").append(" width: 108px;\n") .append("}\n").toString(); control.replay(); assertEquals(true, getRevisitState(nodes)); Node head = doc.getElementsByTagName("head").item(0); assertEquals(1, head.getChildNodes().getLength()); assertEquals("style", head.getFirstChild().getNodeName()); assertEquals(expectedContent, head.getFirstChild().getTextContent()); control.verify(); }
@Test public void testFetchAll() throws Exception { List<HttpRequest> requests = createRequestArray(); expect(requestPipeline.execute(eq(reqCxt1.getHttpReq()))).andReturn(reqCxt1.getHttpResp()); expect(requestPipeline.execute(eq(reqCxt2.getHttpReq()))).andReturn(reqCxt2.getHttpResp()); expect(requestPipeline.execute(eq(reqCxt3.getHttpReq()))).andReturn(reqCxt3.getHttpResp()); replay(); List<Pair<Uri, FutureTask<RequestContext>>> futureTasks = fetcher.fetchAll(requests); assertEquals(3, futureTasks.size()); assertEquals(IMG_URI, futureTasks.get(0).one); assertEquals(reqCxt1, futureTasks.get(0).two.get()); assertEquals(CSS_URI, futureTasks.get(1).one); assertEquals(reqCxt2, futureTasks.get(1).two.get()); assertEquals(IMG_URI, futureTasks.get(2).one); assertEquals(reqCxt3, futureTasks.get(2).two.get()); verify(); }
@Test public void testFetchAll() throws Exception { List<HttpRequest> requests = createRequestArray(); expect(requestPipeline.execute(eq(reqCxt1.getHttpReq()))).andReturn(reqCxt1.getHttpResp()); expect(requestPipeline.execute(eq(reqCxt2.getHttpReq()))).andReturn(reqCxt2.getHttpResp()); expect(requestPipeline.execute(eq(reqCxt3.getHttpReq()))).andReturn(reqCxt3.getHttpResp()); replay(); List<Pair<Uri, FutureTask<RequestContext>>> futureTasks = fetcher.fetchAll(requests); assertEquals(3, futureTasks.size()); assertEquals(IMG_URI, futureTasks.get(0).one); assertEquals(reqCxt1, futureTasks.get(0).two.get()); assertEquals(CSS_URI, futureTasks.get(1).one); assertEquals(reqCxt2, futureTasks.get(1).two.get()); assertEquals(IMG_URI, futureTasks.get(2).one); assertEquals(reqCxt3, futureTasks.get(2).two.get()); verify(); }
private List<HttpRequest> createRequestArray() { return ImmutableList.of(reqCxt1.getHttpReq(), reqCxt2.getHttpReq(), reqCxt3.getHttpReq()); } }
@Test public void testFetchUnique() throws Exception { List<HttpRequest> requests = createRequestArray(); expect(requestPipeline.execute(eq(reqCxt1.getHttpReq()))).andReturn(reqCxt1.getHttpResp()); expect(requestPipeline.execute(eq(reqCxt2.getHttpReq()))).andReturn(reqCxt2.getHttpResp()); replay(); Map<Uri, FutureTask<RequestContext>> futureTasks = fetcher.fetchUnique(requests); assertEquals(2, futureTasks.size()); assertTrue(futureTasks.containsKey(IMG_URI)); assertEquals(reqCxt1, futureTasks.get(IMG_URI).get()); assertTrue(futureTasks.containsKey(CSS_URI)); assertEquals(reqCxt2, futureTasks.get(CSS_URI).get()); verify(); }
private RequestContext createRequestContext(Uri uri, String content, String mimeType) throws IOException { HttpRequest request = new HttpRequest(uri); HttpResponse response = new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(content.getBytes()).create(); return new RequestContext(request, response, null); }
public RequestContext call() { HttpResponse httpResp = null; GadgetException gadgetException = null; try { httpResp = requestPipeline.execute(httpReq); } catch (GadgetException e){ gadgetException = e; } return new RequestContext(httpReq, httpResp, gadgetException); } }
private List<HttpRequest> createRequestArray() { return ImmutableList.of(reqCxt1.getHttpReq(), reqCxt2.getHttpReq(), reqCxt3.getHttpReq()); } }
private RequestContext createRequestContext(Uri uri, String content, String mimeType) throws IOException { HttpRequest request = new HttpRequest(uri); HttpResponse response = new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(content.getBytes()).create(); return new RequestContext(request, response, null); }
@Test public void testFetchUnique() throws Exception { List<HttpRequest> requests = createRequestArray(); expect(requestPipeline.execute(eq(reqCxt1.getHttpReq()))).andReturn(reqCxt1.getHttpResp()); expect(requestPipeline.execute(eq(reqCxt2.getHttpReq()))).andReturn(reqCxt2.getHttpResp()); replay(); Map<Uri, FutureTask<RequestContext>> futureTasks = fetcher.fetchUnique(requests); assertEquals(2, futureTasks.size()); assertTrue(futureTasks.containsKey(IMG_URI)); assertEquals(reqCxt1, futureTasks.get(IMG_URI).get()); assertTrue(futureTasks.containsKey(CSS_URI)); assertEquals(reqCxt2, futureTasks.get(CSS_URI).get()); verify(); }
private RequestContext createRequestContext(String resource, String mimeType) throws Exception { HttpRequest request = null; Uri uri = UriBuilder.parse(resource).toUri(); request = ImageAttributeVisitor.buildHttpRequest(gadget(), uri); byte[] bytes = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream(resource)); HttpResponse response = new HttpResponseBuilder().addHeader("Content-Type", mimeType) .setResponse(bytes).create(); return new RequestContext(request, response, null); } }