public NinjaServletFilter() { this.wrapped = new GuiceFilter(); }
@Provides @Singleton @ScopingOnly GuiceFilter provideScopingOnlyGuiceFilter() { return new GuiceFilter(new DefaultFilterPipeline()); }
public final void testServletInNonSingletonScopeThrowsServletException() { GuiceFilter guiceFilter = new GuiceFilter(); Guice.createInjector( new ServletModule() { @Override protected void configureServlets() { serve("/*").with(MyNonSingletonServlet.class); } }); ServletException se = null; try { guiceFilter.init(createMock(FilterConfig.class)); } catch (ServletException e) { se = e; } finally { assertNotNull("Servlet exception was not thrown with wrong scope binding", se); } }
public final void testFilterInNonSingletonScopeThrowsServletException() { GuiceFilter guiceFilter = new GuiceFilter(); Guice.createInjector( new ServletModule() { @Override protected void configureServlets() { filter("/*").through(MyNonSingletonFilter.class); } }); ServletException se = null; try { guiceFilter.init(createMock(FilterConfig.class)); } catch (ServletException e) { se = e; } finally { assertNotNull("Servlet exception was not thrown with wrong scope binding", se); } }
public void testForwardUsingRequestDispatcher() throws IOException, ServletException { Guice.createInjector( new ServletModule() { @Override protected void configureServlets() { serve("/").with(ForwardingServlet.class); serve("/blah.jsp").with(ForwardedServlet.class); } }); final HttpServletRequest requestMock = createMock(HttpServletRequest.class); HttpServletResponse responseMock = createMock(HttpServletResponse.class); expect(requestMock.getRequestURI()).andReturn("/").anyTimes(); expect(requestMock.getContextPath()).andReturn("").anyTimes(); requestMock.setAttribute(REQUEST_DISPATCHER_REQUEST, true); expect(requestMock.getAttribute(REQUEST_DISPATCHER_REQUEST)).andReturn(true); requestMock.removeAttribute(REQUEST_DISPATCHER_REQUEST); expect(responseMock.isCommitted()).andReturn(false); responseMock.resetBuffer(); replay(requestMock, responseMock); new GuiceFilter().doFilter(requestMock, responseMock, createMock(FilterChain.class)); assertEquals("Incorrect number of forwards", 1, ForwardedServlet.forwardedTo); verify(requestMock, responseMock); }
public final void testHappyCaseFilter() { GuiceFilter guiceFilter = new GuiceFilter(); Guice.createInjector( new ServletModule() { @Override protected void configureServlets() { // Annotated scoping variant. filter("/*").through(MySingletonFilter.class); // Explicit scoping variant. bind(DummyFilterImpl.class).in(Scopes.SINGLETON); filter("/*").through(DummyFilterImpl.class); } }); ServletException se = null; try { guiceFilter.init(createMock(FilterConfig.class)); } catch (ServletException e) { se = e; } finally { assertNull("Servlet exception was thrown with correct scope binding", se); } }
public final void testDispatchThruGuiceFilter() throws ServletException, IOException { //create mocks FilterConfig filterConfig = createMock(FilterConfig.class); ServletContext servletContext = createMock(ServletContext.class); HttpServletRequest request = createMock(HttpServletRequest.class); FilterChain proceedingFilterChain = createMock(FilterChain.class); //begin mock script *** expect(filterConfig.getServletContext()).andReturn(servletContext).once(); expect(request.getRequestURI()).andReturn("/public/login.jsp").anyTimes(); expect(request.getContextPath()).andReturn("").anyTimes(); //at the end, proceed down webapp's normal filter chain proceedingFilterChain.doFilter(isA(HttpServletRequest.class), (ServletResponse) isNull()); expectLastCall().once(); //run mock script *** replay(filterConfig, servletContext, request, proceedingFilterChain); final GuiceFilter webFilter = new GuiceFilter(); webFilter.init(filterConfig); webFilter.doFilter(request, null, proceedingFilterChain); webFilter.destroy(); //assert expectations verify(filterConfig, servletContext, request, proceedingFilterChain); }
public void testNewRequestObject() throws CreationException, IOException, ServletException { final Injector injector = createInjector(); final HttpServletRequest request = newFakeHttpServletRequest(); GuiceFilter filter = new GuiceFilter(); final boolean[] invoked = new boolean[1]; FilterChain filterChain = new FilterChain() { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { invoked[0] = true; assertNotNull(injector.getInstance(InRequest.class)); assertNull(injector.getInstance(IN_REQUEST_NULL_KEY)); } }; filter.doFilter(request, null, filterChain); assertTrue(invoked[0]); }
guiceFilter = new GuiceFilter(); guiceFilter.init(filterConfig);
public void testExistingRequestObject() throws CreationException, IOException, ServletException { final Injector injector = createInjector(); final HttpServletRequest request = newFakeHttpServletRequest(); GuiceFilter filter = new GuiceFilter(); final boolean[] invoked = new boolean[1]; FilterChain filterChain = new FilterChain() { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { invoked[0] = true; InRequest inRequest = injector.getInstance(InRequest.class); assertSame(inRequest, injector.getInstance(InRequest.class)); assertNull(injector.getInstance(IN_REQUEST_NULL_KEY)); assertNull(injector.getInstance(IN_REQUEST_NULL_KEY)); } }; filter.doFilter(request, null, filterChain); assertTrue(invoked[0]); }
public void testNewSessionObject() throws CreationException, IOException, ServletException { final Injector injector = createInjector(); final HttpServletRequest request = newFakeHttpServletRequest(); GuiceFilter filter = new GuiceFilter(); final boolean[] invoked = new boolean[1]; FilterChain filterChain = new FilterChain() { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { invoked[0] = true; assertNotNull(injector.getInstance(InSession.class)); assertNull(injector.getInstance(IN_SESSION_NULL_KEY)); } }; filter.doFilter(request, null, filterChain); assertTrue(invoked[0]); }
public void testExistingSessionObject() throws CreationException, IOException, ServletException { final Injector injector = createInjector(); final HttpServletRequest request = newFakeHttpServletRequest(); GuiceFilter filter = new GuiceFilter(); final boolean[] invoked = new boolean[1]; FilterChain filterChain = new FilterChain() { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { invoked[0] = true; InSession inSession = injector.getInstance(InSession.class); assertSame(inSession, injector.getInstance(InSession.class)); assertNull(injector.getInstance(IN_SESSION_NULL_KEY)); assertNull(injector.getInstance(IN_SESSION_NULL_KEY)); } }; filter.doFilter(request, null, filterChain); assertTrue(invoked[0]); }
public void testHttpSessionIsSerializable() throws Exception { final Injector injector = createInjector(); final HttpServletRequest request = newFakeHttpServletRequest(); final HttpSession session = request.getSession(); GuiceFilter filter = new GuiceFilter(); final boolean[] invoked = new boolean[1]; FilterChain filterChain = new FilterChain() { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { invoked[0] = true; assertNotNull(injector.getInstance(InSession.class)); assertNull(injector.getInstance(IN_SESSION_NULL_KEY)); } }; filter.doFilter(request, null, filterChain); assertTrue(invoked[0]); HttpSession deserializedSession = reserialize(session); String inSessionKey = IN_SESSION_KEY.toString(); String inSessionNullKey = IN_SESSION_NULL_KEY.toString(); assertTrue(deserializedSession.getAttribute(inSessionKey) instanceof InSession); assertEquals(NullObject.INSTANCE, deserializedSession.getAttribute(inSessionNullKey)); }
new GuiceFilter().doFilter(request, null, filterChain); fail(); } catch (RuntimeException e) {
public void testRequestAndResponseBindings() throws Exception { final Injector injector = createInjector(); final HttpServletRequest request = newFakeHttpServletRequest(); final HttpServletResponse response = newFakeHttpServletResponse(); final boolean[] invoked = new boolean[1]; GuiceFilter filter = new GuiceFilter(); FilterChain filterChain = new FilterChain() { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) { invoked[0] = true; assertSame(request, servletRequest); assertSame(request, injector.getInstance(ServletRequest.class)); assertSame(request, injector.getInstance(HTTP_REQ_KEY)); assertSame(response, servletResponse); assertSame(response, injector.getInstance(ServletResponse.class)); assertSame(response, injector.getInstance(HTTP_RESP_KEY)); assertSame(servletRequest.getParameterMap(), injector.getInstance(REQ_PARAMS_KEY)); } }; filter.doFilter(request, response, filterChain); assertTrue(invoked[0]); }
GuiceFilter filter = new GuiceFilter(); final boolean[] chainInvoked = new boolean[1]; FilterChain filterChain =
GuiceFilter filter = new GuiceFilter(); filter.doFilter( newFakeHttpServletRequest(),
@Provides @Singleton @ScopingOnly GuiceFilter provideScopingOnlyGuiceFilter() { return new GuiceFilter(new DefaultFilterPipeline()); }
@Override protected void configureServlets() { final GuiceFilter guiceFilter = new GuiceFilter(); environment.servlets().addFilter(GUICE_FILTER, guiceFilter) .addMappingForUrlPatterns(dispatcherTypes, false, ROOT_PATH); environment.admin().addFilter(GUICE_FILTER, new AdminGuiceFilter(guiceFilter)) .addMappingForUrlPatterns(dispatcherTypes, false, ROOT_PATH); } }
@Override protected void configureServlets() { final GuiceFilter guiceFilter = new GuiceFilter(); environment.servlets().addFilter(GUICE_FILTER, guiceFilter) .addMappingForUrlPatterns(dispatcherTypes, false, ROOT_PATH); environment.admin().addFilter(GUICE_FILTER, new AdminGuiceFilter(guiceFilter)) .addMappingForUrlPatterns(dispatcherTypes, false, ROOT_PATH); } }