@Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { ((HttpServletRequest) request).getSession(); super.doFilter(request, response); } });
@Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; assertThat(httpRequest.isUserInRole("USER")).isTrue(); assertThat(httpRequest.isUserInRole("INVALID")).isFalse(); super.doFilter(request, response); }
@Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; assertThat(httpRequest.isUserInRole("USER")).isTrue(); assertThat(httpRequest.isUserInRole("INVALID")).isFalse(); super.doFilter(request, response); }
@Test(expected = IllegalArgumentException.class) public void doFilterNullRequest() throws Exception { MockFilterChain chain = new MockFilterChain(); chain.doFilter(null, this.response); }
@Test(expected = IllegalArgumentException.class) public void doFilterNullResponse() throws Exception { MockFilterChain chain = new MockFilterChain(); chain.doFilter(this.request, null); }
@Test public void doFilterEmptyChain() throws Exception { MockFilterChain chain = new MockFilterChain(); chain.doFilter(this.request, this.response); assertThat(chain.getRequest(), is(request)); assertThat(chain.getResponse(), is(response)); try { chain.doFilter(this.request, this.response); fail("Expected Exception"); } catch (IllegalStateException ex) { assertEquals("This FilterChain has already been called!", ex.getMessage()); } }
@Test public void doFilterWithServlet() throws Exception { Servlet servlet = mock(Servlet.class); MockFilterChain chain = new MockFilterChain(servlet); chain.doFilter(this.request, this.response); verify(servlet).service(this.request, this.response); try { chain.doFilter(this.request, this.response); fail("Expected Exception"); } catch (IllegalStateException ex) { assertEquals("This FilterChain has already been called!", ex.getMessage()); } }
@Test public void doFilterWithServletAndFilters() throws Exception { Servlet servlet = mock(Servlet.class); MockFilter filter2 = new MockFilter(servlet); MockFilter filter1 = new MockFilter(null); MockFilterChain chain = new MockFilterChain(servlet, filter1, filter2); chain.doFilter(this.request, this.response); assertTrue(filter1.invoked); assertTrue(filter2.invoked); verify(servlet).service(this.request, this.response); try { chain.doFilter(this.request, this.response); fail("Expected Exception"); } catch (IllegalStateException ex) { assertEquals("This FilterChain has already been called!", ex.getMessage()); } }
@Test public void testWidgetDeactivated() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", "/stagemonitor/spans"); request.addParameter("connectionId", ""); MockHttpServletResponse response = new MockHttpServletResponse(); Mockito.when(servletPlugin.isWidgetAndStagemonitorEndpointsAllowed(eq(request))).thenReturn(Boolean.FALSE); ConfigurationRegistry configuration = mock(ConfigurationRegistry.class); when(configuration.getConfig(ServletPlugin.class)).thenReturn(servletPlugin); new MockFilterChain(spanServlet, new StagemonitorSecurityFilter(configuration)).doFilter(request, response); Assert.assertEquals(404, response.getStatus()); } }
chain.doFilter(request, response);
chain.doFilter(request, response);
filterChain.doFilter(request, servletResponse);
@Test public void doFilterWithRedirect() throws Exception { device.setDeviceType(DeviceType.MOBILE); Servlet servlet = createMock(Servlet.class); replay(servlet); MockFilter otherFilter = new MockFilter(servlet); MockFilterChain chain = new MockFilterChain(servlet, siteSwitcher, otherFilter); chain.doFilter(this.request, this.response); assertEquals("http://m.app.com", response.getRedirectedUrl()); assertFalse(otherFilter.invoked); verify(servlet); }
@Test public void doFilterWithoutRedirect() throws Exception { device.setDeviceType(DeviceType.NORMAL); Servlet servlet = createMock(Servlet.class); servlet.service(this.request, this.response); replay(servlet); MockFilter otherFilter = new MockFilter(servlet); MockFilterChain chain = new MockFilterChain(servlet, siteSwitcher, otherFilter); chain.doFilter(this.request, this.response); assertNull(response.getRedirectedUrl()); assertTrue(otherFilter.invoked); verify(servlet); }
filterChain.doFilter(request, response);
filterChain.doFilter(request, servletResponse);