/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.core.web; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Test; import org.junit.Before; import static org.easymock.EasyMock.*; public class OptionalFilterTest { private FilterConfig filterConfig; private HttpServletRequest request; private HttpServletResponse response; private FilterChain filterChain; @Before public final void setUp() throws Exception { // Mocks the filter config. filterConfig = createMock(FilterConfig.class); replay(filterConfig); // Mocks the servlet request. request = createNiceMock(HttpServletRequest.class); replay(request); // Mocks the servlet response. response = createNiceMock(HttpServletResponse.class); replay(response); // Mocks the filter chain. filterChain = createNiceMock(FilterChain.class); replay(filterChain); } @Test public final void testInit_enabled() throws Exception { Filter target = createMock(Filter.class); target.init(filterConfig); replay(target); OptionalFilter optionalFilter = new OptionalFilter(target, true); optionalFilter.init(filterConfig); verify(target); } @Test public final void testInit_disabled() throws Exception { Filter target = createMock(Filter.class); replay(target); OptionalFilter optionalFilter = new OptionalFilter(target, false); optionalFilter.init(filterConfig); verify(target); } @Test public final void testDoFilter_enabled() throws Exception { Filter target = createMock(Filter.class); target.doFilter(request, response, filterChain); replay(target); OptionalFilter optionalFilter = new OptionalFilter(target, true); optionalFilter.doFilter(request, response, filterChain); verify(target); } @Test public final void testDoFilter_disabled() throws Exception { Filter target = createMock(Filter.class); replay(target); OptionalFilter optionalFilter = new OptionalFilter(target, false); optionalFilter.doFilter(request, response, filterChain); verify(target); } @Test public final void testDestroy_enabled() throws Exception { Filter target = createMock(Filter.class); target.destroy(); replay(target); OptionalFilter optionalFilter = new OptionalFilter(target, true); optionalFilter.destroy(); verify(target); } @Test public final void testDestroy_disabled() throws Exception { Filter target = createMock(Filter.class); replay(target); OptionalFilter optionalFilter = new OptionalFilter(target, false); optionalFilter.destroy(); verify(target); } }