Beispiel #1
0
 def test_no_connection_available_by_timeout(self):
     mock_conn = Mock()
     create_func = Mock(return_value=mock_conn)
     pool = DBConnectionPool(create_func, min_size=1, max_size=1)
     with pool.acquire() as _:
         with self.assertRaises(PoolTimeout):
             with pool.acquire(timeout=0.1) as _:
                 pass
Beispiel #2
0
 def test_connection_returned_if_on_release_fails(self):
     mock_conn = Mock()
     create_func = Mock(return_value=mock_conn)
     pool = DBConnectionPool(create_func, min_size=1, max_size=1)
     pool.on_release = Mock(side_effect=RuntimeError)
     with pool.acquire() as _:
         pass
     self.assertEqual(pool._pool.get_nowait(), mock_conn)
Beispiel #3
0
 def test_acquire_calls_on_acquire(self):
     mock_conn = Mock()
     create_func = Mock(return_value=mock_conn)
     pool = DBConnectionPool(create_func, min_size=1, max_size=1)
     pool.on_acquire = Mock()
     with pool.acquire() as conn:
         self.assertEqual(conn, mock_conn)
     pool.on_acquire.assert_called_with(mock_conn)
Beispiel #4
0
 def test_acquire_fails_if_on_acquire_fails(self):
     mock_conn = Mock()
     create_func = Mock(return_value=mock_conn)
     pool = DBConnectionPool(create_func, min_size=1, max_size=1)
     pool.on_acquire = Mock(side_effect=RuntimeError)
     pool.on_return = Mock()
     with self.assertRaises(RuntimeError):
         with pool.acquire() as conn:
             pass
     pool.on_return.assert_called_with(mock_conn)
Beispiel #5
0
 def test_acquire_fails_if_pool_closed(self):
     pool = DBConnectionPool(Mock())
     pool.close()
     with self.assertRaises(RuntimeError):
         with pool.acquire() as p:
             pass