Example usage for org.springframework.mock.web MockFilterConfig addInitParameter

List of usage examples for org.springframework.mock.web MockFilterConfig addInitParameter

Introduction

In this page you can find the example usage for org.springframework.mock.web MockFilterConfig addInitParameter.

Prototype

public void addInitParameter(String name, String value) 

Source Link

Usage

From source file:org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilterTests.java

public void testRenewInitParamThrows() throws Exception {
    final Cas20ProxyReceivingTicketValidationFilter f = new Cas20ProxyReceivingTicketValidationFilter();
    final MockFilterConfig config = new MockFilterConfig();
    config.addInitParameter("casServerUrlPrefix", "https://cas.example.com");
    config.addInitParameter("renew", "true");
    try {//  ww  w .j a va2s  .c o m
        f.init(config);
        fail("Should have thrown IllegalArgumentException.");
    } catch (final IllegalArgumentException e) {
        assertTrue(e.getMessage().contains("Renew MUST"));
    }
}

From source file:org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilterTests.java

@Test
public void getTIcketValidatorWithProxyChainsAndLineBreak() throws Exception {
    Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter();

    // Test case #3
    final MockFilterConfig config3 = new MockFilterConfig();
    config3.addInitParameter("allowedProxyChains",
            "https://a.example.com https://b.example.com\nhttps://c.example.com");
    config3.addInitParameter("casServerUrlPrefix", "https://cas.jasig.org/");
    config3.addInitParameter("service", "http://www.jasig.org");
    filter.init(config3);/*from w w  w .  jav a  2  s.  co m*/
    assertNotNull(filter.getTicketValidator(config3));
}

From source file:com.xyxy.platform.examples.showcase.demos.web.CacheControlHeaderFilterTest.java

@Test
public void test() throws IOException, ServletException {
    MockFilterConfig config = new MockFilterConfig();
    MockFilterChain chain = new MockFilterChain();
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    config.addInitParameter("expiresSeconds", "123");

    CacheControlHeaderFilter filter = new CacheControlHeaderFilter();
    filter.init(config);//from   w  ww . j a  va 2 s.  co m
    filter.doFilter(request, response, chain);

    assertThat(response.getHeader("Cache-Control")).isEqualTo("private, max-age=123");
}

From source file:net.node42.filter.SimpleTimeoutLoadLimitingFilterTest.java

@Test
public void testDestroy() throws Exception {
    final SimpleTimeoutLoadLimitingFilter target = new SimpleTimeoutLoadLimitingFilter();
    final MockFilterConfig filterConfig = new MockFilterConfig(new MockServletContext());
    filterConfig.addInitParameter("request_count_concurrent_max", "0");
    filterConfig.addInitParameter("request_count_check_interval", "200");
    filterConfig.addInitParameter("request_timeout", "10000");

    target.init(filterConfig);/*from www  . ja v  a2s  .  c o m*/
    assertThat(target.maxConcurrentRequests).isEqualTo(0);
    assertThat(target.requestCountCheckInterval).isEqualTo(200L);
    assertThat(target.requestTimeoutMillis).isEqualTo(10000);

    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    response.setWriterAccessAllowed(true);
    final FilterChain filterChain = mock(FilterChain.class);

    runLoadLimitingFilter(target, request, response, filterChain);
    assertThat(response.getContentLength()).isEqualTo(0); // Verify we haven't written a timeout message

    target.destroy();
    assertThat(target.DESTROY.get()).isEqualTo(true);
    await().atMost(5, TimeUnit.SECONDS).until(new Callable<Boolean>() {
        @Override
        public Boolean call() throws Exception {
            return !response.getContentAsString().isEmpty();
        }
    });
    assertThat(response.getContentAsString()).isNotEmpty()
            .isEqualTo(SimpleTimeoutLoadLimitingFilter.CONTENT_TIMEOUT_DEFAULT);
}

From source file:net.node42.filter.SimpleTimeoutLoadLimitingFilterTest.java

@Test
public void testTimeoutResponseReturned() throws Exception {
    final SimpleTimeoutLoadLimitingFilter target = new SimpleTimeoutLoadLimitingFilter();
    final MockFilterConfig filterConfig = new MockFilterConfig(new MockServletContext());
    // Nothing gets through, and it times out immediately...
    filterConfig.addInitParameter("request_count_concurrent_max", "0");
    filterConfig.addInitParameter("request_timeout", "-1000");
    target.init(filterConfig);/* w w  w  .  j av a 2 s  .  c  o m*/

    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    response.setWriterAccessAllowed(true);
    final FilterChain filterChain = mock(FilterChain.class);

    runLoadLimitingFilter(target, request, response, filterChain);
    await().atMost(2, TimeUnit.SECONDS).untilAtomic(target.ACTIVE_REQUESTS, equalTo(0));
    assertThat(response.getContentAsString()).isNotNull().isNotEmpty()
            .isEqualTo(SimpleTimeoutLoadLimitingFilter.CONTENT_TIMEOUT_DEFAULT);
}

From source file:org.jasig.cas.client.authentication.AuthenticationFilterTests.java

@Before
public void setUp() throws Exception {
    this.filter = new AuthenticationFilter();
    final MockFilterConfig config = new MockFilterConfig();
    config.addInitParameter("casServerLoginUrl", CAS_LOGIN_URL);
    config.addInitParameter("service", CAS_SERVICE_URL);
    this.filter.init(config);
}

From source file:org.jasig.cas.client.authentication.AuthenticationFilterTests.java

@Test
public void testRenewInitParamThrows() throws Exception {
    final AuthenticationFilter f = new AuthenticationFilter();
    final MockFilterConfig config = new MockFilterConfig();
    config.addInitParameter("casServerLoginUrl", CAS_LOGIN_URL);
    config.addInitParameter("service", CAS_SERVICE_URL);
    config.addInitParameter("renew", "true");
    try {/*www.  ja v  a 2  s  .com*/
        f.init(config);
        fail("Should have thrown IllegalArgumentException.");
    } catch (final IllegalArgumentException e) {
        assertTrue(e.getMessage().contains("Renew MUST"));
    }
}

From source file:org.jasig.cas.client.authentication.AuthenticationFilterTests.java

@Test
public void testRedirectWithQueryString() throws Exception {
    final MockHttpSession session = new MockHttpSession();
    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    request.setQueryString("test=12456");
    request.setRequestURI("/test");
    request.setSecure(true);//from   w w  w  . java2  s  .co m
    final FilterChain filterChain = new FilterChain() {

        public void doFilter(ServletRequest request, ServletResponse response)
                throws IOException, ServletException {
            // nothing to do
        }
    };

    request.setSession(session);
    this.filter = new AuthenticationFilter();

    final MockFilterConfig config = new MockFilterConfig();
    config.addInitParameter("casServerLoginUrl", CAS_LOGIN_URL);
    config.addInitParameter("serverName", "localhost:8443");
    this.filter.init(config);

    this.filter.doFilter(request, response, filterChain);

    assertEquals(CAS_LOGIN_URL + "?service=" + URLEncoder.encode(
            "https://localhost:8443" + request.getRequestURI() + "?" + request.getQueryString(), "UTF-8"),
            response.getRedirectedUrl());
}

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

protected void validate(HttpServlet servlet, Integer expectedMaxAgeInSeconds, int expectedResponseStatusCode)
        throws Exception {
    // SETUP/* ww  w .  j a v a2  s . c  o m*/
    int port = 6666;
    Server server = new Server(port);
    Context context = new Context(server, "/", Context.SESSIONS);

    MockFilterConfig filterConfig = new MockFilterConfig();
    filterConfig.addInitParameter("ExpiresDefault", "access plus 1 minute");
    filterConfig.addInitParameter("ExpiresByType text/xml; charset=utf-8", "access plus 3 minutes");
    filterConfig.addInitParameter("ExpiresByType text/xml", "access plus 5 minutes");
    filterConfig.addInitParameter("ExpiresByType text", "access plus 7 minutes");
    filterConfig.addInitParameter("ExpiresExcludedResponseStatusCodes", "304, 503");

    ExpiresFilter expiresFilter = new ExpiresFilter();
    expiresFilter.init(filterConfig);

    context.addFilter(new FilterHolder(expiresFilter), "/*", Handler.REQUEST);

    context.addServlet(new ServletHolder(servlet), "/test");

    server.start();
    try {
        Calendar.getInstance(TimeZone.getTimeZone("GMT"));
        long timeBeforeInMillis = System.currentTimeMillis();

        // TEST
        HttpURLConnection httpURLConnection = (HttpURLConnection) new URL("http://localhost:" + port + "/test")
                .openConnection();

        // VALIDATE
        Assert.assertEquals(expectedResponseStatusCode, httpURLConnection.getResponseCode());

        for (Entry<String, List<String>> field : httpURLConnection.getHeaderFields().entrySet()) {
            System.out.println(field.getKey() + ": "
                    + StringUtils.arrayToDelimitedString(field.getValue().toArray(), ", "));
        }

        Integer actualMaxAgeInSeconds;

        String cacheControlHeader = httpURLConnection.getHeaderField("Cache-Control");
        if (cacheControlHeader == null) {
            actualMaxAgeInSeconds = null;
        } else {
            actualMaxAgeInSeconds = null;
            // System.out.println("Evaluate Cache-Control:" +
            // cacheControlHeader);
            StringTokenizer cacheControlTokenizer = new StringTokenizer(cacheControlHeader, ",");
            while (cacheControlTokenizer.hasMoreTokens() && actualMaxAgeInSeconds == null) {
                String cacheDirective = cacheControlTokenizer.nextToken();
                // System.out.println("\tEvaluate directive: " +
                // cacheDirective);
                StringTokenizer cacheDirectiveTokenizer = new StringTokenizer(cacheDirective, "=");
                // System.out.println("countTokens=" +
                // cacheDirectiveTokenizer.countTokens());
                if (cacheDirectiveTokenizer.countTokens() == 2) {
                    String key = cacheDirectiveTokenizer.nextToken().trim();
                    String value = cacheDirectiveTokenizer.nextToken().trim();
                    if (key.equalsIgnoreCase("max-age")) {
                        actualMaxAgeInSeconds = Integer.parseInt(value);
                    }
                }
            }
        }

        if (expectedMaxAgeInSeconds == null) {
            Assert.assertNull("actualMaxAgeInSeconds '" + actualMaxAgeInSeconds + "' should be null",
                    actualMaxAgeInSeconds);
            return;
        }

        Assert.assertNotNull(actualMaxAgeInSeconds);

        int deltaInSeconds = Math.abs(actualMaxAgeInSeconds - expectedMaxAgeInSeconds);
        Assert.assertTrue("actualMaxAgeInSeconds: " + actualMaxAgeInSeconds + ", expectedMaxAgeInSeconds: "
                + expectedMaxAgeInSeconds + ", request time: " + timeBeforeInMillis + " for content type "
                + httpURLConnection.getContentType(), deltaInSeconds < 2000);

    } finally {
        server.stop();
    }
}

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

@Test
public void testConfiguration() throws ServletException {
    MockFilterConfig filterConfig = new MockFilterConfig();
    filterConfig.addInitParameter("ExpiresDefault", "access plus 1 month");
    filterConfig.addInitParameter("ExpiresByType text/javascript", "access plus 1 year");
    filterConfig.addInitParameter("ExpiresByType text/html", "access plus 1 month 15 days 2 hours");
    filterConfig.addInitParameter("ExpiresByType image/gif", "modification plus 5 hours 3 minutes");
    filterConfig.addInitParameter("ExpiresByType image/jpg", "A10000");
    filterConfig.addInitParameter("ExpiresByType video/mpeg", "M20000");
    filterConfig.addInitParameter("ExpiresActive", "Off");
    filterConfig.addInitParameter("ExpiresExcludedResponseStatusCodes", "304, 503");

    ExpiresFilter expiresFilter = new ExpiresFilter();
    expiresFilter.init(filterConfig);//  w w w .j  av a2 s  .c  om

    Assert.assertEquals(false, expiresFilter.isActive());

    // VERIFY EXCLUDED RESPONSE STATUS CODES
    {
        int[] excludedResponseStatusCodes = expiresFilter.getExcludedResponseStatusCodesAsInts();
        Assert.assertEquals(2, excludedResponseStatusCodes.length);
        Assert.assertEquals(304, excludedResponseStatusCodes[0]);
        Assert.assertEquals(503, excludedResponseStatusCodes[1]);
    }

    // VERIFY DEFAULT CONFIGURATION
    {
        ExpiresConfiguration expiresConfiguration = expiresFilter.getDefaultExpiresConfiguration();
        Assert.assertEquals(StartingPoint.ACCESS_TIME, expiresConfiguration.getStartingPoint());
        Assert.assertEquals(1, expiresConfiguration.getDurations().size());
        Assert.assertEquals(DurationUnit.MONTH, expiresConfiguration.getDurations().get(0).getUnit());
        Assert.assertEquals(1, expiresConfiguration.getDurations().get(0).getAmount());
    }

    // VERIFY TEXT/JAVASCRIPT
    {
        ExpiresConfiguration expiresConfiguration = expiresFilter.getExpiresConfigurationByContentType()
                .get("text/javascript");
        Assert.assertEquals(StartingPoint.ACCESS_TIME, expiresConfiguration.getStartingPoint());

        Assert.assertEquals(1, expiresConfiguration.getDurations().size());

        Duration oneYear = expiresConfiguration.getDurations().get(0);
        Assert.assertEquals(DurationUnit.YEAR, oneYear.getUnit());
        Assert.assertEquals(1, oneYear.getAmount());

    }
    // VERIFY TEXT/HTML
    {
        ExpiresConfiguration expiresConfiguration = expiresFilter.getExpiresConfigurationByContentType()
                .get("text/html");
        Assert.assertEquals(StartingPoint.ACCESS_TIME, expiresConfiguration.getStartingPoint());

        Assert.assertEquals(3, expiresConfiguration.getDurations().size());

        Duration oneMonth = expiresConfiguration.getDurations().get(0);
        Assert.assertEquals(DurationUnit.MONTH, oneMonth.getUnit());
        Assert.assertEquals(1, oneMonth.getAmount());

        Duration fifteenDays = expiresConfiguration.getDurations().get(1);
        Assert.assertEquals(DurationUnit.DAY, fifteenDays.getUnit());
        Assert.assertEquals(15, fifteenDays.getAmount());

        Duration twoHours = expiresConfiguration.getDurations().get(2);
        Assert.assertEquals(DurationUnit.HOUR, twoHours.getUnit());
        Assert.assertEquals(2, twoHours.getAmount());
    }
    // VERIFY IMAGE/GIF
    {
        ExpiresConfiguration expiresConfiguration = expiresFilter.getExpiresConfigurationByContentType()
                .get("image/gif");
        Assert.assertEquals(StartingPoint.LAST_MODIFICATION_TIME, expiresConfiguration.getStartingPoint());

        Assert.assertEquals(2, expiresConfiguration.getDurations().size());

        Duration fiveHours = expiresConfiguration.getDurations().get(0);
        Assert.assertEquals(DurationUnit.HOUR, fiveHours.getUnit());
        Assert.assertEquals(5, fiveHours.getAmount());

        Duration threeMinutes = expiresConfiguration.getDurations().get(1);
        Assert.assertEquals(DurationUnit.MINUTE, threeMinutes.getUnit());
        Assert.assertEquals(3, threeMinutes.getAmount());

    }
    // VERIFY IMAGE/JPG
    {
        ExpiresConfiguration expiresConfiguration = expiresFilter.getExpiresConfigurationByContentType()
                .get("image/jpg");
        Assert.assertEquals(StartingPoint.ACCESS_TIME, expiresConfiguration.getStartingPoint());

        Assert.assertEquals(1, expiresConfiguration.getDurations().size());

        Duration tenThousandSeconds = expiresConfiguration.getDurations().get(0);
        Assert.assertEquals(DurationUnit.SECOND, tenThousandSeconds.getUnit());
        Assert.assertEquals(10000, tenThousandSeconds.getAmount());

    }
    // VERIFY VIDEO/MPEG
    {
        ExpiresConfiguration expiresConfiguration = expiresFilter.getExpiresConfigurationByContentType()
                .get("video/mpeg");
        Assert.assertEquals(StartingPoint.LAST_MODIFICATION_TIME, expiresConfiguration.getStartingPoint());

        Assert.assertEquals(1, expiresConfiguration.getDurations().size());

        Duration twentyThousandSeconds = expiresConfiguration.getDurations().get(0);
        Assert.assertEquals(DurationUnit.SECOND, twentyThousandSeconds.getUnit());
        Assert.assertEquals(20000, twentyThousandSeconds.getAmount());
    }
}