/** * Tests that a thrown exception will call the onAcquireFail hook. * * @throws SQLException */ @Test public void testConstructorFail() throws SQLException { BoneCPConfig mockConfig = createNiceMock(BoneCPConfig.class); ConnectionHook mockConnectionHook = createNiceMock(CoverageHook.class); expect(mockPool.getConfig()).andReturn(mockConfig).anyTimes(); expect(mockConfig.getConnectionHook()).andReturn(mockConnectionHook).once(); expect( mockConnectionHook.onAcquireFail( (Throwable) anyObject(), (AcquireFailConfig) anyObject())) .andReturn(false) .once(); replay(mockPool, mockConfig, mockConnectionHook); try { new ConnectionHandle("", "", "", mockPool); fail("Should throw an exception"); } catch (Throwable t) { // do nothing. } verify(mockPool, mockConfig, mockPool); }