package io.dropwizard.jetty; import org.eclipse.jetty.server.Request; import org.junit.Test; import org.mockito.InOrder; import javax.servlet.Servlet; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; public class NonblockingServletHolderTest { private final Servlet servlet = mock(Servlet.class); private final NonblockingServletHolder holder = new NonblockingServletHolder(servlet); private final Request baseRequest = mock(Request.class); private final ServletRequest request = mock(ServletRequest.class); private final ServletResponse response = mock(ServletResponse.class); @Test public void hasAServlet() throws Exception { assertThat(holder.getServlet()) .isEqualTo(servlet); } @Test public void servicesRequests() throws Exception { holder.handle(baseRequest, request, response); verify(servlet).service(request, response); } @Test public void temporarilyDisablesAsyncRequestsIfDisabled() throws Exception { holder.setAsyncSupported(false); holder.handle(baseRequest, request, response); final InOrder inOrder = inOrder(baseRequest, servlet); inOrder.verify(baseRequest).setAsyncSupported(false, null); inOrder.verify(servlet).service(request, response); } @Test public void isEagerlyInitialized() throws Exception { assertThat(holder.getInitOrder()) .isEqualTo(1); } }