/** * Assert that the named response header does not exist. * @since 4.0 */ public ResultMatcher doesNotExist(final String name) { return result -> assertTrue("Response should not contain header '" + name + "'", !result.getResponse().containsHeader(name)); }
/** * Assert that the named response header exists. * @since 5.0.3 */ public ResultMatcher exists(final String name) { return result -> assertTrue("Response should contain header '" + name + "'", result.getResponse().containsHeader(name)); }
/** * Assert the primary value of the named response header as a {@code long}. * <p>The {@link ResultMatcher} returned by this method throws an * {@link AssertionError} if the response does not contain the specified * header, or if the supplied {@code value} does not match the primary value. */ public ResultMatcher longValue(final String name, final long value) { return result -> { MockHttpServletResponse response = result.getResponse(); assertTrue("Response does not contain header '" + name + "'", response.containsHeader(name)); String headerValue = response.getHeader(name); if (headerValue != null) { assertEquals("Response header '" + name + "'", value, Long.parseLong(headerValue)); } }; }
@Test public void testGZipRemovesContentLength() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", "http://www.geoserver.org"); request.addHeader("accept-encoding", "gzip"); MockHttpServletResponse response = new MockHttpServletResponse(); response.setContentType("text/plain"); // run the filter GZIPFilter filter = new GZIPFilter(); MockServletContext context = new MockServletContext(); MockFilterConfig config = new MockFilterConfig(context); config.addInitParameter("compressed-types", "text/plain"); filter.init(config); MockFilterChain chain = new MockFilterChain() { @Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { response.setContentLength(1000); AlternativesResponseStream alternatives = (AlternativesResponseStream) response.getOutputStream(); ServletOutputStream gzipStream = alternatives.getStream(); gzipStream.write(1); } }; filter.doFilter(request, response, chain); assertFalse(response.containsHeader("Content-Length")); }
assertFalse(response.containsHeader("Content-Length"));
@Test public void testNotGZippedMantainsContentLength() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", "http://www.geoserver.org"); request.addHeader("accept-encoding", "gzip"); MockHttpServletResponse response = new MockHttpServletResponse(); response.setContentType("text/css"); // run the filter GZIPFilter filter = new GZIPFilter(); MockServletContext context = new MockServletContext(); context.setInitParameter("compressed-types", "text/plain"); MockFilterConfig config = new MockFilterConfig(context); filter.init(config); MockFilterChain chain = new MockFilterChain() { @Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { response.setContentLength(1000); AlternativesResponseStream alternatives = (AlternativesResponseStream) response.getOutputStream(); ServletOutputStream gzipStream = alternatives.getStream(); gzipStream.write(1); } }; filter.doFilter(request, response, chain); assertTrue(response.containsHeader("Content-Length")); assertEquals("1000", response.getHeader("Content-Length")); }
@Override public void match(MvcResult result) { SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US); format.setTimeZone(TimeZone.getTimeZone("GMT")); String formatted = format.format(new Date(value)); MockHttpServletResponse response = result.getResponse(); assertTrue("Response does not contain header '" + name + "'", response.containsHeader(name)); assertEquals("Response header '" + name + "'", formatted, response.getHeader(name)); } };
/** * Assert that the named response header does not exist. * @since 4.0 */ public ResultMatcher doesNotExist(final String name) { return result -> assertTrue("Response should not contain header '" + name + "'", !result.getResponse().containsHeader(name)); }
@Override public void match(MvcResult result) { assertTrue("Response should not contain header '" + name + "'", !result.getResponse().containsHeader(name)); } };
/** * Assert that the named response header exists. * @since 5.0.3 */ public ResultMatcher exists(final String name) { return result -> assertTrue("Response should contain header '" + name + "'", result.getResponse().containsHeader(name)); }
@Override public void match(MvcResult result) { MockHttpServletResponse response = result.getResponse(); assertTrue("Response does not contain header '" + name + "'", response.containsHeader(name)); assertEquals("Response header '" + name + "'", value, Long.parseLong(response.getHeader(name))); } };
/** * Assert the primary value of the named response header as a {@code long}. * <p>The {@link ResultMatcher} returned by this method throws an * {@link AssertionError} if the response does not contain the specified * header, or if the supplied {@code value} does not match the primary value. */ public ResultMatcher longValue(final String name, final long value) { return result -> { MockHttpServletResponse response = result.getResponse(); assertTrue("Response does not contain header '" + name + "'", response.containsHeader(name)); String headerValue = response.getHeader(name); if (headerValue != null) { assertEquals("Response header '" + name + "'", value, Long.parseLong(headerValue)); } }; }
new NullURLMangler()); wmsCap.writeResponse(conv.servletResp); assertTrue(resp.containsHeader("content-disposition")); assertEquals( "inline;filename=wms-getcapabilities.xml", resp.getHeader("content-disposition"));
/** Tests ContentDisposition */ @Test public void testSimple() throws Exception { String request = "wms?version=1.1.1&request=GetCapabilities&service=WMS"; MockHttpServletResponse result = getAsServletResponse(request); Assert.assertTrue(result.containsHeader("content-disposition")); Assert.assertEquals( "inline; filename=getcapabilities_1.1.1.xml", result.getHeader("content-disposition")); request = "wms?version=1.3.0&request=GetCapabilities&service=WMS"; result = getAsServletResponse(request); Assert.assertTrue(result.containsHeader("content-disposition")); Assert.assertEquals( "inline; filename=getcapabilities_1.3.0.xml", result.getHeader("content-disposition")); } }
new NullURLMangler()); wmsCap.writeResponse(conv.servletResp, mock(RuntimeStats.class)); assertTrue(resp.containsHeader("content-disposition")); assertEquals( "inline;filename=wmts-getcapabilities.xml", resp.getHeader("content-disposition"));
new NullURLMangler()); wmsCap.writeResponse(conv.servletResp, mock(RuntimeStats.class)); assertTrue(resp.containsHeader("content-disposition")); assertEquals( "inline;filename=wmts-getcapabilities.xml", resp.getHeader("content-disposition"));
new NullURLMangler()); wmsCap.writeResponse(conv.servletResp, mock(RuntimeStats.class)); assertTrue(resp.containsHeader("content-disposition")); assertEquals( "inline;filename=wmts-getcapabilities.xml", resp.getHeader("content-disposition"));
new NullURLMangler()); wmsCap.writeResponse(conv.servletResp, mock(RuntimeStats.class)); assertTrue(resp.containsHeader("content-disposition")); assertEquals( "inline;filename=wmts-getcapabilities.xml", resp.getHeader("content-disposition"));
extensions); wmsCap.writeResponse(conv.servletResp, mock(RuntimeStats.class)); assertTrue(resp.containsHeader("content-disposition")); assertEquals( "inline;filename=wmts-getcapabilities.xml", resp.getHeader("content-disposition"));
new NullURLMangler()); wmsCap.writeResponse(conv.servletResp, mock(RuntimeStats.class)); assertTrue(resp.containsHeader("content-disposition")); assertEquals( "inline;filename=wmts-getcapabilities.xml", resp.getHeader("content-disposition"));