List of usage examples for org.springframework.mock.web MockHttpServletRequest getHeaders
@Override
public Enumeration<String> getHeaders(String name)
From source file:com.redblackit.web.server.EchoServletTest.java
/** * Do test//from w w w . j a va 2 s . 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:org.cateproject.test.functional.mockmvc.HtmlUnitRequestBuilder.java
private void parent(MockHttpServletRequest result, RequestBuilder parent) { if (parent == null) { return;/* w ww . j a v a 2 s .c o m*/ } MockHttpServletRequest parentRequest = parent.buildRequest(result.getServletContext()); // session HttpSession parentSession = parentRequest.getSession(false); if (parentSession != null) { Enumeration<String> attrNames = parentSession.getAttributeNames(); while (attrNames.hasMoreElements()) { String attrName = attrNames.nextElement(); Object attrValue = parentSession.getAttribute(attrName); result.getSession().setAttribute(attrName, attrValue); } } // header Enumeration<String> headerNames = parentRequest.getHeaderNames(); while (headerNames.hasMoreElements()) { String attrName = headerNames.nextElement(); Enumeration<String> attrValues = parentRequest.getHeaders(attrName); while (attrValues.hasMoreElements()) { String attrValue = attrValues.nextElement(); result.addHeader(attrName, attrValue); } } // parameter Map<String, String[]> parentParams = parentRequest.getParameterMap(); for (Map.Entry<String, String[]> parentParam : parentParams.entrySet()) { String paramName = parentParam.getKey(); String[] paramValues = parentParam.getValue(); result.addParameter(paramName, paramValues); } // cookie Cookie[] parentCookies = parentRequest.getCookies(); if (parentCookies != null) { result.setCookies(parentCookies); } // request attribute Enumeration<String> parentAttrNames = parentRequest.getAttributeNames(); while (parentAttrNames.hasMoreElements()) { String parentAttrName = parentAttrNames.nextElement(); result.setAttribute(parentAttrName, parentRequest.getAttribute(parentAttrName)); } }