List of usage examples for org.springframework.mock.web MockHttpServletResponse getContentAsString
public String getContentAsString() throws UnsupportedEncodingException
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")); }