List of usage examples for org.springframework.mock.web MockFilterChain getResponse
@Nullable
public ServletResponse getResponse()
From source file:com.nebhale.cyclinglibrary.web.GzipFilterTest.java
@Test public void gzipRequest() throws ServletException, IOException { MockHttpServletRequest request = new MockHttpServletRequest(); request.addHeader("Content-Encoding", "gzip"); request.setContent(gzipContent("test-request-content")); MockHttpServletResponse response = new MockHttpServletResponse(); MockFilterChain filterChain = new MockFilterChain(); this.filter.doFilterInternal(request, response, filterChain); writeContent("test-response-content", filterChain.getResponse().getOutputStream()); assertEquals("test-request-content", readContent(filterChain.getRequest().getInputStream())); assertEquals("test-response-content", response.getContentAsString()); }
From source file:org.sventon.web.filter.ConfigAuthorizationFilterTest.java
@Test public void testDoFilterInternalApplicationConfiguredEditEnabledAlreadyLoggedIn() throws Exception { final ConfigAuthorizationFilter filter = new ConfigAuthorizationFilter(application); final MockHttpSession session = new MockHttpSession(); session.setAttribute("isAdminLoggedIn", true); final MockHttpServletRequest request = new MockHttpServletRequest(); request.setSession(session);//from w w w .j av a 2s . com final HttpServletResponse response = new MockHttpServletResponse(); final MockFilterChain filterChain = new MockFilterChain(); application.setConfigured(true); application.setEditableConfig(true); filter.doFilterInternal(request, response, filterChain); assertSame(request, filterChain.getRequest()); assertSame(response, filterChain.getResponse()); assertTrue((Boolean) request.getAttribute("isEdit")); }
From source file:org.sventon.web.filter.ConfigAuthorizationFilterTest.java
@Test public void testDoFilterInternalApplicationNotConfigured() throws Exception { final ConfigAuthorizationFilter filter = new ConfigAuthorizationFilter(application); final HttpServletRequest request = new MockHttpServletRequest(); final HttpServletResponse response = EasyMock.createMock(HttpServletResponse.class); final MockFilterChain filterChain = new MockFilterChain(); application.setConfigured(false);// w ww . j ava 2s. c om EasyMock.replay(response); filter.doFilterInternal(request, response, filterChain); EasyMock.verify(response); assertSame(request, filterChain.getRequest()); assertSame(response, filterChain.getResponse()); }
From source file:org.sventon.web.filter.ConfigAuthorizationFilterTest.java
@Test public void testDoFilterInternalApplicationConfiguredEditDisabled() throws Exception { final ConfigAuthorizationFilter filter = new ConfigAuthorizationFilter(application); final HttpServletRequest request = new MockHttpServletRequest(); final HttpServletResponse response = EasyMock.createMock(HttpServletResponse.class); final MockFilterChain filterChain = new MockFilterChain(); application.setConfigured(true);//from w w w. j a v a2 s .com application.setEditableConfig(false); response.sendRedirect("/repos/list"); EasyMock.replay(response); filter.doFilterInternal(request, response, filterChain); EasyMock.verify(response); assertNull(filterChain.getRequest()); assertNull(filterChain.getResponse()); }
From source file:org.surfnet.oaaas.auth.AuthorizationServerFilterTest.java
/** * Test method for//from w w w . j a v a2 s . co m * {@link org.surfnet.oaaas.auth.AuthorizationServerFilter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)} * . * * @throws ServletException * @throws IOException */ @Test public void testDoFilterHappyFlow() throws IOException, ServletException { Map<String, String> attributes = new HashMap<String, String>(); attributes.put("key", "value"); VerifyTokenResponse recorderdResponse = new VerifyTokenResponse("org.surfnet.oaaas.conext.mock-client", Collections.singletonList("read"), new AuthenticatedPrincipal("john.doe", Arrays.asList("user", "admin"), attributes), 0L); MockFilterChain chain = doCallFilter(recorderdResponse); /* * Verify that the FilterChain#doFilter is called and the * VerifyTokenResponse is set on the Request */ VerifyTokenResponse response = (VerifyTokenResponse) chain.getRequest() .getAttribute(AuthorizationServerFilter.VERIFY_TOKEN_RESPONSE); assertEquals("value", response.getPrincipal().getAttributes().get("key")); assertEquals("*", ((MockHttpServletResponse) chain.getResponse()).getHeader("Access-Control-Allow-Origin")); /* * Also test the cache by repeating the call and setting the expected result * to null (which would cause an exception in MockHandler#invariant if the * cache does not kick in) */ Resource[] resource = null; doCallFilter(resource, new MockHttpServletResponse()); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
@Test public void testIncomingRequestIsSecuredButProtocolHeaderSaysItIsNotWithDefaultValues() throws Exception { // PREPARE//from w w w. j av a 2 s .co m XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_PARAMETER, "x-forwarded-proto"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setSecure(true); request.setScheme("https"); request.addHeader("x-forwarded-for", "140.211.11.130"); request.addHeader("x-forwarded-proto", "http"); MockHttpServletResponse response = new MockHttpServletResponse(); // TEST xforwardedFilter.doFilter(request, response, filterChain); // VERIFY boolean actualSecure = filterChain.getRequest().isSecure(); assertEquals("request must be unsecured as header x-forwarded-proto said it is http", false, actualSecure); String actualScheme = filterChain.getRequest().getScheme(); assertEquals("scheme must be http as header x-forwarded-proto said it is http", "http", actualScheme); 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); String actualUrl = ((HttpServletResponse) filterChain.getResponse()).encodeURL("/relativeURL"); assertEquals("encodeURL relative", "http://localhost/relativeURL", actualUrl); actualUrl = ((HttpServletResponse) filterChain.getResponse()).encodeURL("https://absolute/URL"); assertEquals("encodeURL absolute", "https://absolute/URL", actualUrl); String actualRedirectUrl = ((HttpServletResponse) filterChain.getResponse()) .encodeRedirectURL("/relativeURL"); assertEquals("encodeRedirectURL relative", "http://localhost/relativeURL", actualRedirectUrl); ((HttpServletResponse) filterChain.getResponse()).sendRedirect("/relativeURL"); assertEquals("redirectedUrl", "http://localhost/relativeURL", response.getRedirectedUrl()); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
/** * Use <code>X-Real-IP</code> and <code>X-Secure</code> headers. * * @throws Exception//from ww w .j a v a 2 s . c o m */ @Test public void testNGinxStyleIncomingRequest() throws Exception { // PREPARE XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_PARAMETER, "X-Secure"); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_HTTPS_VALUE_PARAMETER, "on"); filterConfig.addInitParameter(XForwardedFilter.REMOTE_IP_HEADER_PARAMETER, "X-Real-IP"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setSecure(false); request.setScheme("http"); request.addHeader("X-Real-IP", "140.211.11.130"); request.addHeader("X-Secure", "on"); MockHttpServletResponse response = new MockHttpServletResponse(); // TEST xforwardedFilter.doFilter(request, response, filterChain); // VERIFY boolean actualSecure = filterChain.getRequest().isSecure(); assertEquals("request must be secured as header X-Secure='on'", true, actualSecure); String actualScheme = filterChain.getRequest().getScheme(); assertEquals("scheme must be https as header X-Secure='on'", "https", actualScheme); int actualServerPort = filterChain.getRequest().getServerPort(); assertEquals("wrong http server port", 443, actualServerPort); 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); ((HttpServletResponse) filterChain.getResponse()).sendRedirect("http://absolute/URL"); assertEquals("redirectedUrl", "http://absolute/URL", response.getRedirectedUrl()); }
From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java
@Test public void testIncomingRequestIsSecuredButProtocolHeaderSaysItIsNotWithCustomValues() throws Exception { // PREPARE//w w w .j a v a 2 s. c o m XForwardedFilter xforwardedFilter = new XForwardedFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(XForwardedFilter.PROTOCOL_HEADER_PARAMETER, "x-forwarded-proto"); filterConfig.addInitParameter(XForwardedFilter.REMOTE_IP_HEADER_PARAMETER, "x-my-forwarded-for"); filterConfig.addInitParameter(XForwardedFilter.HTTP_SERVER_PORT_PARAMETER, "8080"); xforwardedFilter.init(filterConfig); MockFilterChain filterChain = new MockFilterChain(); MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr("192.168.0.10"); request.setSecure(true); request.setScheme("https"); request.addHeader("x-my-forwarded-for", "140.211.11.130"); request.addHeader("x-forwarded-proto", "http"); MockHttpServletResponse response = new MockHttpServletResponse(); // TEST xforwardedFilter.doFilter(request, response, filterChain); // VERIFY boolean actualSecure = filterChain.getRequest().isSecure(); assertEquals("request must be unsecured as header x-forwarded-proto said it is http", false, actualSecure); String actualScheme = filterChain.getRequest().getScheme(); assertEquals("scheme must be http as header x-forwarded-proto said it is http", "http", actualScheme); int actualServerPort = filterChain.getRequest().getServerPort(); assertEquals("wrong http server port", 8080, actualServerPort); 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); ((HttpServletResponse) filterChain.getResponse()).sendRedirect("http://absolute/URL"); assertEquals("redirectedUrl", "http://absolute/URL", response.getRedirectedUrl()); }