package com.getsentry.raven.servlet;
import mockit.Injectable;
import mockit.Tested;
import mockit.Verifications;
import org.testng.annotations.Test;
import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
import java.util.ServiceLoader;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.instanceOf;
public class RavenServletContainerInitializerTest {
@Tested
private RavenServletContainerInitializer ravenServletContainerInitializer = null;
@Test
public void testInitializerInjectedViaServiceLoader() throws Exception {
ServiceLoader<ServletContainerInitializer> serviceLoader = ServiceLoader.load(ServletContainerInitializer.class);
assertThat(serviceLoader, contains(instanceOf(RavenServletContainerInitializer.class)));
}
@Test
public void testFilterAddedToServletContext(@Injectable final ServletContext mockServletContext) throws Exception {
ravenServletContainerInitializer.onStartup(null, mockServletContext);
new Verifications() {{
mockServletContext.addListener(RavenServletRequestListener.class);
}};
}
}