@Test public void testRetrieveSameOutputStream() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", "http://www.geoserver.org"); request.addHeader("accept-encoding", "gzip"); MockHttpServletResponse response = new MockHttpServletResponse(); response.setContentType("text/plain"); // run the filter GZIPFilter filter = new GZIPFilter(); MockServletContext context = new MockServletContext(); MockFilterConfig config = new MockFilterConfig(context); config.addInitParameter("compressed-types", "text/plain"); filter.init(config); MockFilterChain chain = new MockFilterChain() { @Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { AlternativesResponseStream alternatives = (AlternativesResponseStream) response.getOutputStream(); GZIPResponseStream gzipStream = (GZIPResponseStream) alternatives.getStream(); assertThat( gzipStream.delegateStream, CoreMatchers.instanceOf(DelegatingServletOutputStream.class)); } }; filter.doFilter(request, response, chain); }
@Test public void testGZipRemovesContentLength() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", "http://www.geoserver.org"); request.addHeader("accept-encoding", "gzip"); MockHttpServletResponse response = new MockHttpServletResponse(); response.setContentType("text/plain"); // run the filter GZIPFilter filter = new GZIPFilter(); MockServletContext context = new MockServletContext(); MockFilterConfig config = new MockFilterConfig(context); config.addInitParameter("compressed-types", "text/plain"); filter.init(config); MockFilterChain chain = new MockFilterChain() { @Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { response.setContentLength(1000); AlternativesResponseStream alternatives = (AlternativesResponseStream) response.getOutputStream(); ServletOutputStream gzipStream = alternatives.getStream(); gzipStream.write(1); } }; filter.doFilter(request, response, chain); assertFalse(response.containsHeader("Content-Length")); }
config.addInitParameter("compressed-types", "text/plain"); filter.init(config);
protected void setupFilter() throws ServletException { MockFilterConfig config = new MockFilterConfig(); config.addInitParameter(ProcessEngineAuthenticationFilter.AUTHENTICATION_PROVIDER_PARAM, HttpBasicAuthenticationProvider.class.getName()); authenticationFilter = new ProcessEngineAuthenticationFilter(); authenticationFilter.init(config); }
private void replaceFilterWithPrefixConfiguredFilter() throws ServletException { this.filter = new AuthenticationFilter(); final MockFilterConfig config = new MockFilterConfig(); config.addInitParameter("casServerUrlPrefix", CAS_PREFIX); config.addInitParameter("service", CAS_SERVICE_URL); this.filter.init(config); }
public void testGetTicketValidator() throws Exception { Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter(); // Test case #1 final MockFilterConfig config1 = new MockFilterConfig(); config1.addInitParameter("allowedProxyChains", "https://a.example.com"); config1.addInitParameter("casServerUrlPrefix", "https://cas.jasig.org/"); config1.addInitParameter("service", "http://www.jasig.org"); filter.init(config1); assertNotNull(filter.getTicketValidator(config1)); }
@Test public void getTicketValidatorWithProxyChains() throws Exception { Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter(); // Test case #2 final MockFilterConfig config2 = new MockFilterConfig(); config2.addInitParameter("allowedProxyChains", "https://a.example.com https://b.example.com"); config2.addInitParameter("casServerUrlPrefix", "https://cas.jasig.org/"); config2.addInitParameter("service", "http://www.jasig.org"); filter.init(config2); assertNotNull(filter.getTicketValidator(config2)); }
@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); }
@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); assertNotNull(filter.getTicketValidator(config3)); }
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 { f.init(config); fail("Should have thrown IllegalArgumentException."); } catch (final IllegalArgumentException e) { assertTrue(e.getMessage().contains("Renew MUST")); } }
@Test public void filterConfigValueForBoolean() { final ConfigurationKey<Boolean> key = ConfigurationKeys.ACCEPT_ANY_PROXY; final Boolean value = Boolean.TRUE; this.filterConfig.addInitParameter(key.getName(), value.toString()); assertEquals(value, this.impl.getBoolean(key)); }
@Test public void filterConfigValueForLong() { final ConfigurationKey<Long> key = ConfigurationKeys.TOLERANCE; final long value = 1500; this.filterConfig.addInitParameter(key.getName(), Long.toString(value)); assertEquals(value, this.impl.getLong(key)); }
@Test public void filterConfigValueForInt() { final ConfigurationKey<Integer> key = ConfigurationKeys.MILLIS_BETWEEN_CLEAN_UPS; final int value = 1500; this.filterConfig.addInitParameter(key.getName(), Integer.toString(value)); assertEquals(value, this.impl.getInt(key)); }
@Before public void setUp() throws Exception { this.errorRedirectFilter = new ErrorRedirectFilter(); final MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter(IllegalStateException.class.getName(), REDIRECT_URL); this.errorRedirectFilter.init(filterConfig); this.filterChain = new MockFilterChain(); }
@Test public void filterConfigValueForString() { final ConfigurationKey<String> key = ConfigurationKeys.ARTIFACT_PARAMETER_NAME; final String value = "foobar"; this.filterConfig.addInitParameter(key.getName(), value); assertEquals(value, this.impl.getString(key)); }
@Test public void urlPathNormalDeviceNoPreference() throws Exception { device.setDeviceType(DeviceType.NORMAL); SiteSwitcherRequestFilter urlPath = new SiteSwitcherRequestFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter("switcherMode", "urlPath"); filterConfig.addInitParameter("mobilePath", "/mob"); urlPath.init(filterConfig); urlPath.doFilter(request, response, filterChain); assertEquals(0, response.getCookies().length); assertNull(response.getRedirectedUrl()); }
@Test public void urlPathMobileDeviceNoPreference() throws Exception { device.setDeviceType(DeviceType.MOBILE); SiteSwitcherRequestFilter urlPath = new SiteSwitcherRequestFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter("switcherMode", "urlPath"); filterConfig.addInitParameter("mobilePath", "/mob"); urlPath.init(filterConfig); urlPath.doFilter(request, response, filterChain); assertEquals(0, response.getCookies().length); assertEquals("http://" + request.getServerName() + "/mob", response.getRedirectedUrl()); }
@Test public void urlPathTabletDeviceNoPreference() throws Exception { device.setDeviceType(DeviceType.TABLET); SiteSwitcherRequestFilter urlPath = new SiteSwitcherRequestFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter("switcherMode", "urlPath"); filterConfig.addInitParameter("tabletPath", "/tab"); urlPath.init(filterConfig); urlPath.doFilter(request, response, filterChain); assertEquals(0, response.getCookies().length); assertEquals("http://" + request.getServerName() + "/tab", response.getRedirectedUrl()); }
@Test(expected = ServletException.class) public void missingServerNameInitParameter() throws Exception { SiteSwitcherRequestFilter filter = new SiteSwitcherRequestFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter("switcherMode", "mDot"); try { filter.init(filterConfig); } catch (ServletException ex) { assertEquals("serverName init parameter not found", ex.getLocalizedMessage()); throw ex; } }
private void urlPathDeviceNoPreferenceNoConfig(DeviceType deviceType) throws Exception { device.setDeviceType(deviceType); SiteSwitcherRequestFilter urlPath = new SiteSwitcherRequestFilter(); MockFilterConfig filterConfig = new MockFilterConfig(); filterConfig.addInitParameter("switcherMode", "urlPath"); urlPath.init(filterConfig); urlPath.doFilter(request, response, filterChain); assertEquals(0, response.getCookies().length); assertNull(response.getRedirectedUrl()); }