package org.jooby.internal.quartz; import static org.easymock.EasyMock.expect; import java.sql.Connection; import javax.sql.DataSource; import org.jooby.test.MockUnit; import org.junit.Test; import com.google.inject.Provider; public class QuartzConnectionProviderTest { @Test(expected = NullPointerException.class) public void shouldFailOnNullProvider() { new QuartzConnectionProvider(null); } @SuppressWarnings({"rawtypes", "unchecked" }) @Test public void shouldAcquireConnection() throws Exception { new MockUnit(Provider.class, DataSource.class) .expect(unit -> { DataSource ds = unit.get(DataSource.class); expect(ds.getConnection()).andReturn(unit.mock(Connection.class)); Provider provider = unit.get(Provider.class); expect(provider.get()).andReturn(ds); }) .run(unit -> { new QuartzConnectionProvider(unit.get(Provider.class)).getConnection(); }); } @SuppressWarnings({"rawtypes", "unchecked" }) @Test public void shouldInitializeConnection() throws Exception { new MockUnit(Provider.class, DataSource.class) .expect(unit -> { DataSource ds = unit.get(DataSource.class); Provider provider = unit.get(Provider.class); expect(provider.get()).andReturn(ds); }) .run(unit -> { new QuartzConnectionProvider(unit.get(Provider.class)).initialize(); }); } @SuppressWarnings({"unchecked" }) @Test public void shouldDoNothingOnShutdown() throws Exception { new MockUnit(Provider.class) .run(unit -> { new QuartzConnectionProvider(unit.get(Provider.class)).shutdown(); }); } }