List of usage examples for org.springframework.mock.web MockHttpServletResponse getHeader
@Override
@Nullable
public String getHeader(String name)
From source file:org.springsource.restbucks.PaymentProcessIntegrationTest.java
/** * Polls the order resource every 2 seconds and uses an {@code If-None-Match} header alongside the {@code ETag} of the * first response to avoid sending the representation over and over again. * //ww w.j a va2 s . c o m * @param response * @return * @throws Exception */ private MockHttpServletResponse pollUntilOrderHasReceiptLink(MockHttpServletResponse response) throws Exception { // Grab String content = response.getContentAsString(); Link orderLink = links.findLinkWithRel(ORDER_REL, content); // Poll order until receipt link is set Link receiptLink = null; String etag = null; MockHttpServletResponse pollResponse; do { HttpHeaders headers = new HttpHeaders(); if (etag != null) { headers.setIfNoneMatch(etag); } log.info("Poll state of order until receipt is ready"); ResultActions action = mvc.perform(get(orderLink.getHref()).headers(headers)); pollResponse = action.andReturn().getResponse(); int status = pollResponse.getStatus(); etag = pollResponse.getHeader("ETag"); log.info(String.format("Received %s with ETag of %s", status, etag)); if (status == HttpStatus.OK.value()) { action.andExpect(linkWithRelIsPresent(Link.REL_SELF)). // andExpect(linkWithRelIsNotPresent(UPDATE_REL)). // andExpect(linkWithRelIsNotPresent(CANCEL_REL)); receiptLink = links.findLinkWithRel(RECEIPT_REL, pollResponse.getContentAsString()); } else if (status == HttpStatus.NO_CONTENT.value()) { action.andExpect(content().string(isEmptyOrNullString())); } if (receiptLink == null) { Thread.sleep(2000); } } while (receiptLink == null); return pollResponse; }
From source file:com.enonic.cms.framework.util.HttpServletRangeUtilTest.java
@Test public void test_process_request_multipart_three_ranges_with_spaces() throws Exception { final MockHttpServletRequest httpServletRequest = new MockHttpServletRequest(); httpServletRequest.setMethod("GET"); httpServletRequest.setPathInfo("/input.dat"); httpServletRequest.addHeader(HttpHeaders.RANGE, "bytes=0-5, 6-10, 11-20"); final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse(); HttpServletRangeUtil.processRequest(httpServletRequest, mockHttpServletResponse, "input.dat", "application/pdf", INPUT_FILE, false); assertEquals(readFromFile("response3.dat"), mockHttpServletResponse.getContentAsString()); assertEquals(HttpServletResponse.SC_PARTIAL_CONTENT, mockHttpServletResponse.getStatus()); assertEquals("multipart/byteranges; boundary=THIS_STRING_SEPARATES", mockHttpServletResponse.getContentType()); assertEquals("attachment;filename=\"input.dat\"", mockHttpServletResponse.getHeader(HttpHeaders.CONTENT_DISPOSITION)); }
From source file:com.enonic.cms.framework.util.HttpServletRangeUtilTest.java
@Test public void test_process_request_multipart_zero_to_zero() throws Exception { final MockHttpServletRequest httpServletRequest = new MockHttpServletRequest(); httpServletRequest.setMethod("GET"); httpServletRequest.setPathInfo("/input.dat"); httpServletRequest.addHeader(HttpHeaders.RANGE, "bytes=0-0,-1"); final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse(); HttpServletRangeUtil.processRequest(httpServletRequest, mockHttpServletResponse, "input.dat", "application/pdf", INPUT_FILE, false); assertEquals(readFromFile("response1.dat"), mockHttpServletResponse.getContentAsString()); assertEquals(HttpServletResponse.SC_PARTIAL_CONTENT, mockHttpServletResponse.getStatus()); assertEquals("multipart/byteranges; boundary=THIS_STRING_SEPARATES", mockHttpServletResponse.getContentType()); assertEquals("attachment;filename=\"input.dat\"", mockHttpServletResponse.getHeader(HttpHeaders.CONTENT_DISPOSITION)); }
From source file:com.enonic.cms.framework.util.HttpServletRangeUtilTest.java
@Test public void test_process_request_multipart_three_ranges() throws Exception { final MockHttpServletRequest httpServletRequest = new MockHttpServletRequest(); httpServletRequest.setMethod("GET"); httpServletRequest.setPathInfo("/input.dat"); httpServletRequest.addHeader(HttpHeaders.RANGE, "bytes=0-5,6-10,11-20"); final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse(); HttpServletRangeUtil.processRequest(httpServletRequest, mockHttpServletResponse, "input.dat", "application/pdf", INPUT_FILE, false); assertEquals(readFromFile("response3.dat"), mockHttpServletResponse.getContentAsString()); assertEquals(HttpServletResponse.SC_PARTIAL_CONTENT, mockHttpServletResponse.getStatus()); assertEquals("multipart/byteranges; boundary=THIS_STRING_SEPARATES", mockHttpServletResponse.getContentType()); assertEquals("attachment;filename=\"input.dat\"", mockHttpServletResponse.getHeader(HttpHeaders.CONTENT_DISPOSITION)); }
From source file:com.enonic.cms.framework.util.HttpServletRangeUtilTest.java
@Test public void test_gzip_ranges() throws Exception { final MockHttpServletRequest httpServletRequest = new MockHttpServletRequest(); httpServletRequest.setMethod("GET"); httpServletRequest.setPathInfo("/input.js"); httpServletRequest.addHeader(HttpHeaders.RANGE, "bytes=0-0,-1"); httpServletRequest.addHeader(HttpHeaders.ACCEPT_ENCODING, "gzip"); final MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse(); HttpServletRangeUtil.processRequest(httpServletRequest, mockHttpServletResponse, "input.js", "application/javascript", INPUT_FILE, false); assertEquals(readFromFile("response4.dat"), mockHttpServletResponse.getContentAsString()); assertEquals(HttpServletResponse.SC_PARTIAL_CONTENT, mockHttpServletResponse.getStatus()); assertEquals("multipart/byteranges; boundary=THIS_STRING_SEPARATES", mockHttpServletResponse.getContentType()); assertEquals("inline;filename=\"input.js\"", mockHttpServletResponse.getHeader(HttpHeaders.CONTENT_DISPOSITION)); }
From source file:org.openmrs.module.atomfeed.web.AtomFeedDownloadServletTest.java
/** * @see AtomFeedDownloadServlet#doHead(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) * @verifies send valid headers if atom feed has changed *///from ww w.ja v a 2s .co m @Test public void doHead_shouldSendValidHeadersIfAtomFeedHasChanged() throws Exception { // create servlet and corresponding request and response object to be sent AtomFeedDownloadServlet atomFeedDownloadServlet = new AtomFeedDownloadServlet(); MockHttpServletRequest request = new MockHttpServletRequest("HEAD", "/atomfeed"); request.setContextPath("/somecontextpath"); MockHttpServletResponse response = new MockHttpServletResponse(); // intentionally change atom feed in order to not depend from other tests AtomFeedUtil.objectCreated(new Encounter()); String etagToken = "somevalue"; Date lastModified = new Date(); // set request headers request.addHeader("If-None-Match", '"' + etagToken + '"'); request.addHeader("If-Modified-Since", lastModified); atomFeedDownloadServlet.service(request, response); // check response headers Assert.assertNotSame(0, response.getContentLength()); Assert.assertEquals("application/atom+xml", response.getContentType()); Assert.assertNotSame(HttpServletResponse.SC_NOT_MODIFIED, response.getStatus()); Assert.assertNotSame('"' + etagToken + '"', response.getHeader("Etag")); Assert.assertNotNull(response.getHeader("Last-Modified")); }
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")); }
From source file:org.opennms.netmgt.ncs.rest.AbstractSpringJerseyRestTestCase.java
private String stringifyResponse(final MockHttpServletResponse response) { final StringBuilder string = new StringBuilder(); try {/*from ww w. ja v a 2s. c o m*/ string.append("HttpServletResponse[").append("status=").append(response.getStatus()).append(",content=") .append(response.getContentAsString()).append(",headers=["); boolean first = true; for (final Iterator<String> i = response.getHeaderNames().iterator(); i.hasNext(); first = false) { if (!first) { string.append(","); } final String name = i.next(); string.append("name=").append(response.getHeader(name)); } string.append("]").append("]"); } catch (UnsupportedEncodingException e) { s_log.warn("Unable to get response content", e); } return string.toString(); }
From source file:org.springframework.data.rest.webmvc.jpa.JpaWebTests.java
/** * @see DATAREST-658/* w ww . j a va 2 s. c om*/ */ @Test public void returnsLinkHeadersForHeadRequestToItemResource() throws Exception { MockHttpServletResponse response = client.request(client.discoverUnique("people")); String personHref = JsonPath.read(response.getContentAsString(), "$._embedded.people[0]._links.self.href"); response = mvc.perform(head(personHref))// .andExpect(status().isNoContent())// .andReturn().getResponse(); Links links = Links.valueOf(response.getHeader("Link")); assertThat(links.hasLink("self"), is(true)); assertThat(links.hasLink("person"), is(true)); }
From source file:org.springframework.data.rest.webmvc.jpa.JpaWebTests.java
/** * @see DATAREST-160/*from w w w. j ava 2 s . c o m*/ */ @Test public void returnConflictWhenConcurrentlyEditingVersionedEntity() throws Exception { Link receiptLink = client.discoverUnique("receipts"); Receipt receipt = new Receipt(); receipt.setAmount(new BigDecimal(50)); receipt.setSaleItem("Springy Tacos"); String stringReceipt = mapper.writeValueAsString(receipt); MockHttpServletResponse createdReceipt = postAndGet(receiptLink, stringReceipt, MediaType.APPLICATION_JSON); Link tacosLink = client.assertHasLinkWithRel("self", createdReceipt); assertJsonPathEquals("$.saleItem", "Springy Tacos", createdReceipt); UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(tacosLink.getHref()); String concurrencyTag = createdReceipt.getHeader("ETag"); mvc.perform(patch(builder.build().toUriString()).content("{ \"saleItem\" : \"SpringyBurritos\" }") .contentType(MediaType.APPLICATION_JSON).header(IF_MATCH, concurrencyTag)) .andExpect(status().is2xxSuccessful()); mvc.perform(patch(builder.build().toUriString()).content("{ \"saleItem\" : \"SpringyTequila\" }") .contentType(MediaType.APPLICATION_JSON).header(IF_MATCH, "\"falseETag\"")) .andExpect(status().isPreconditionFailed()); }