def test_new_connections_used(get_connection): pool = ConnectionPool(get_connection, initial_connections=0) o = pool.get_connection() o1 = pool.get_connection() assert o1 != o
def test_connections_recycled(get_connection): pool = ConnectionPool(get_connection, initial_connections=0) o = pool.get_connection() pool.release_connection(o) o1 = pool.get_connection() o2 = pool.get_connection() assert o1 == o assert o1 != o2
def test_connections_get_recycled(get_connection): pool = ConnectionPool(get_connection, initial_connections=1, max_connections=1, recycle=3600) conn = pool.get_connection() pool.release_connection(conn) conn2 = pool.get_connection() pool.release_connection(conn2) assert conn == conn2 with patch.object(conn2, 'is_stale', return_value=True): conn3 = pool.get_connection() assert conn3 != conn assert conn3 != conn2
def test_max_connections_raises(get_connection): pool = ConnectionPool( get_connection, initial_connections=0, max_connections=2) pool.get_connection() pool.get_connection() with pytest.raises(ClientUnavailableError): pool.get_connection(next_timeout=0)
def test_connections_get_recycled(get_connection): pool = ConnectionPool( get_connection, initial_connections=1, max_connections=1, recycle=3600 ) conn = pool.get_connection() pool.release_connection(conn) conn2 = pool.get_connection() pool.release_connection(conn2) assert conn == conn2 with patch.object(conn2, 'is_stale', return_value=True): conn3 = pool.get_connection() assert conn3 != conn assert conn3 != conn2
def test_creates_initial_connections(get_connection): pool = ConnectionPool(get_connection, initial_connections=2) assert get_connection.call_count == 2