@Test(expected = ServletInitializationException.class) public void shouldThrowException() throws ServletException, ServletInitializationException { servletContainer.getServletForClass(InvalidServletWithPrivateConstructor.class, servletConfig); }
@Test public void shouldInitializeServlet() throws ServletException, ServletInitializationException { SampleServlet servlet = (SampleServlet) servletContainer.getServletForClass(SampleServlet.class, servletConfig); assertThat(servlet, is(not(nullValue()))); assertThat(servlet.getInitializedCounter(), is(equalTo(1))); assertThat(servlet.getServletConfig(), is(equalTo(servletConfig))); }
@Test public void shouldDestroyOutdatedServlet() throws ServletException, ServletInitializationException, InterruptedException { servletContainer = new ServletContainerImpl(new DateProvider(), 50, 50); SampleServlet servlet = (SampleServlet) servletContainer.getServletForClass(SampleServlet.class, servletConfig); assertThat(servlet, is(not(nullValue()))); Thread.sleep(200); SampleServlet servlet2 = (SampleServlet) servletContainer.getServletForClass(SampleServlet.class, servletConfig); assertThat(servlet, is(not(nullValue()))); assertThat(servlet == servlet2, is(false)); }
@Test public void shouldReturnServletFromPool() throws ServletException, ServletInitializationException { SampleServlet servlet = (SampleServlet) servletContainer.getServletForClass(SampleServlet.class, servletConfig); assertThat(servlet, is(not(nullValue()))); assertThat(servlet.getInitializedCounter(), is(equalTo(1))); assertThat(servlet.getServletConfig(), is(equalTo(servletConfig))); assertThat(servletContainer.getServletStats().size(), is(1)); SampleServlet servlet2 = (SampleServlet) servletContainer.getServletForClass(SampleServlet.class, servletConfig); assertThat(servlet2, is(servlet)); assertThat(servlet2.getInitializedCounter(), is(equalTo(1))); assertThat(servletContainer.getServletStats().size(), is(1)); assertThat(servlet2.getDestroyedCounter(), is(equalTo(0))); }
@Test public void shouldShutdownProperly() throws ServletException, ServletInitializationException { SampleServlet servlet = (SampleServlet) servletContainer.getServletForClass(SampleServlet.class, servletConfig); assertThat(servletContainer.getServletStats().size(), is(1)); servletContainer.shutdown(); assertThat(servletContainer.getServletStats().size(), is(0)); assertThat(servlet.getDestroyedCounter(), is(equalTo(1))); }