Example usage for org.springframework.mock.web MockFilterChain getRequest

List of usage examples for org.springframework.mock.web MockFilterChain getRequest

Introduction

In this page you can find the example usage for org.springframework.mock.web MockFilterChain getRequest.

Prototype

@Nullable
public ServletRequest getRequest() 

Source Link

Document

Return the request that #doFilter has been called with.

Usage

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  ww w .  j a  va2 s.  co  m

    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.surfnet.oaaas.auth.AuthorizationServerFilterTest.java

/**
 * Test method for//  w w w.j  a  v  a2s  .  c om
 * {@link org.surfnet.oaaas.auth.AuthorizationServerFilter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)}
 * .
 * 
 * @throws ServletException
 * @throws IOException
 */
@Test
public void testDoFilterWrongAccessToken() throws IOException, ServletException {
    VerifyTokenResponse recorderdResponse = new VerifyTokenResponse("wtf");
    MockHttpServletResponse response = new MockHttpServletResponse();
    MockFilterChain chain = doCallFilter(recorderdResponse, response);
    /*
     * Verify that the response is 403 and that the chain is stopped
     */
    assertNull(chain.getRequest());
    assertEquals(403, response.getStatus());
}

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);//from  w  w w.j av a 2  s  .  c  o m

    EasyMock.replay(response);
    filter.doFilterInternal(request, response, filterChain);
    EasyMock.verify(response);

    assertSame(request, filterChain.getRequest());
    assertSame(response, filterChain.getResponse());
}

From source file:io.jmnarloch.spring.request.correlation.filter.RequestCorrelationFilterTest.java

@Test
public void shouldInitiateCorrelationId() throws IOException, ServletException {

    // given//from w w w . j  a v a 2 s.co  m
    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    final MockFilterChain chain = new MockFilterChain();

    // when
    instance.doFilter(request, response, chain);

    // then
    assertNotNull(request.getAttribute(RequestCorrelationConsts.ATTRIBUTE_NAME));
    assertNotNull(((HttpServletRequest) chain.getRequest()).getHeader(RequestCorrelationConsts.HEADER_NAME));
}

From source file:org.surfnet.oaaas.auth.AuthorizationServerFilterTest.java

/**
 * Test method for/*  w  w  w  .  j a v  a2  s. c o 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: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 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.java  2 s  .c  om*/
    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:io.jmnarloch.spring.request.correlation.filter.RequestCorrelationFilterTest.java

@Test
public void shouldUseExistingCorrelationId() throws IOException, ServletException {

    // given/*from   ww w  .j a  va2  s . com*/
    final String requestId = UUID.randomUUID().toString();
    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    final MockFilterChain chain = new MockFilterChain();

    request.addHeader(RequestCorrelationConsts.HEADER_NAME, requestId);

    // when
    instance.doFilter(request, response, chain);

    // then
    final Object requestCorrelation = request.getAttribute(RequestCorrelationConsts.ATTRIBUTE_NAME);
    assertNotNull(requestCorrelation);
    assertEquals(requestId, ((RequestCorrelation) requestCorrelation).getRequestId());

    final String header = ((HttpServletRequest) chain.getRequest())
            .getHeader(RequestCorrelationConsts.HEADER_NAME);
    assertNotNull(header);
    assertEquals(requestId, header);
}

From source file:io.jmnarloch.spring.request.correlation.filter.RequestCorrelationFilterTest.java

@Test
public void shouldUseCustomHeader() throws IOException, ServletException {

    // given//from w  w w  .  j a  va 2s  .  c om
    final String headerName = "X-TraceId";
    final String requestId = UUID.randomUUID().toString();
    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    final MockFilterChain chain = new MockFilterChain();

    request.addHeader(headerName, requestId);
    properties.setHeaderName(headerName);

    // when
    instance.doFilter(request, response, chain);

    // then
    final Object requestCorrelation = request.getAttribute(RequestCorrelationConsts.ATTRIBUTE_NAME);
    assertNotNull(requestCorrelation);
    assertEquals(requestId, ((RequestCorrelation) requestCorrelation).getRequestId());

    final String header = ((HttpServletRequest) chain.getRequest()).getHeader(headerName);
    assertNotNull(header);
    assertEquals(requestId, header);
}

From source file:fr.xebia.servlet.filter.XForwardedFilterTest.java

@Test
public void testInvokeAllProxiesAreTrusted() throws Exception {

    // PREPARE/* w  w  w  .j  a  va2 s .  c  o  m*/
    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, proxy2");

    // TEST
    xforwardedFilter.doFilter(request, new MockHttpServletResponse(), filterChain);

    // VERIFY
    String actualXForwardedFor = ((HttpServletRequest) filterChain.getRequest()).getHeader("x-forwarded-for");
    assertNull("all proxies are trusted, x-forwarded-for must be null", actualXForwardedFor);

    String actualXForwardedBy = ((HttpServletRequest) filterChain.getRequest()).getHeader("x-forwarded-by");
    assertEquals("all proxies are trusted, they must appear in x-forwarded-by", "proxy1, proxy2",
            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);
}