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:org.springframework.data.rest.webmvc.jpa.JpaWebTests.java

/**
 * @see DATAREST-311//from  ww  w .  java2s. c om
 */
@Test
public void onlyLinksShouldAppearWhenExecuteSearchCompact() throws Exception {

    Link peopleLink = client.discoverUnique("people");
    Person daenerys = new Person("Daenerys", "Targaryen");
    String daenerysString = mapper.writeValueAsString(daenerys);

    MockHttpServletResponse createdPerson = postAndGet(peopleLink, daenerysString, MediaType.APPLICATION_JSON);
    Link daenerysLink = client.assertHasLinkWithRel("self", createdPerson);
    assertJsonPathEquals("$.firstName", "Daenerys", createdPerson);

    Link searchLink = client.discoverUnique(peopleLink, "search");
    Link byFirstNameLink = client.discoverUnique(searchLink, "findFirstPersonByFirstName");

    MockHttpServletResponse response = client.request(byFirstNameLink.expand("Daenerys"),
            MediaType.parseMediaType("application/x-spring-data-compact+json"));

    String responseBody = response.getContentAsString();

    JSONArray personLinks = JsonPath.<JSONArray>read(responseBody, "$.links[?(@.rel=='person')].href");

    assertThat(personLinks, hasSize(1));
    assertThat(personLinks.get(0), is((Object) daenerysLink.getHref()));
    assertThat(JsonPath.<JSONArray>read(responseBody, "$.content"), hasSize(0));
}

From source file:cherry.foundation.download.TableDownloadTemplateTest.java

@Test
public void testDownloadCsvWithHeader() throws IOException {
    // /*from www. j  av  a2 s  .  com*/
    MockHttpServletResponse response = new MockHttpServletResponse();
    // 
    tableDownloadOperation.downloadCsv(response, StandardCharsets.UTF_8, "test_{0}.csv",
            new LocalDateTime(2015, 1, 23, 12, 34, 56), asList("HEAD0"), createCommonClause(),
            createOrderByClause(), constant("TEST00"));
    // 
    assertEquals("text/csv", response.getContentType());
    assertEquals("UTF-8", response.getCharacterEncoding());
    assertEquals("text/csv;charset=UTF-8", response.getHeader("Content-Type"));
    assertEquals("attachment; filename=\"test_20150123123456.csv\"", response.getHeader("Content-Disposition"));
    assertEquals("\"HEAD0\"\r\n\"TEST00\"\r\n", response.getContentAsString());
}

From source file:com.ideabase.repository.test.webservice.RESTfulControllerTest.java

/**
 * Test get request for retrieving an item.
 * @throws Exception//from w ww . jav  a 2 s  . c  om
 */
public void testGetOperation() throws Exception {
    final Integer userId = TestCaseRepositoryHelper.fixCreateUser(mUserService, "hasan", "hasankhan");
    final List<Integer> parentItemIds = new ArrayList<Integer>();
    parentItemIds.add(userId);
    final List<Integer> itemIds = TestCaseRepositoryHelper.fixCreateItems(mRepositoryService, 10, "blog",
            parentItemIds);

    // Execute successful login request.
    final Subject subject = getSubjectFromASuccessfulRequest();

    // Create a new servlet request.
    final MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/service/get/" + itemIds.get(0) + ".xml");
    request.setMethod(METHOD_GET);
    // set parameters
    request.addParameter(WebConstants.PARAM_LOAD_RELATED_ITEMS, "true");
    request.addParameter(WebConstants.PARAM_RELATION_TYPES, "blog, user");
    request.addParameter(WebConstants.PARAM_MAX, "1");

    // set session id
    final MockHttpSession session = new MockHttpSession();
    session.setAttribute(WebConstants.SESSION_ATTR_USER_SUBJECT, subject);
    request.setSession(session);
    final MockHttpServletResponse response = new MockHttpServletResponse();

    // Execute controller
    final ModelAndView modelAndView = mRestfulController.handleRequest(request, response);

    // Verify response
    assertNull("Model and view is ignored.", modelAndView);
    LOG.debug("Response - " + response.getContentAsString());
    final boolean stateTrue = response.getContentAsString().indexOf("false") == -1;
    assertTrue("This action should not return false", stateTrue);
    assertEquals("Response status is not 200.", RESTfulControllerImpl.STATUS_OK_200, response.getStatus());
}

From source file:org.openmrs.module.atomfeed.AtomFeedUtilTest.java

/**
 * @see AtomFeedUtil#getAtomFeedStream(java.io.OutputStream, java.util.Date)
 * @verifies download full stream with null date
 *//*from   w  ww.j ava2 s  .c o m*/
@Test
public void getAtomFeedStream_shouldDownloadFullStreamWithNullDate() throws Exception {
    MockHttpServletResponse response = new MockHttpServletResponse();
    // if atom feed file exists, just get rid of it 
    File feedFile = AtomFeedUtil.getFeedEntriesFile();
    if (feedFile.exists()) {
        feedFile.delete();
    }
    // write couple of entries to atom feed 
    AtomFeedUtil.writeToFeed("test1", new Encounter());
    AtomFeedUtil.writeToFeed("test2", new Patient());

    AtomFeedUtil.getAtomFeedStream(response.getOutputStream(), null);

    // get response content to use it when asserting
    String responseContent = response.getContentAsString();

    // test if response contains header file content
    String atomHeader = FileUtils.readFileToString(AtomFeedUtil.getFeedHeaderFile());
    // truncate "</feed>" from the atom header string
    if (StringUtils.isNotBlank(atomHeader)) {
        atomHeader = StringUtils.substringBeforeLast(atomHeader, "</feed>");
    }
    Assert.assertTrue(StringUtils.contains(responseContent, atomHeader));

    // test that response content also contains both entries
    Assert.assertTrue(StringUtils.contains(responseContent, "<action>test1</action>"));
    Assert.assertTrue(StringUtils.contains(responseContent, "<action>test2</action>"));

    // test that response content also contains closing tag </feed>
    Assert.assertTrue(StringUtils.endsWith(responseContent, "</feed>"));
}

From source file:org.fao.geonet.api.records.formatters.FormatterApiIntegrationTest.java

@Test
public void testLastModified() throws Exception {
    String stage = systemInfo.getStagingProfile();
    systemInfo.setStagingProfile(SystemInfo.STAGE_PRODUCTION);
    try {/*from   w  w  w .j  av a 2s  . co  m*/
        metadataRepository.update(id, new Updater<Metadata>() {
            @Override
            public void apply(@Nonnull Metadata entity) {
                entity.getDataInfo().setChangeDate(new ISODate("2012-01-18T15:04:43"));
            }
        });
        dataManager.indexMetadata(Lists.newArrayList("" + this.id));

        final String formatterName = "full_view";

        MockHttpServletRequest request = new MockHttpServletRequest();
        request.getSession();
        request.addParameter("h2IdentInfo", "true");

        MockHttpServletResponse response = new MockHttpServletResponse();
        formatService.exec("eng", "html", "" + id, null, formatterName, "true", false, _100,
                new ServletWebRequest(request, response));
        final String lastModified = response.getHeader("Last-Modified");
        assertEquals("no-cache", response.getHeader("Cache-Control"));
        final String viewString = response.getContentAsString();
        assertNotNull(viewString);

        request = new MockHttpServletRequest();
        request.getSession();
        request.setMethod("GET");
        response = new MockHttpServletResponse();

        request.addHeader("If-Modified-Since", lastModified);
        formatService.exec("eng", "html", "" + id, null, formatterName, "true", false, _100,
                new ServletWebRequest(request, response));
        assertEquals(HttpStatus.SC_NOT_MODIFIED, response.getStatus());
        final ISODate newChangeDate = new ISODate();
        metadataRepository.update(id, new Updater<Metadata>() {
            @Override
            public void apply(@Nonnull Metadata entity) {
                entity.getDataInfo().setChangeDate(newChangeDate);
            }
        });

        dataManager.indexMetadata(Lists.newArrayList("" + this.id));

        request = new MockHttpServletRequest();
        request.getSession();
        request.setMethod("GET");
        response = new MockHttpServletResponse();

        request.addHeader("If-Modified-Since", lastModified);
        formatService.exec("eng", "html", "" + id, null, formatterName, "true", false, _100,
                new ServletWebRequest(request, response));
        assertEquals(HttpStatus.SC_OK, response.getStatus());
    } finally {
        systemInfo.setStagingProfile(stage);
    }
}

From source file:org.springframework.data.rest.webmvc.jpa.JpaWebTests.java

private void assertPersonWithNameAndSiblingLink(String name) throws Exception {

    MockHttpServletResponse response = client.request(client.discoverUnique("people"));

    String jsonPath = String.format("$._embedded.people[?(@.firstName == '%s')]", name);

    // Assert content inlined
    Object john = JsonPath.<JSONArray>read(response.getContentAsString(), jsonPath).get(0);
    assertThat(john, is(notNullValue()));
    assertThat(JsonPath.read(john, "$.firstName"), is(notNullValue()));

    // Assert sibling link exposed in resource pointed to
    Link selfLink = new Link(JsonPath.<String>read(john, "$._links.self.href"));
    client.follow(selfLink).//
            andExpect(status().isOk()).//
            andExpect(jsonPath("$._links.siblings", is(notNullValue())));
}

From source file:com.ideabase.repository.test.webservice.RESTfulControllerTest.java

public void testFindOperationInPHPResponseFormat() throws Exception {
    // Create dummy user object
    final Integer dummyUserId = TestCaseRepositoryHelper.fixCreateUser(mUserService, "hasan", "hasankhan");

    // Create fixture data
    final List<Integer> createdItemIdList = TestCaseRepositoryHelper.fixCreateItems(mRepositoryService, 5);
    // Set dummy user with the deletable list of items
    createdItemIdList.add(dummyUserId);// w w  w.ja  va  2 s . c o  m

    try {
        // Execute successful login request
        final Subject subject = getSubjectFromASuccessfulRequest();

        // Create a new servlet request
        final MockHttpServletRequest request = new MockHttpServletRequest();
        request.setRequestURI("/service/find/q.php");
        final Query query = new Query();
        query.and("email", "hasan@somewherein.net");
        LOG.debug("New query - " + query.buildQuery());
        request.addParameter("q", query.buildQuery().toString());
        // set pagination
        request.addParameter(WebConstants.PARAM_OFFSET, String.valueOf(0));
        request.addParameter(WebConstants.PARAM_MAX, String.valueOf(2));
        request.setMethod(METHOD_GET);

        // set session id
        final MockHttpSession session = new MockHttpSession();
        session.setAttribute(WebConstants.SESSION_ATTR_USER_SUBJECT, subject);
        request.setSession(session);
        final MockHttpServletResponse response = new MockHttpServletResponse();

        // Execute controller
        final ModelAndView modelAndView = mRestfulController.handleRequest(request, response);

        // Verify response
        assertNull("Model or view is returned", modelAndView);
        final String responseContent = response.getContentAsString();
        assertTrue("Response content is empty.", responseContent.indexOf("true") != -1);
        assertEquals("Resonse status is not 200", RESTfulControllerImpl.STATUS_OK_200, response.getStatus());
        LOG.debug("Response content - " + responseContent);

    } finally {
        // clean up all fixed items.
        TestCaseRepositoryHelper.fixRemoveAllItems(mRepositoryService);
    }
}

From source file:com.ideabase.repository.test.webservice.RESTfulControllerTest.java

/**
 * Test search request for findout a list of items.
 * @throws Exception//from w  w  w  .j av  a 2 s.co  m
 */
public void testFindOperation() throws Exception {
    // Create dummy user object
    final Integer dummyUserId = TestCaseRepositoryHelper.fixCreateUser(mUserService, "hasan", "hasankhan");

    // Create fixture data
    final List<Integer> createdItemIdList = TestCaseRepositoryHelper.fixCreateItems(mRepositoryService, 5);
    // Set dummy user with the deletable list of items
    createdItemIdList.add(dummyUserId);

    try {
        // Execute successful login request
        final Subject subject = getSubjectFromASuccessfulRequest();

        // Create a new servlet request
        final MockHttpServletRequest request = new MockHttpServletRequest();
        request.setRequestURI("/service/find/q.xml");
        final Query query = new Query();
        query.and("email", "hasan@somewherein.net");
        LOG.debug("New query - " + query.buildQuery());
        request.addParameter("q", query.buildQuery().toString());
        // set pagination
        request.addParameter(WebConstants.PARAM_OFFSET, String.valueOf(0));
        request.addParameter(WebConstants.PARAM_MAX, String.valueOf(2));
        request.setMethod(METHOD_GET);

        // set session id
        final MockHttpSession session = new MockHttpSession();
        session.setAttribute(WebConstants.SESSION_ATTR_USER_SUBJECT, subject);
        request.setSession(session);
        final MockHttpServletResponse response = new MockHttpServletResponse();

        // Execute controller
        final ModelAndView modelAndView = mRestfulController.handleRequest(request, response);

        // Verify response
        assertNull("Model or view is returned", modelAndView);
        final String responseContent = response.getContentAsString();
        assertTrue("Response content is empty.", responseContent.indexOf("true") != -1);
        assertEquals("Resonse status is not 200", RESTfulControllerImpl.STATUS_OK_200, response.getStatus());
        LOG.debug("Response content - " + responseContent);

    } finally {
        // clean up all fixed items.
        TestCaseRepositoryHelper.fixRemoveAllItems(mRepositoryService);
    }
}

From source file:org.openmrs.ui.framework.PageControllerTest.java

@Test
public void shouldHandleFileDownloadReturnType() throws Exception {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    MockHttpSession session = new MockHttpSession();
    Session uiSession = new Session(session);

    PageFactory pageFactory = mock(PageFactory.class);
    when(pageFactory.handle(any(PageRequest.class)))
            .thenThrow(new FileDownload("download.txt", "text/plain", "File contents".getBytes()));

    SessionFactory sessionFactory = mock(SessionFactory.class);
    when(sessionFactory.getSession(session)).thenReturn(uiSession);

    PageController controller = new PageController();
    controller.setPageFactory(pageFactory);
    controller.setSessionFactory(sessionFactory);

    controller.handlePath("somemodule/download", request, response, new ExtendedModelMap(), session);

    Assert.assertEquals("text/plain", response.getContentType());
    Assert.assertEquals("File contents", response.getContentAsString());
    Assert.assertEquals("attachment; filename=download.txt", response.getHeader("Content-Disposition"));
}