@Test public void render() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); Map<String, String> model = new LinkedHashMap<>(); model.put("2", "This is entry 2"); model.put("1", "This is entry 1"); view.render(model, request, response); assertEquals("Invalid content-type", "application/rss+xml", response.getContentType()); String expected = "<rss version=\"2.0\">" + "<channel><title>Test Feed</title><link>http://example.com</link><description>Test feed description</description>" + "<item><title>2</title><description>This is entry 2</description></item>" + "<item><title>1</title><description>This is entry 1</description></item>" + "</channel></rss>"; assertXMLEqual(expected, response.getContentAsString()); }
@Test public void getHeaders() throws Exception { HttpHeaders headers = response.getHeaders(); String headerName = "MyHeader"; String headerValue1 = "value1"; headers.add(headerName, headerValue1); String headerValue2 = "value2"; headers.add(headerName, headerValue2); headers.setContentType(new MediaType("text", "plain", Charset.forName("UTF-8"))); response.close(); assertTrue("Header not set", mockResponse.getHeaderNames().contains(headerName)); List headerValues = mockResponse.getHeaders(headerName); assertTrue("Header not set", headerValues.contains(headerValue1)); assertTrue("Header not set", headerValues.contains(headerValue2)); assertEquals( "Invalid Content-Type", "text/plain;charset=UTF-8", mockResponse.getHeader("Content-Type")); assertEquals("Invalid Content-Type", "text/plain;charset=UTF-8", mockResponse.getContentType()); assertEquals("Invalid Content-Type", "UTF-8", mockResponse.getCharacterEncoding()); }