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); }
guiceFilter.doFilter(request, null, filterChain);
guiceFilter.doFilter(request, null, filterChain);
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 testSimple() throws Exception { IMocksControl testControl = createControl(); TestFilterChain testFilterChain = new TestFilterChain(); HttpServletRequest req = testControl.createMock(HttpServletRequest.class); HttpServletResponse res = testControl.createMock(HttpServletResponse.class); expect(req.getMethod()).andReturn("GET").anyTimes(); expect(req.getRequestURI()).andReturn("/bar/foo").anyTimes(); expect(req.getServletPath()).andReturn("/bar/foo").anyTimes(); expect(req.getContextPath()).andReturn("").anyTimes(); testControl.replay(); guiceFilter.doFilter(req, res, testFilterChain); assertFalse(testFilterChain.isTriggered()); assertFalse(fooServlet.isTriggered()); assertTrue(barServlet.isTriggered()); testControl.verify(); }
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { super.doFilter(servletRequest, servletResponse, filterChain); } }
new GuiceFilter().doFilter(request, null, filterChain); fail(); } catch (RuntimeException e) { injector.getInstance(GuiceFilter.class).doFilter(request, null, filterChain); fail(); } catch (RuntimeException e) { injector .getInstance(Key.get(GuiceFilter.class, ScopingOnly.class)) .doFilter(request, null, filterChain); fail(); } catch (RuntimeException e) {
@Override public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException { filter.doFilter(request, response, chain); }
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]); }
private void runTest( final String requestURI, final String servletPath, final String contextPath, final boolean filterResult, final boolean fooResult, final boolean barResult) throws Exception { IMocksControl testControl = createControl(); barServlet.clear(); fooServlet.clear(); TestFilterChain testFilterChain = new TestFilterChain(); HttpServletRequest req = testControl.createMock(HttpServletRequest.class); HttpServletResponse res = testControl.createMock(HttpServletResponse.class); expect(req.getMethod()).andReturn("GET").anyTimes(); expect(req.getRequestURI()).andReturn(requestURI).anyTimes(); expect(req.getServletPath()).andReturn(servletPath).anyTimes(); expect(req.getContextPath()).andReturn(contextPath).anyTimes(); testControl.replay(); guiceFilter.doFilter(req, res, testFilterChain); assertEquals(filterResult, testFilterChain.isTriggered()); assertEquals(fooResult, fooServlet.isTriggered()); assertEquals(barResult, barServlet.isTriggered()); testControl.verify(); }
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 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 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)); }
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]); }
filter.doFilter(request, response, filterChain);
filter.doFilter( newFakeHttpServletRequest(), newFakeHttpServletResponse(),
@Test public void testLoggingFromContext() throws Exception { Assert.assertThat(trackingTokenProvider.get().getValue(), is(nullValue())); req.setAttribute(TrackingFilter.X_NESS_TRACK, value); guiceFilter.doFilter(req, res, new FilterChain() { @Override public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException { } }); Assert.assertThat(trackingTokenProvider.get().getValue(), is(nullValue())); }