List of usage examples for org.springframework.mock.web MockHttpServletResponse getHeaderNames
@Override
public Collection<String> getHeaderNames()
From source file:ch.ralscha.extdirectspring.util.ExtDirectSpringUtilTest.java
private static void assertResponse(MockHttpServletResponse response, int noOfHeaders, String etag, int month) { assertThat(response.getHeaderNames()).hasSize(noOfHeaders); assertThat(response.getHeader("ETag")).isEqualTo(etag); assertThat(response.getHeader("Cache-Control")).isEqualTo("public, max-age=" + month * 30 * 24 * 60 * 60); Long expiresMillis = (Long) response.getHeaderValue("Expires"); DateTime expires = new DateTime(expiresMillis, DateTimeZone.UTC); DateTime inSixMonths = DateTime.now(DateTimeZone.UTC).plusSeconds(month * 30 * 24 * 60 * 60); assertThat(expires.getYear()).isEqualTo(inSixMonths.getYear()); assertThat(expires.getMonthOfYear()).isEqualTo(inSixMonths.getMonthOfYear()); assertThat(expires.getDayOfMonth()).isEqualTo(inSixMonths.getDayOfMonth()); assertThat(expires.getHourOfDay()).isEqualTo(inSixMonths.getHourOfDay()); assertThat(expires.getMinuteOfDay()).isEqualTo(inSixMonths.getMinuteOfDay()); }
From source file:org.sventon.export.DefaultExportExecutorTest.java
@Test public void testPrepareResponse() throws Exception { final ConfigDirectory configDirectoryMock = createMock(ConfigDirectory.class); final DefaultExportExecutor exportExecutor = new DefaultExportExecutor(configDirectoryMock); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpServletResponse response = new MockHttpServletResponse(); assertEquals(0, response.getHeaderNames().size()); assertNull(response.getContentType()); exportExecutor.prepareResponse(request, response, new File("testfile")); assertEquals(1, response.getHeaderNames().size()); assertEquals("attachment; filename=\"testfile\"", response.getHeader(WebUtils.CONTENT_DISPOSITION_HEADER)); assertEquals(WebUtils.APPLICATION_OCTET_STREAM, response.getContentType()); }
From source file:io.spring.initializr.web.test.MockMvcClientHttpRequestFactory.java
private HttpHeaders getResponseHeaders(MockHttpServletResponse response) { HttpHeaders headers = new HttpHeaders(); for (String name : response.getHeaderNames()) { List<String> values = response.getHeaders(name); for (String value : values) { headers.add(name, value);/* www. ja v a 2s . c o m*/ } } return headers; }
From source file:org.ambraproject.wombat.util.HttpMessageUtilTest.java
@Test public void testCopyResponseWithHeaders() throws IOException { byte[] testContent = "Test content".getBytes(); HttpResponse input = new BasicHttpResponse(null, HttpStatus.OK.value(), ""); BasicHttpEntity outputEntity = new BasicHttpEntity(); outputEntity.setContent(new ByteArrayInputStream(testContent)); input.setEntity(outputEntity);/*w w w. j a v a 2s .co m*/ input.setHeader("includeMe", "foo"); input.setHeader("excludeMe", "bar"); input.setHeader("alterMe", "toBeAltered"); HeaderFilter headerFilter = header -> { String name = header.getName(); if ("includeMe".equalsIgnoreCase(name)) return header.getValue(); if ("alterMe".equalsIgnoreCase(name)) return "altered"; return null; }; MockHttpServletResponse output = new MockHttpServletResponse(); copyResponseWithHeaders(input, output, headerFilter); assertEquals(output.getContentAsByteArray(), testContent); assertEquals(output.getHeaderNames().size(), 2); assertEquals(output.getHeaders("includeMe"), ImmutableList.of("foo")); assertEquals(output.getHeaders("alterMe"), ImmutableList.of("altered")); assertEquals(output.getHeaders("excludeMe"), ImmutableList.of()); }
From source file:ch.ralscha.extdirectspring.controller.ApiControllerWithConfigurationTest.java
private void testGroup1(Configuration config, String fingerprint) throws Exception { ApiRequestParams params = ApiRequestParams.builder().apiNs("Ext.ns").actionNs("actionns").group("group1") .configuration(config).build(); doTest("/api-debug-doc.js", params, ApiControllerTest.group1Apis("actionns")); doTest("/api-debug.js", params, ApiControllerTest.group1Apis("actionns")); if (fingerprint == null) { doTest("/api.js", params, ApiControllerTest.group1Apis("actionns")); } else {/*from w ww .j a va2 s . c o m*/ MvcResult result = doTest("/api" + fingerprint + ".js", params, ApiControllerTest.group1Apis("actionns")); MockHttpServletResponse response = result.getResponse(); assertThat(response.getHeaderNames()).hasSize(5); assertThat(response.getHeader("ETag")).isNotNull(); assertThat(response.getHeader("Cache-Control")).isEqualTo("public, max-age=" + 6 * 30 * 24 * 60 * 60); Long expiresMillis = (Long) response.getHeaderValue("Expires"); DateTime expires = new DateTime(expiresMillis, DateTimeZone.UTC); DateTime inSixMonths = DateTime.now(DateTimeZone.UTC).plusSeconds(6 * 30 * 24 * 60 * 60); assertThat(expires.getYear()).isEqualTo(inSixMonths.getYear()); assertThat(expires.getMonthOfYear()).isEqualTo(inSixMonths.getMonthOfYear()); assertThat(expires.getDayOfMonth()).isEqualTo(inSixMonths.getDayOfMonth()); assertThat(expires.getHourOfDay()).isEqualTo(inSixMonths.getHourOfDay()); assertThat(expires.getMinuteOfDay()).isEqualTo(inSixMonths.getMinuteOfDay()); } }
From source file:com.redblackit.web.server.EchoServletTest.java
/** * Do test/* w w w . j a v a 2s . co m*/ * * @param method * @param hasBody if content should be expected */ private void doTest(String method, boolean hasBody) throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); request.setMethod(method); request.setRequestURI(this.requestURI); final String msg = "doTest:" + method + ":hasBody=" + hasBody; logger.debug(msg + ":this=" + this); for (String headerName : headersMap.keySet()) { List<String> values = headersMap.get(headerName); if (values.size() == 1) { request.addHeader(headerName, values.get(0)); } else { request.addHeader(headerName, values); } Enumeration<String> headerValues = request.getHeaders(headerName); int hi = 0; while (headerValues.hasMoreElements()) { logger.debug(msg + "request:header[" + headerName + "," + hi + "]=" + headerValues.nextElement()); ++hi; } Assert.assertTrue(msg + "TEST ERROR:request:header[" + headerName + "]=" + values + ":shouldn't be empty (" + values.getClass() + ")", hi > 0); } int expectedContentLength = 0; if (hasBody && body != null && body.length() > 0) { request.setContent(body.getBytes()); expectedContentLength = request.getContentLength(); } MockHttpServletResponse response = new MockHttpServletResponse(); echoServlet.service(request, response); String responseBody = response.getContentAsString(); Assert.assertEquals("response code:" + response, HttpServletResponse.SC_OK, response.getStatus()); Assert.assertEquals("requestURI and Location", requestURI, response.getHeader("Location")); Map<String, List<String>> responseHeadersMap = new TreeMap<String, List<String>>(); for (String headerName : response.getHeaderNames()) { List<String> values = response.getHeaders(headerName); int hi = 0; for (String value : values) { logger.debug(msg + ":response:header[" + headerName + "," + hi + "]=" + value); ++hi; } if (hi == 0) { logger.debug(msg + ":response:header[" + headerName + "]=" + values + ":is empty (" + values.getClass() + ")"); values = Arrays.asList(new String[] { "" }); } if (!(headerName.equals("Location") || headerName.equals("Content-Length"))) { responseHeadersMap.put(headerName, values); } } Assert.assertEquals("headers (excluding Location and Content-Length)", headersMap, responseHeadersMap); if (hasBody) { Assert.assertEquals("body", (body == null ? "" : body), responseBody); } else { Assert.assertEquals("body", "", responseBody); } Assert.assertEquals("contentLength", expectedContentLength, response.getContentLength()); }
From source file:com.liferay.document.library.webdav.test.BaseWebDAVTestCase.java
public Tuple service(String method, String path, Map<String, String> headers, byte[] data) { WebDAVServlet webDAVServlet = new WebDAVServlet(); String requestURI = _CONTEXT_PATH + _SERVLET_PATH + _PATH_INFO_PREFACE + path; MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest(method, requestURI); mockHttpServletRequest.setContextPath(_CONTEXT_PATH); mockHttpServletRequest.setServletPath(_SERVLET_PATH); mockHttpServletRequest.setPathInfo(_PATH_INFO_PREFACE + path); try {/*w w w . j a va 2s . com*/ mockHttpServletRequest.setRemoteUser(String.valueOf(TestPropsValues.getUserId())); } catch (Exception e) { Assert.fail("User ID cannot be initialized"); } if (headers == null) { headers = new HashMap<>(); } headers.put(HttpHeaders.USER_AGENT, getUserAgent()); try { throw new Exception(); } catch (Exception e) { StackTraceElement[] stackTraceElements = e.getStackTrace(); for (StackTraceElement stackTraceElement : stackTraceElements) { String methodName = stackTraceElement.getMethodName(); if (methodName.equals("setUp") || methodName.equals("tearDown") || methodName.startsWith("test")) { String testName = StringUtil.extractLast(stackTraceElement.getClassName(), CharPool.PERIOD); testName = StringUtil.removeSubstrings(testName, "WebDAV", "Test"); headers.put("X-Litmus", testName + ": (" + stackTraceElement.getMethodName() + ":" + stackTraceElement.getLineNumber() + ")"); break; } } } if (data != null) { mockHttpServletRequest.setContent(data); String contentType = headers.remove(HttpHeaders.CONTENT_TYPE); if (contentType != null) { mockHttpServletRequest.setContentType(contentType); } else { mockHttpServletRequest.setContentType(ContentTypes.TEXT_PLAIN); } } for (Map.Entry<String, String> entry : headers.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); mockHttpServletRequest.addHeader(key, value); } try { MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse(); webDAVServlet.service(mockHttpServletRequest, mockHttpServletResponse); int statusCode = mockHttpServletResponse.getStatus(); byte[] responseBody = mockHttpServletResponse.getContentAsByteArray(); Map<String, String> responseHeaders = new HashMap<>(); for (String name : mockHttpServletResponse.getHeaderNames()) { responseHeaders.put(name, mockHttpServletResponse.getHeader(name)); } return new Tuple(statusCode, responseBody, responseHeaders); } catch (Exception e) { e.printStackTrace(); } return null; }
From source file:org.opennms.netmgt.ncs.rest.AbstractSpringJerseyRestTestCase.java
private String stringifyResponse(final MockHttpServletResponse response) { final StringBuilder string = new StringBuilder(); try {/* ww w. j a v a 2 s. 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:io.restassured.module.mockmvc.internal.MockMvcRequestSenderImpl.java
private Object assembleHeaders(MockHttpServletResponse response) { Collection<String> headerNames = response.getHeaderNames(); List<Header> headers = new ArrayList<Header>(); for (String headerName : headerNames) { List<String> headerValues = response.getHeaders(headerName); for (String headerValue : headerValues) { headers.add(new Header(headerName, headerValue)); }// w ww. java2s . c om } return new Headers(headers); }
From source file:com.tasktop.c2c.server.common.service.tests.ajp.AjpProxyWebTest.java
@Test public void testProxyHandlesCookies() throws Exception { final String ajpBaseUri = String.format("ajp://localhost:%s", container.getAjpPort()); Payload payload = new Payload(HttpServletResponse.SC_OK, "some content\none two three\n\nfour"); payload.getResponseHeaders().put("foo", "bar"); payload.getSessionVariables().put("s1", "v1"); TestServlet.setResponsePayload(payload); MockHttpServletRequest request = new MockHttpServletRequest(); request.setMethod("GET"); request.setRequestURI("/test"); request.setQueryString("a=b"); request.setParameter("a", new String[] { "b" }); request.addHeader("c", "d ef"); MockHttpServletResponse response = new MockHttpServletResponse(); proxy.proxyRequest(ajpBaseUri + "/foo", request, response); Request firstRequest = null;//from w w w . j ava 2 s . com for (int i = 0; i < 100; i++) { firstRequest = TestServlet.getLastRequest(); // If our request is not yet there, then pause and retry shortly - proxying is an async process, and this // request was sometimes coming back as null which was causing test failures on the first assert below. if (firstRequest == null) { Thread.sleep(10); } else { // Got our request, so break now. break; } } Assert.assertTrue(firstRequest.isNewSession()); Assert.assertEquals("v1", firstRequest.getSessionAttributes().get("s1")); List<org.apache.commons.httpclient.Cookie> cookies = new ArrayList<org.apache.commons.httpclient.Cookie>(); for (String headerName : response.getHeaderNames()) { if (headerName.equalsIgnoreCase("set-cookie") || headerName.equalsIgnoreCase("set-cookie2")) { cookies.addAll(Arrays.asList(new RFC2965Spec().parse("localhost", container.getPort(), "/", false, response.getHeader(headerName).toString()))); } } Assert.assertEquals(1, cookies.size()); Cookie cookie = cookies.get(0); Assert.assertEquals("almp.JSESSIONID", cookie.getName()); MockHttpServletRequest request2 = new MockHttpServletRequest(); request2.setMethod("GET"); request2.setRequestURI("/test"); request2.addHeader("Cookie", cookie.toExternalForm()); MockHttpServletResponse response2 = new MockHttpServletResponse(); payload = new Payload(HttpServletResponse.SC_OK, "test"); TestServlet.setResponsePayload(payload); proxy.proxyRequest(ajpBaseUri + "/foo", request2, response2); Request secondRequest = TestServlet.getLastRequest(); Assert.assertFalse(secondRequest.isNewSession()); Assert.assertEquals(firstRequest.getSessionId(), secondRequest.getSessionId()); Assert.assertEquals("v1", secondRequest.getSessionAttributes().get("s1")); }