package ro.isdc.wro.extensions.http.handler.spi; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.mockito.MockitoAnnotations.initMocks; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.mockito.Mock; import ro.isdc.wro.config.Context; import ro.isdc.wro.http.handler.RequestHandler; import ro.isdc.wro.model.group.processor.Injector; import ro.isdc.wro.util.WroTestUtils; /** * @author Alex Objelean */ public class TestDefaultRequestHandlerProvider { @Mock private HttpServletRequest mockRequest; private DefaultRequestHandlerProvider victim; private Injector injector; @BeforeClass public static void onBeforeClass() { assertEquals(0, Context.countActive()); } @AfterClass public static void onAfterClass() { assertEquals(0, Context.countActive()); } @Before public void setUp() { initMocks(this); Context.set(Context.standaloneContext()); injector = WroTestUtils.createInjector(); victim = new DefaultRequestHandlerProvider(); injector.inject(victim); } @After public void tearDown() { Context.unset(); } @Test public void shoudProvideAtLeastOneRequestHandler() { final Map<String, RequestHandler> map = victim.provideRequestHandlers(); assertFalse(map.isEmpty()); } @Test public void shouldNotFailWhenEachHandlerIsInvoked() { final Map<String, RequestHandler> map = victim.provideRequestHandlers(); for (final RequestHandler handler : map.values()) { injector.inject(handler); handler.accept(mockRequest); handler.isEnabled(); } } }