List of usage examples for org.springframework.mock.web MockMultipartHttpServletRequest setAttribute
@Override public void setAttribute(String name, @Nullable Object value)
From source file:ch.ralscha.extdirectspring.bean.ExtDirectResponseBuilderTest.java
@Test public void testBuilderUploadResponse() throws IOException { MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest(); request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac); request.setParameter("extAction", "action"); request.setParameter("extMethod", "method"); request.setParameter("extType", "type"); request.setParameter("extTID", "1"); MockHttpServletResponse servletResponse = new MockHttpServletResponse(); ExtDirectResponseBuilder.create(request, servletResponse) .addResultProperty("additionalProperty", Boolean.FALSE) .addResultProperty("text", "a lot of "text"").buildAndWrite(); assertThat(servletResponse.getContentType()).isEqualTo("text/html;charset=UTF-8"); String content = servletResponse.getContentAsString(); assertThat(servletResponse.getContentLength()).isEqualTo(content.getBytes("UTF-8").length); assertThat(content).startsWith("<html><body><textarea>"); assertThat(content).endsWith("</textarea></body></html>"); String json = content.substring(content.indexOf("{"), content.lastIndexOf("}") + 1); assertThat(json).contains("\\""); json = json.replace("\\"", "\'"); ObjectMapper mapper = new ObjectMapper(); Map<String, Object> header = mapper.readValue(json, Map.class); assertThat(header.get("action")).isEqualTo("action"); assertThat(header.get("method")).isEqualTo("method"); assertThat(header.get("type")).isEqualTo("type"); assertThat(header.get("tid")).isEqualTo(1); @SuppressWarnings("unchecked") Map<String, Object> result = (Map<String, Object>) header.get("result"); assertThat(result).hasSize(3);/*ww w . j a va2s . c o m*/ assertThat((Boolean) result.get("success")).isTrue(); assertThat(result.get("text")).isEqualTo("a lot of 'text'"); assertThat(result.get("additionalProperty")).isEqualTo(Boolean.FALSE); }