@Test public void refreshParameter_specified() throws Exception { servlet.setRenderer(renderer); expect(request.getParameter("refresh")).andReturn("1000"); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=1000", recorder.getHeader("Cache-Control")); }
@Test public void refreshParameter_specified() throws Exception { servlet.setRenderer(renderer); expect(request.getParameter("refresh")).andReturn("1000"); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=1000", recorder.getHeader("Cache-Control")); }
@Test public void refreshParameter_specified() throws Exception { servlet.setRenderer(renderer); expect(request.getParameter("refresh")).andReturn("1000"); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=1000", recorder.getHeader("Cache-Control")); }
@Test public void renderWithTtl() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); expect(request.getParameter(Param.REFRESH.getKey())).andReturn("120"); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=120", recorder.getHeader("Cache-Control")); }
@Test public void renderWithBadTtl() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); expect(request.getParameter(Param.REFRESH.getKey())).andReturn(""); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=300", recorder.getHeader("Cache-Control")); }
@Test public void renderWithBadTtl() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); expect(request.getParameter(Param.REFRESH.getKey())).andReturn(""); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=300", recorder.getHeader("Cache-Control")); }
@Test public void renderWithTtl() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); expect(request.getParameter(Param.REFRESH.getKey())).andReturn("120"); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=120", recorder.getHeader("Cache-Control")); }
@Test public void renderWithTtl() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); expect(request.getParameter(Param.REFRESH.getKey())).andReturn("120"); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=120", recorder.getHeader("Cache-Control")); }
@Test public void refreshParameter_default() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=300", recorder.getHeader("Cache-Control")); }
@Test public void refreshParameter_default() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); control.replay(); servlet.doGet(request, recorder); assertEquals("private,max-age=300", recorder.getHeader("Cache-Control")); }
@Test public void errorsAreEscaped() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.error("busted<script>alert(document.domain)</script>", HttpServletResponse.SC_INTERNAL_SERVER_ERROR)); control.replay(); servlet.doGet(request, recorder); assertEquals("busted<script>alert(document.domain)</script>", recorder.getResponseAsString()); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, recorder.getHttpStatusCode()); }
@Test public void errorsAreEscaped() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.error("busted<script>alert(document.domain)</script>", HttpServletResponse.SC_INTERNAL_SERVER_ERROR)); control.replay(); servlet.doGet(request, recorder); assertEquals("busted<script>alert(document.domain)</script>", recorder.getResponseAsString()); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, recorder.getHttpStatusCode()); }
@Test public void errorsAreEscaped() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.error("busted<script>alert(document.domain)</script>", HttpServletResponse.SC_INTERNAL_SERVER_ERROR)); control.replay(); servlet.doGet(request, recorder); assertEquals("busted<script>alert(document.domain)</script>", recorder.getResponseAsString()); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, recorder.getHttpStatusCode()); }
@Test public void normalResponse() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); control.replay(); servlet.doGet(request, recorder); assertEquals(HttpServletResponse.SC_OK, recorder.getHttpStatusCode()); assertEquals("private,max-age=" + GadgetRenderingServlet.DEFAULT_CACHE_TTL, recorder.getHeader("Cache-Control")); assertEquals("working", recorder.getResponseAsString()); }
@Test public void outputEncodingIsUtf8() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok(NON_ASCII_STRING)); control.replay(); servlet.doGet(request, recorder); assertEquals("UTF-8", recorder.getCharacterEncoding()); assertEquals("text/html", recorder.getContentType()); assertEquals(NON_ASCII_STRING, recorder.getResponseAsString()); }
@Test public void normalResponse() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok("working")); control.replay(); servlet.doGet(request, recorder); assertEquals(HttpServletResponse.SC_OK, recorder.getHttpStatusCode()); assertEquals("private,max-age=" + GadgetRenderingServlet.DEFAULT_CACHE_TTL, recorder.getHeader("Cache-Control")); assertEquals("working", recorder.getResponseAsString()); }
@Test public void outputEncodingIsUtf8() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok(NON_ASCII_STRING)); control.replay(); servlet.doGet(request, recorder); assertEquals("UTF-8", recorder.getCharacterEncoding()); assertEquals("text/html", recorder.getContentType()); assertEquals(NON_ASCII_STRING, recorder.getResponseAsString()); }
@Test public void errorsPassedThrough() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.error("busted", HttpServletResponse.SC_INTERNAL_SERVER_ERROR)); control.replay(); servlet.doGet(request, recorder); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, recorder.getHttpStatusCode()); assertNull("Cache-Control header passed where it should not be.", recorder.getHeader("Cache-Control")); assertEquals("busted", recorder.getResponseAsString()); }
@Test public void errorsPassedThrough() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.error("busted", HttpServletResponse.SC_INTERNAL_SERVER_ERROR)); control.replay(); servlet.doGet(request, recorder); assertEquals(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, recorder.getHttpStatusCode()); assertNull("Cache-Control header passed where it should not be.", recorder.getHeader("Cache-Control")); assertEquals("busted", recorder.getResponseAsString()); }
@Test public void outputEncodingIsUtf8() throws Exception { servlet.setRenderer(renderer); expect(renderer.render(isA(GadgetContext.class))) .andReturn(RenderingResults.ok(NON_ASCII_STRING)); control.replay(); servlet.doGet(request, recorder); assertEquals("UTF-8", recorder.getCharacterEncoding()); assertEquals("text/html", recorder.getContentType()); assertEquals(NON_ASCII_STRING, recorder.getResponseAsString()); }