public static void setTimeSource(TimeSource timeSource) { HttpUtil.setTimeSource(timeSource); }
public static void setTimeSource(TimeSource timeSource) { HttpUtil.setTimeSource(timeSource); }
public static void setTimeSource(TimeSource timeSource) { HttpUtil.setTimeSource(timeSource); }
@Test public void testCopyToServletResponseAndOverrideCacheHeadersForPublic() throws Exception { FakeTimeSource fakeTime = new FakeTimeSource(); HttpUtil.setTimeSource(fakeTime); HttpResponse response = new HttpResponseBuilder() .setResponseString("response string").setHttpStatusCode(200).addHeader("h1", "v1") .addHeader("h2", "v2").setCacheTtl(1000).create(); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(servletResponse); ServletUtil.copyToServletResponseAndOverrideCacheHeaders(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("public,max-age=1000", recorder.getHeader("Cache-Control")); }
@Test public void testCopyToServletResponseAndOverrideCacheHeadersForPublic() throws Exception { FakeTimeSource fakeTime = new FakeTimeSource(); HttpUtil.setTimeSource(fakeTime); HttpResponse response = new HttpResponseBuilder() .setResponseString("response string").setHttpStatusCode(200).addHeader("h1", "v1") .addHeader("h2", "v2").setCacheTtl(1000).create(); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(servletResponse); ServletUtil.copyToServletResponseAndOverrideCacheHeaders(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("public,max-age=1000", recorder.getHeader("Cache-Control")); }
@Test public void testCopyToServletResponseAndOverrideCacheHeadersForPrivate() throws Exception { FakeTimeSource fakeTime = new FakeTimeSource(); HttpUtil.setTimeSource(fakeTime); HttpResponse response = new HttpResponseBuilder() .setResponseString("response string").setHttpStatusCode(200).addHeader("h1", "v1") .addHeader("h2", "v2").addHeader("Cache-Control", "private,no-store,max-age=10") .addHeader("Expires", "123").create(); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(servletResponse); long testStartTime = fakeTime.currentTimeMillis(); ServletUtil.copyToServletResponseAndOverrideCacheHeaders(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("no-cache", recorder.getHeader("Cache-Control")); long expires = DateUtil.parseRfc1123Date(recorder.getHeader("Expires")).getTime(); assertGreater(testStartTime - 2000L, expires); assertLesser(testStartTime + 2000L, expires); }
@Test public void testCopyToServletResponseAndOverrideCacheHeadersForPrivate() throws Exception { FakeTimeSource fakeTime = new FakeTimeSource(); HttpUtil.setTimeSource(fakeTime); HttpResponse response = new HttpResponseBuilder() .setResponseString("response string").setHttpStatusCode(200).addHeader("h1", "v1") .addHeader("h2", "v2").addHeader("Cache-Control", "private,no-store,max-age=10") .addHeader("Expires", "123").create(); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(servletResponse); long testStartTime = fakeTime.currentTimeMillis(); ServletUtil.copyToServletResponseAndOverrideCacheHeaders(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("no-cache", recorder.getHeader("Cache-Control")); long expires = DateUtil.parseRfc1123Date(recorder.getHeader("Expires")).getTime(); assertGreater(testStartTime - 2000L, expires); assertLesser(testStartTime + 2000L, expires); }
@Test public void testCopyToServletResponseAndOverrideCacheHeadersForStrictNoCache() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponseString("response string").setHttpStatusCode(200).addHeader("h1", "v1") .addHeader("h2", "v2").setStrictNoCache().create(); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(servletResponse); FakeTimeSource fakeTime = new FakeTimeSource(); HttpUtil.setTimeSource(fakeTime); ServletUtil.copyToServletResponseAndOverrideCacheHeaders(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("no-cache", recorder.getHeader("Pragma")); assertEquals("no-cache", recorder.getHeader("Cache-Control")); }
@Test public void testCopyResponseToServletNoCache() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponseString("response string").setHttpStatusCode(200).addHeader("h1", "v1") .addHeader("h2", "v2").setStrictNoCache().create(); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(servletResponse); FakeTimeSource fakeTime = new FakeTimeSource(); HttpUtil.setTimeSource(fakeTime); ServletUtil.copyResponseToServlet(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("no-cache", recorder.getHeader("Pragma")); assertEquals("no-cache", recorder.getHeader("Cache-Control")); }
@Test public void testCopyToServletResponseAndOverrideCacheHeadersForStrictNoCache() throws Exception { HttpResponse response = new HttpResponseBuilder() .setResponseString("response string").setHttpStatusCode(200).addHeader("h1", "v1") .addHeader("h2", "v2").setStrictNoCache().create(); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(servletResponse); FakeTimeSource fakeTime = new FakeTimeSource(); HttpUtil.setTimeSource(fakeTime); ServletUtil.copyToServletResponseAndOverrideCacheHeaders(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("no-cache", recorder.getHeader("Pragma")); assertEquals("no-cache", recorder.getHeader("Cache-Control")); }