Example usage for org.springframework.mock.web MockHttpServletResponse getContentAsString

List of usage examples for org.springframework.mock.web MockHttpServletResponse getContentAsString

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletResponse getContentAsString.

Prototype

public String getContentAsString() throws UnsupportedEncodingException 

Source Link

Document

Get the content of the response body as a String , using the charset specified for the response by the application, either through HttpServletResponse methods or through a charset parameter on the Content-Type .

Usage

From source file:com.gisgraphy.servlet.GisgraphyServletTest.java

@Test
public void sendCustomError() throws UnsupportedEncodingException {
    final IoutputFormatVisitor errorvisitor = EasyMock.createMock(IoutputFormatVisitor.class);
    String formatedErrorMessage = "formatedErrorMessage";
    String errorMessage = "Basic error Message";
    EasyMock.expect(errorvisitor.visitJSON(OutputFormat.JSON)).andReturn(formatedErrorMessage);
    EasyMock.replay(errorvisitor);//from  w  w w .j av a2 s  . c o  m
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    response.setCommitted(true);
    GisgraphyMockServlet mockServlet = new GisgraphyMockServlet() {
        public IoutputFormatVisitor getErrorVisitor(String errorMessage) {
            return errorvisitor;
        };
    };
    mockServlet.sendCustomError(errorMessage, OutputFormat.JSON, response, request);
    EasyMock.verify(errorvisitor);
    System.out.println(response.getContentAsString());
}

From source file:ch.rasc.extclassgenerator.ModelGeneratorBeanWithValidationTest.java

@Test
public void testWriteModelHttpServletRequestHttpServletResponseModelBeanOutputFormat() throws IOException {
    MockHttpServletResponse response = new MockHttpServletResponse();
    ModelBean model = ModelGenerator.createModel(BeanWithValidation.class, IncludeValidation.ALL);
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.EXTJS4);
    GeneratorTestUtil.compareExtJs4Code("BeanWithValidation", response.getContentAsString(), false, false);

    response = new MockHttpServletResponse();
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.TOUCH2);
    GeneratorTestUtil.compareTouch2Code("BeanWithValidation", response.getContentAsString(), false, false);
}

From source file:com.liferay.document.library.webserver.test.WebServerRangeTest.java

@Test
public void testMultipartRange() throws Exception {
    String[] ranges = { "0-9", "25-25", "30-49", "70-79" };

    String rangeHeader = "bytes=";

    for (int i = 0; i < ranges.length; i++) {
        rangeHeader += ranges[i];//from   w  w w  .j  a va 2s  . c  om

        if (i != (ranges.length - 1)) {
            rangeHeader += StringPool.COMMA;
        }
    }

    MockHttpServletResponse mockHttpServletResponse = testRange(rangeHeader);

    String contentType = mockHttpServletResponse.getContentType();

    Assert.assertTrue(contentType.startsWith(_BOUNDARY_PREFACE));

    String boundary = contentType.substring(_BOUNDARY_PREFACE.length());

    String responseBody = mockHttpServletResponse.getContentAsString();

    Assert.assertTrue(responseBody.startsWith("\r\n--" + boundary + "\r\n"));
    Assert.assertTrue(responseBody.endsWith("--" + boundary + "--\r\n"));

    String[] responseBodies = StringUtil.split(responseBody, boundary);

    Assert.assertEquals(Arrays.toString(responseBodies), ranges.length + 2, responseBodies.length);
    Assert.assertEquals(StringPool.DOUBLE_DASH, responseBodies[0]);
    Assert.assertEquals(StringPool.DOUBLE_DASH, responseBodies[ranges.length + 1]);

    for (int i = 0; i < ranges.length; i++) {
        String[] lines = StringUtil.split(responseBodies[i + 1], StringPool.RETURN_NEW_LINE);

        Assert.assertEquals("Content-Type: text/plain", lines[0]);
        Assert.assertEquals("Content-Range: bytes " + ranges[i] + "/80", lines[1]);
        Assert.assertTrue(Validator.isNull(lines[2]));

        String[] rangePair = StringUtil.split(ranges[i], StringPool.DASH);

        int start = GetterUtil.getInteger(rangePair[0]);
        int end = GetterUtil.getInteger(rangePair[1]);

        byte[] bytes = ArrayUtil.subset(_SAMPLE_DATA.getBytes(), start, end + 1);

        Assert.assertArrayEquals(bytes, lines[3].getBytes("UTF-8"));

        Assert.assertEquals(StringPool.DOUBLE_DASH, lines[4]);
    }
}

From source file:ch.rasc.extclassgenerator.ModelGeneratorBeanWithGenericValidationTest.java

@Test
public void testWriteModelHttpServletRequestHttpServletResponseModelBeanOutputFormatBoolean()
        throws IOException {
    MockHttpServletResponse response = new MockHttpServletResponse();
    ModelBean model = ModelGenerator.createModel(BeanWithGenericValidation.class, IncludeValidation.ALL);
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.EXTJS4, false);
    GeneratorTestUtil.compareExtJs4Code("BeanWithGenericValidation", response.getContentAsString(), false,
            false);//  w  w w. j ava  2s.c  o m

    response = new MockHttpServletResponse();
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.TOUCH2, false);
    GeneratorTestUtil.compareTouch2Code("BeanWithGenericValidation", response.getContentAsString(), false,
            false);

    response = new MockHttpServletResponse();
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.EXTJS4, true);
    GeneratorTestUtil.compareExtJs4Code("BeanWithGenericValidation", response.getContentAsString(), true,
            false);

    response = new MockHttpServletResponse();
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.TOUCH2, true);
    GeneratorTestUtil.compareTouch2Code("BeanWithGenericValidation", response.getContentAsString(), true,
            false);
}

From source file:org.springsource.restbucks.PaymentProcessIntegrationTest.java

/**
 * Follows the {@code order} link and asserts only the self link being present so that no further navigation is
 * possible anymore.//ww w .ja v a2  s  .  c o m
 * 
 * @param response
 * @throws Exception
 */
private void verifyOrderTaken(MockHttpServletResponse response) throws Exception {

    Link orderLink = links.findLinkWithRel(ORDER_REL, response.getContentAsString());
    MockHttpServletResponse orderResponse = mvc.perform(get(orderLink.getHref())). //
            andExpect(status().isOk()). // //
            andExpect(linkWithRelIsPresent(Link.REL_SELF)). //
            andExpect(linkWithRelIsNotPresent(UPDATE_REL)). //
            andExpect(linkWithRelIsNotPresent(CANCEL_REL)). //
            andExpect(linkWithRelIsNotPresent(PAYMENT_REL)). //
            andExpect(jsonPath("$status", is("TAKEN"))). //
            andReturn().getResponse();

    log.info("Final order state: " + orderResponse.getContentAsString());
}

From source file:org.springframework.data.rest.tests.mongodb.MongoWebTests.java

/**
 * @see DATAREST-506//from   w ww. j  av a 2s .c  o m
 */
@Test
public void supportsConditionalGetsOnItemResource() throws Exception {

    Receipt receipt = new Receipt();
    receipt.amount = new BigDecimal(50);
    receipt.saleItem = "Springy Tacos";

    Link receiptsLink = client.discoverUnique("receipts");

    MockHttpServletResponse response = postAndGet(receiptsLink, mapper.writeValueAsString(receipt),
            MediaType.APPLICATION_JSON);

    Link receiptLink = client.getDiscoverer(response).findLinkWithRel("self", response.getContentAsString());

    mvc.perform(get(receiptLink.getHref()).header(IF_MODIFIED_SINCE, response.getHeader(LAST_MODIFIED))).//
            andExpect(status().isNotModified()).//
            andExpect(header().string(ETAG, is(notNullValue())));

    mvc.perform(get(receiptLink.getHref()).header(IF_NONE_MATCH, response.getHeader(ETAG))).//
            andExpect(status().isNotModified()).//
            andExpect(header().string(ETAG, is(notNullValue())));
}

From source file:org.springsource.restbucks.PaymentProcessIntegrationTest.java

/**
 * Concludes the {@link Order} by looking up the {@code receipt} link from the response and follows it. Triggers a
 * {@code DELETE} request susequently./*from w ww .ja  v  a 2 s.  c o  m*/
 * 
 * @param response
 * @return
 * @throws Exception
 */
private MockHttpServletResponse takeReceipt(MockHttpServletResponse response) throws Exception {

    Link receiptLink = links.findLinkWithRel(RECEIPT_REL, response.getContentAsString());

    MockHttpServletResponse receiptResponse = mvc.perform(get(receiptLink.getHref()). //
            accept(MediaType.APPLICATION_JSON)). //
            andExpect(status().isOk()). //
            andReturn().getResponse();

    log.info("Accessing receipt, got:" + receiptResponse.getContentAsString());
    log.info("Taking receipt");

    return mvc.perform(delete(receiptLink.getHref()).accept(MediaType.APPLICATION_JSON)). //
            andExpect(status().isOk()). //
            andReturn().getResponse();
}

From source file:ch.rasc.extclassgenerator.ModelGeneratorBeanWithValidationTest.java

@Test
public void testWriteModelHttpServletRequestHttpServletResponseModelBeanOutputFormatBoolean()
        throws IOException {
    MockHttpServletResponse response = new MockHttpServletResponse();
    ModelBean model = ModelGenerator.createModel(BeanWithValidation.class, IncludeValidation.ALL);
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.EXTJS4, false);
    GeneratorTestUtil.compareExtJs4Code("BeanWithValidation", response.getContentAsString(), false, false);

    response = new MockHttpServletResponse();
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.TOUCH2, false);
    GeneratorTestUtil.compareTouch2Code("BeanWithValidation", response.getContentAsString(), false, false);

    response = new MockHttpServletResponse();
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.EXTJS4, true);
    GeneratorTestUtil.compareExtJs4Code("BeanWithValidation", response.getContentAsString(), true, false);

    response = new MockHttpServletResponse();
    ModelGenerator.writeModel(new MockHttpServletRequest(), response, model, OutputFormat.TOUCH2, true);
    GeneratorTestUtil.compareTouch2Code("BeanWithValidation", response.getContentAsString(), true, false);
}

From source file:org.openmrs.module.atomfeed.web.AtomFeedDownloadServletTest.java

/**
 * @see {@link AtomFeedDownloadServlet#doGet(HttpServletRequest,HttpServletResponse)}
 *///  ww w .  ja  v  a 2 s.c o m
@Test
@Verifies(value = "should include all entries if no valid asOfDate is specified", method = "doGet(HttpServletRequest,HttpServletResponse)")
public void doGet_shouldIncludeAllEntriesIfNoValidAsOfDateIsSpecified() throws Exception {
    //ensures that at least we have an entry to exclude for testing purposes
    AtomFeedUtil.objectCreated(new Encounter());

    AtomFeedDownloadServlet atomFeedDownloadServlet = new AtomFeedDownloadServlet();
    MockHttpServletRequest request = new MockHttpServletRequest("GET", "/atomfeed");

    Thread.sleep(1000);

    request.setParameter("asOfDate", "");
    MockHttpServletResponse response = new MockHttpServletResponse();

    AtomFeedUtil.objectCreated(new Encounter());
    AtomFeedUtil.objectCreated(new Concept());

    Thread.sleep(2000);//wait for 2 seconds for the feed to get updated
    atomFeedDownloadServlet.service(request, response);

    //should have returned all entries
    Assert.assertTrue(StringUtils.countMatches(response.getContentAsString(), "<entry>") > 2);
}

From source file:org.geogig.geoserver.rest.GeoGigWebAPIIntegrationTest.java

@Test
public void testRemoteAdd() throws Exception {
    String remoteURL = "http://example.com/geogig/upstream";

    final String url = BASE_URL + "/remote?remoteName=upstream&remoteURL=" + remoteURL;
    MockHttpServletResponse sr = getAsServletResponse(url);
    assertEquals(200, sr.getStatus());/*from  w  w w.j a  v a2 s  . c  o  m*/

    Document dom = super.dom(new ByteArrayInputStream(sr.getContentAsString().getBytes()), true);

    // <response><success>true</success><name>upstream</name></response>
    assertXpathEvaluatesTo("true", "/response/success", dom);
    assertXpathEvaluatesTo("upstream", "/response/name", dom);

    dom = getAsDOM(url);
    print(dom);
    // <response><success>false</success><error>REMOTE_ALREADY_EXISTS</error></response>
    assertXpathEvaluatesTo("false", "/response/success", dom);
    assertXpathEvaluatesTo("REMOTE_ALREADY_EXISTS", "/response/error", dom);
}