@Test public void testRewriteHttpResponse() throws Exception { String body = "Hello, world"; HttpRequest request = new HttpRequest(SPEC_URL); HttpResponse response = new HttpResponse(body); HttpResponse rewritten = registry.rewriteHttpResponse(request, response, null); assertTrue("First rewriter not invoked.", rewriters.get(0).responseWasRewritten()); assertTrue("Second rewriter not invoked.", rewriters.get(1).responseWasRewritten()); assertEquals(response, rewritten); }
@Test public void testDeleteRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("DELETE"); expectDeleteAndReturnBody(""); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testPatchRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("PATCH"); expectPatchAndReturnBody(""); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testDeleteRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("DELETE"); expectDeleteAndReturnBody(""); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testHeadRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("HEAD"); expectHead(); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testInvalidSigningTypeTreatedAsNone() throws Exception { expectGetAndReturnBody(RESPONSE_BODY); expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM)).andReturn("garbage"); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testPostRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("POST"); expectPostAndReturnBody(REQUEST_BODY, RESPONSE_BODY); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testPutRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("PUT"); expectPutAndReturnBody(REQUEST_BODY, RESPONSE_BODY); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testPatchRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("PATCH"); expectPatchAndReturnBody(""); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testPutRequest() throws Exception { expect(request.getParameter(MakeRequestHandler.METHOD_PARAM)).andReturn("PUT"); expectPutAndReturnBody(REQUEST_BODY, RESPONSE_BODY); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testIfModifiedSinceAlwaysReturnsEarly() throws Exception { expect(request.getHeader("If-Modified-Since")).andReturn("Yes, this is an invalid header"); replay(); servlet.doGet(request, recorder); verify(); assertEquals(HttpServletResponse.SC_NOT_MODIFIED, recorder.getHttpStatusCode()); assertFalse(rewriter.responseWasRewritten()); }
@Test public void testBadHttpResponseIsPropagated() throws Exception { HttpRequest internalRequest = new HttpRequest(REQUEST_URL); expect(pipeline.execute(internalRequest)).andReturn(HttpResponse.error()); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_INTERNAL_SERVER_ERROR, results.getInt("rc")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testBadHttpResponseIsPropagated() throws Exception { HttpRequest internalRequest = new HttpRequest(REQUEST_URL); expect(pipeline.execute(internalRequest)).andReturn(HttpResponse.error()); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_INTERNAL_SERVER_ERROR, results.getInt("rc")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testGetRequest() throws Exception { expectGetAndReturnBody(RESPONSE_BODY); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testGetRequest() throws Exception { expectGetAndReturnBody(RESPONSE_BODY); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testFetchEmptyDocument() throws Exception { expectGetAndReturnBody(""); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals("", results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testGetRequest() throws Exception { expectGetAndReturnBody(RESPONSE_BODY); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testFetchEmptyDocument() throws Exception { expectGetAndReturnBody(""); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals("", results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testLockedDomainEmbed() throws Exception { setupNoArgsProxyRequestMock("www.example.com", URL_ONE); expectGetAndReturnData(URL_ONE, DATA_ONE.getBytes()); setupGadgetAdminMock(true); replay(); HttpResponse response = proxyHandler.fetch(request); verify(); assertEquals(DATA_ONE, response.getResponseAsString()); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testLockedDomainEmbed() throws Exception { setupNoArgsProxyRequestMock("www.example.com", URL_ONE); expectGetAndReturnData(URL_ONE, DATA_ONE.getBytes()); setupGadgetAdminMock(true); replay(); HttpResponse response = proxyHandler.fetch(request); verify(); assertEquals(DATA_ONE, response.getResponseAsString()); assertTrue(rewriter.responseWasRewritten()); }