List of usage examples for org.springframework.mock.web MockHttpServletRequest addHeader
public void addHeader(String name, Object value)
From source file:cc.redpen.server.api.RedPenResourceTest.java
private MockHttpServletRequest constructMockRequest(String method, String requestURI, String acceptHeader, String contentType) {//from ww w . j av a 2 s . c om MockHttpServletRequest mockRequest = new MockHttpServletRequest() { public String getPathTranslated() { return null; // prevent Spring to resolve the file on the filesystem which fails } @Override public <T extends HttpUpgradeHandler> T upgrade(Class<T> aClass) throws IOException, ServletException { return null; } }; mockRequest.setMethod(method); mockRequest.setRequestURI(requestURI); mockRequest.setServerPort(8080); mockRequest.addHeader("Accept", acceptHeader); mockRequest.addHeader("Content-Type", contentType); mockRequest.setContentType(contentType); return mockRequest; }
From source file:org.jasig.cas.support.oauth.web.OAuth20ProfileControllerTests.java
@Test public void verifyOKWithAuthorizationHeader() throws Exception { final TicketGrantingTicket ticketGrantingTicket = mock(TicketGrantingTicket.class); when(ticketGrantingTicket.isExpired()).thenReturn(false); final Service service = new SimpleWebApplicationServiceImpl("id"); final AccessToken accessToken = mock(AccessToken.class); when(accessToken.getId()).thenReturn(AT_ID); when(accessToken.getType()).thenReturn(TokenType.ONLINE); when(accessToken.getService()).thenReturn(service); when(accessToken.getTicketGrantingTicket()).thenReturn(ticketGrantingTicket); final CentralOAuthService centralOAuthService = mock(CentralOAuthService.class); when(centralOAuthService.getToken(AT_ID, AccessToken.class)).thenReturn(accessToken); final ServiceTicket serviceTicket = mock(ServiceTicket.class); when(serviceTicket.getId()).thenReturn(ID); when(serviceTicket.getService()).thenReturn(service); final Map<String, Object> map = new HashMap<>(); map.put(NAME, VALUE);// w ww .j av a2 s . co m final List<String> list = Arrays.asList(VALUE, VALUE); map.put(NAME2, list); final Principal principal = mock(Principal.class); when(principal.getId()).thenReturn(ID); when(principal.getAttributes()).thenReturn(map); final Authentication authentication = mock(Authentication.class); when(authentication.getPrincipal()).thenReturn(principal); final Assertion assertion = mock(Assertion.class); when(assertion.getPrimaryAuthentication()).thenReturn(authentication); final CentralAuthenticationService centralAuthenticationService = mock(CentralAuthenticationService.class); when(centralAuthenticationService.grantServiceTicket(accessToken.getTicketGrantingTicket().getId(), accessToken.getService())).thenReturn(serviceTicket); when(centralAuthenticationService.validateServiceTicket(serviceTicket.getId(), serviceTicket.getService())) .thenReturn(assertion); final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.PROFILE_URL); mockRequest.addHeader("Authorization", OAuthConstants.BEARER_TOKEN + " " + AT_ID); final MockHttpServletResponse mockResponse = new MockHttpServletResponse(); final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController(); oauth20WrapperController.setCentralOAuthService(centralOAuthService); oauth20WrapperController.setCentralAuthenticationService(centralAuthenticationService); oauth20WrapperController.afterPropertiesSet(); final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse); assertNull(modelAndView); assertEquals(HttpStatus.SC_OK, mockResponse.getStatus()); assertEquals(CONTENT_TYPE, mockResponse.getContentType()); final ObjectMapper mapper = new ObjectMapper(); final String expected = "{\"id\":\"" + ID + "\",\"attributes\":[{\"" + NAME + "\":\"" + VALUE + "\"},{\"" + NAME2 + "\":[\"" + VALUE + "\",\"" + VALUE + "\"]}]}"; final JsonNode expectedObj = mapper.readTree(expected); final JsonNode receivedObj = mapper.readTree(mockResponse.getContentAsString()); assertEquals(expectedObj.get("id").asText(), receivedObj.get("id").asText()); final JsonNode expectedAttributes = expectedObj.get("attributes"); final JsonNode receivedAttributes = receivedObj.get("attributes"); assertEquals(expectedAttributes.findValue(NAME).asText(), receivedAttributes.findValue(NAME).asText()); assertEquals(expectedAttributes.findValues(NAME2), receivedAttributes.findValues(NAME2)); }
From source file:com.tasktop.c2c.server.common.service.tests.http.HttpProxyTest.java
@Test public void testCookieRequestNonPrefixedHubCookiesFiltered() throws IOException { setupMock(HttpStatus.OK);/*from www . j a v a2s . com*/ MockHttpServletRequest request = new MockHttpServletRequest("GET", "unused"); MockHttpServletResponse response = new MockHttpServletResponse(); final String cookieHeaderValue = "$Version=\"1\"; Customer=\"WILE_E_COYOTE\"; $Path=\"/acme1\"; JSESSIONID=\"Rocket_Launcher_0001\"; $Path=\"/acme2\"; SPRING_SECURITY_REMEMBER_ME_COOKIE=\"FedEx\"; $Path=\"/acme\";"; request.addHeader("Cookie", cookieHeaderValue); proxy.proxyRequest("foo", request, response); List<String> proxyCookie = getProxyRequestHeaderValues("Cookie"); Assert.assertNotNull(proxyCookie); Assert.assertEquals(1, proxyCookie.size()); Assert.assertEquals("$Version=\"1\"; Customer=\"WILE_E_COYOTE\"; $Path=\"/acme1\";", proxyCookie.get(0)); context.assertIsSatisfied(); }
From source file:com.tasktop.c2c.server.common.service.tests.http.HttpProxyTest.java
@Test public void testCookieRequestNonPrefixedCookiesFiltered3() throws IOException { setupMock(HttpStatus.OK);// w ww.j a va 2 s.c o m MockHttpServletRequest request = new MockHttpServletRequest("GET", "unused"); MockHttpServletResponse response = new MockHttpServletResponse(); final String cookieHeaderValue = "$Version=\"1\"; JSESSIONID=\"WILE_E_COYOTE\"; $Path=\"/acme1\"; Part_Number=\"Rocket_Launcher_0001\"; $Path=\"/acme2\"; SPRING_SECURITY_REMEMBER_ME_COOKIE=\"FedEx\"; $Path=\"/acme\""; request.addHeader("Cookie", cookieHeaderValue); proxy.proxyRequest("foo", request, response); List<String> proxyCookie = getProxyRequestHeaderValues("Cookie"); Assert.assertNotNull(proxyCookie); Assert.assertEquals(1, proxyCookie.size()); Assert.assertEquals("$Version=\"1\"; Part_Number=\"Rocket_Launcher_0001\"; $Path=\"/acme2\";", proxyCookie.get(0)); context.assertIsSatisfied(); }
From source file:com.redblackit.web.server.EchoServletTest.java
/** * Do test/*from ww w . j ava 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:org.geomajas.gwt.server.mvc.GeomajasControllerTest.java
@Test public void testSerializationPolicy() throws UnsupportedEncodingException, ServletException { // create mock context that loads from the classpath MockServletConfig config = new MockServletConfig(); MockHttpServletRequest request = new MockHttpServletRequest(config.getServletContext()); request.setContentType("text/x-gwt-rpc"); request.setCharacterEncoding("UTF-8"); request.setContent(("6|0|10|http://apps.geomajas.org/explorer/be.geosparc.Explorer/" + "|54044FB0C988344F1715C8B91330B0A2|org.geomajas.gwt.client.GeomajasService|" + "execute|org.geomajas.gwt.client.command.GwtCommand/4093389776|command.configuration.GetMap|" + "org.geomajas.command.dto.GetMapConfigurationRequest/104733661|explorer|mainMap|" + "ss.TqRPfHFh24NVxB|1|2|3|4|1|5|5|6|7|8|9|0|10|").getBytes("UTF-8")); request.addHeader("X-GWT-Permutation", "54044FB0C988344F1715C8B91330B0A2"); request.addHeader("X-GWT-Module-Base", "http://test/module/"); MockHttpServletResponse response = new MockHttpServletResponse(); customController.setServletConfig(config); customController.doPost(request, response); // expect the message that the type is missing from our policy file Assert.assertTrue(response.getContentAsString().contains( "Type 'org.geomajas.gwt.client.command.GwtCommand' was not included in the set of types")); }
From source file:org.geomajas.gwt.server.mvc.GeomajasControllerTest.java
@Test public void testMockWebContext() throws ServletException, IOException { // create mock context that loads from the classpath MockServletConfig config = new MockServletConfig(); MockHttpServletRequest request = new MockHttpServletRequest(config.getServletContext()); request.setContentType("text/x-gwt-rpc"); request.setCharacterEncoding("UTF-8"); request.setContent(("6|0|10|http://apps.geomajas.org/explorer/be.geosparc.Explorer/" + "|54044FB0C988344F1715C8B91330B0A2|org.geomajas.gwt.client.GeomajasService|" + "execute|org.geomajas.gwt.client.command.GwtCommand/4093389776|command.configuration.GetMap|" + "org.geomajas.command.dto.GetMapConfigurationRequest/104733661|explorer|mainMap|" + "ss.TqRPfHFh24NVxB|1|2|3|4|1|5|5|6|7|8|9|0|10|").getBytes("UTF-8")); request.addHeader("X-GWT-Permutation", "54044FB0C988344F1715C8B91330B0A2"); request.addHeader("X-GWT-Module-Base", "http://test/module/"); MockHttpServletResponse response = new MockHttpServletResponse(); defaultController.setServletConfig(config); defaultController.doPost(request, response); // expect the message of the out-dated 1.3 policy of GWT Assert.assertTrue(response.getContentAsString() .contains("Type 'org.geomajas.gwt.client.command.GwtCommand' was not assignable" + " to 'com.google.gwt.user.client.rpc.IsSerializable'")); }
From source file:org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs1_8.ConceptController1_8Test.java
@Test public void shouldReturnFullRepXML() throws Exception { MockHttpServletRequest request = newGetRequest(getURI() + "/" + getUuid(), new Parameter( RestConstants.REQUEST_PROPERTY_FOR_REPRESENTATION, RestConstants.REPRESENTATION_FULL)); request.addHeader("Accept", "application/xml"); MockHttpServletResponse result = handle(request); String xml = result.getContentAsString(); printXML(xml);/*from www .j av a 2 s. co m*/ }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
@Test public void testInvokeAllProxiesAreInternal() throws Exception { // PREPARE/*from ww w . j a v a 2 s .com*/ XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.INTERNAL_PROXIES_PARAMETER, "192\\.168\\.0\\.10, 192\\.168\\.0\\.11"); filterConfig.addInitParameter(XForwardedFilter.TRUSTED_PROXIES_PARAMETER, "proxy1, proxy2, proxy3"); filterConfig.addInitParameter(XForwardedFilter.REMOTE_IP_HEADER_PARAMETER, "x-forwarded-for"); filterConfig.addInitParameter(XForwardedFilter.PROXIES_HEADER_PARAMETER, "x-forwarded-by"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setRemoteHost("remote-host-original-value"); request.addHeader("x-forwarded-for", "140.211.11.130, 192.168.0.10, 192.168.0.11"); // TEST xforwardedFilter.doFilter(request, new MockHttpServletResponse(), filterChain); // VERIFY String actualXForwardedFor = ((HttpServletRequest) filterChain.getRequest()).getHeader("x-forwarded-for"); assertNull("all proxies are internal, x-forwarded-for must be null", actualXForwardedFor); String actualXForwardedBy = ((HttpServletRequest) filterChain.getRequest()).getHeader("x-forwarded-by"); assertNull("all proxies are internal, x-forwarded-by must be null", actualXForwardedBy); String actualRemoteAddr = ((HttpServletRequest) filterChain.getRequest()).getRemoteAddr(); assertEquals("remoteAddr", "140.211.11.130", actualRemoteAddr); String actualRemoteHost = ((HttpServletRequest) filterChain.getRequest()).getRemoteHost(); assertEquals("remoteHost", "140.211.11.130", actualRemoteHost); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
@Test public void testInvokeUntrustedProxyInTheChain() throws Exception { // PREPARE// www . j a v a2 s . c om XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.INTERNAL_PROXIES_PARAMETER, "192\\.168\\.0\\.10, 192\\.168\\.0\\.11"); filterConfig.addInitParameter(XForwardedFilter.TRUSTED_PROXIES_PARAMETER, "proxy1, proxy2, proxy3"); filterConfig.addInitParameter(XForwardedFilter.REMOTE_IP_HEADER_PARAMETER, "x-forwarded-for"); filterConfig.addInitParameter(XForwardedFilter.PROXIES_HEADER_PARAMETER, "x-forwarded-by"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setRemoteHost("remote-host-original-value"); request.addHeader("x-forwarded-for", "140.211.11.130, proxy1, untrusted-proxy, proxy2"); // TEST xforwardedFilter.doFilter(request, new MockHttpServletResponse(), filterChain); // VERIFY String actualXForwardedFor = ((HttpServletRequest) filterChain.getRequest()).getHeader("x-forwarded-for"); assertEquals("ip/host before untrusted-proxy must appear in x-forwarded-for", "140.211.11.130, proxy1", actualXForwardedFor); String actualXForwardedBy = ((HttpServletRequest) filterChain.getRequest()).getHeader("x-forwarded-by"); assertEquals("ip/host after untrusted-proxy must appear in x-forwarded-by", "proxy2", actualXForwardedBy); String actualRemoteAddr = ((HttpServletRequest) filterChain.getRequest()).getRemoteAddr(); assertEquals("remoteAddr", "untrusted-proxy", actualRemoteAddr); String actualRemoteHost = ((HttpServletRequest) filterChain.getRequest()).getRemoteHost(); assertEquals("remoteHost", "untrusted-proxy", actualRemoteHost); }