Example usage for org.springframework.mock.web MockMultipartHttpServletRequest setAttribute

List of usage examples for org.springframework.mock.web MockMultipartHttpServletRequest setAttribute

Introduction

In this page you can find the example usage for org.springframework.mock.web MockMultipartHttpServletRequest setAttribute.

Prototype

@Override
    public void setAttribute(String name, @Nullable Object value) 

Source Link

Usage

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("\\&quot;");
    json = json.replace("\\&quot;", "\'");
    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);
}