/** * {@inheritDoc} */ @Override public void shutdown() { servletContainer.shutdown(); }
private Servlet getServlet(final ServletMapping servletMapping, final ServletConfigImpl servletConfig) { Servlet servlet; try { servlet = servletContainer.getServletForClass(servletMapping.getServletClass(), servletConfig); } catch (ServletInitializationException | ServletException e) { throw new UnexpectedSituationException(e); } return servlet; }
private List<Filter> getFilterMappingsForPath(final String path, final ServletContextImpl servletContext) throws FilterInitializationException, ServletException { FilterConfig filterConfig = new FilterConfigImpl(servletContext); List<Filter> filters = new ArrayList<>(); for (FilterMapping filterMapping : servletContextHelper.getFilterMappingsForPath(servletContext, path)) { filters.add(servletContainer.getFilterForClass(filterMapping.getFilterClass(), filterConfig)); } return filters; }
@Test(expected = UnexpectedSituationException.class) public void shouldWrapServletInitializationException() throws IOException, ServletException, ServletInitializationException { when(servletContainer.getServletForClass(any(Class.class), any(ServletConfig.class))) .thenThrow(new ServletInitializationException(new Exception())); servletResourceProvider.load("/", request, response); } }
@Before public void setUp() throws ServletException, ServletInitializationException { servletContainer = mock(ServletContainer.class); when(servletContainer.getServletForClass(any(Class.class), any(ServletConfig.class))). thenReturn(mock(Servlet.class)); servletContext = mock(ServletContextImpl.class); when(servletContext.getContextPath()).thenReturn("/"); ServletMapping servletMapping = new ServletMappingImpl(Pattern.compile("^.*$"), SampleServlet.class); when(servletContext.getServletMappings()).thenReturn(Arrays.asList(servletMapping)); when(servletContext.getFilterMappings()).thenReturn(Collections.<FilterMapping>emptyList()); servletResourceProvider = new ServletResourceProvider( servletContainer, Arrays.asList(servletContext) ); response = new HttpServletResponseImpl(mock( Serializer.class), mock(Serializer.class), mock(StreamHelper.class), mock(OutputStream.class)); request = mock(HttpServletRequestImpl.class); when(request.getServletContext()).thenReturn(servletContext); }