@Test
public void testGetConnectionWithNullReturn()
throws NoSuchFieldException, IllegalAccessException,
InterruptedException {

	reset(mockPartition, mockConnectionHandles, mockConnection);
	expect(mockPartition.getMaxConnections()).andReturn(100).anyTimes();
	expect(mockPartition.getFreeConnections()).andReturn(mockConnectionHandles).anyTimes();
	expect(mockConnectionHandles.poll(Long.MAX_VALUE, TimeUnit.MILLISECONDS)).andReturn(null).once();
	BlockingQueue<Object> bq = new ArrayBlockingQueue<Object>(1);
	bq.add(new Object());
	testClass.nullOnConnectionTimeout = true;
	expect(mockPartition.getPoolWatchThreadSignalQueue()).andReturn(bq);
	replay(mockPartition, mockConnectionHandles, mockConnection);
	try{ 
		assertNull(testClass.getConnection());
	} catch (SQLException e){
		fail("Should have throw an SQL Exception");
		// do nothing
	}
	verify(mockPartition, mockConnectionHandles, mockConnection);
}