Example usage for org.springframework.mock.web MockHttpServletRequest setContent

List of usage examples for org.springframework.mock.web MockHttpServletRequest setContent

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletRequest setContent.

Prototype

public void setContent(@Nullable byte[] content) 

Source Link

Document

Set the content of the request body as a byte array.

Usage

From source file:ren.hankai.cordwood.web.support.MultiReadHttpServletRequestTest.java

@Test
public void testGetInputStream() throws Exception {
    final String requestBody = "{\"name\": \"\"}";

    final MockHttpServletRequest request = new MockHttpServletRequest();
    request.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);
    request.setContent(requestBody.getBytes("UTF-8"));

    final MultiReadHttpServletRequest wr = new MultiReadHttpServletRequest(request);
    final InputStream inputStream = wr.getInputStream();
    Assert.assertNotNull(inputStream);// w ww  .  ja  v a2s  .c om
    ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
    IOUtils.copy(inputStream, byteOutStream);
    Assert.assertEquals(requestBody, byteOutStream.toString("UTF-8"));
    Assert.assertTrue(inputStream instanceof CachedServletInputStream);
    final CachedServletInputStream cis = (CachedServletInputStream) inputStream;
    Assert.assertTrue(cis.isFinished());
    Assert.assertTrue(cis.isReady());
    cis.setReadListener(null);// ??

    /* ? */
    // ?
    final BufferedReader reader = wr.getReader();
    final StringWriter writer = new StringWriter();
    IOUtils.copy(reader, writer);
    Assert.assertEquals(requestBody, byteOutStream.toString("UTF-8"));

    // ?
    byteOutStream = new ByteArrayOutputStream();
    IOUtils.copy(wr.getInputStream(), byteOutStream);
    Assert.assertEquals(requestBody, byteOutStream.toString("UTF-8"));
}