List of usage examples for org.springframework.mock.web MockFilterConfig addInitParameter
public void addInitParameter(String name, String value)
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()); } }