@Before public void setup() { request = mock(HttpServletRequest.class); response = mock(HttpServletResponse.class); recorder = new HttpServletResponseRecorder(response); chain = mock(FilterChain.class); filter = new AuthenticationServletFilter(); nullStHandler = new NullSecurityTokenAuthenticationHandler(); }
@Before public void setup() { request = mock(HttpServletRequest.class); response = mock(HttpServletResponse.class); recorder = new HttpServletResponseRecorder(response); chain = mock(FilterChain.class); filter = new AuthenticationServletFilter(); nullStHandler = new NullSecurityTokenAuthenticationHandler(); }
@Before public void setup() { request = mock(HttpServletRequest.class); response = mock(HttpServletResponse.class); recorder = new HttpServletResponseRecorder(response); chain = mock(FilterChain.class); filter = new AuthenticationServletFilter(); nullStHandler = new NullSecurityTokenAuthenticationHandler(); }
@Test public void testCopyResponseToServlet() throws Exception { 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.copyResponseToServlet(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); }
@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 testCopyToServletResponse() throws Exception { 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); ServletUtil.copyToServletResponse(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("private,no-store,max-age=10", recorder.getHeader("Cache-Control")); assertEquals("123", recorder.getHeader("Expires")); }
@Test public void testCopyToServletResponse() throws Exception { 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); ServletUtil.copyToServletResponse(response, recorder); assertEquals(200, recorder.getHttpStatusCode()); assertEquals("response string", recorder.getResponseAsString()); assertEquals("v1", recorder.getHeader("h1")); assertEquals("v2", recorder.getHeader("h2")); assertEquals("private,no-store,max-age=10", recorder.getHeader("Cache-Control")); assertEquals("123", recorder.getHeader("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")); }