From: Daniele Varrazzo Date: Thu, 21 May 2020 06:03:36 +0000 (+1200) Subject: Test what happens if a connection is broken X-Git-Tag: 3.0.dev0~508 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2120bf87c24ca7b89a69637a3b72b7735e315700;p=thirdparty%2Fpsycopg.git Test what happens if a connection is broken --- diff --git a/tests/test_async_connection.py b/tests/test_async_connection.py index 5fb596c5b..0e0455bf4 100644 --- a/tests/test_async_connection.py +++ b/tests/test_async_connection.py @@ -206,3 +206,12 @@ def test_connect_badargs(monkeypatch, pgconn, loop, args, kwargs): loop.run_until_complete( psycopg3.AsyncConnection.connect(*args, **kwargs) ) + + +def test_broken_connection(aconn, loop): + cur = aconn.cursor() + with pytest.raises(psycopg3.DatabaseError): + loop.run_until_complete( + cur.execute("select pg_terminate_backend(pg_backend_pid())") + ) + assert aconn.closed diff --git a/tests/test_connection.py b/tests/test_connection.py index 2b6e1f49b..6e11bb3e9 100644 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -198,3 +198,10 @@ def test_connect_badargs(monkeypatch, pgconn, args, kwargs): monkeypatch.setattr(psycopg3.connection, "connect", fake_connect) with pytest.raises((TypeError, psycopg3.ProgrammingError)): psycopg3.Connection.connect(*args, **kwargs) + + +def test_broken_connection(conn): + cur = conn.cursor() + with pytest.raises(psycopg3.DatabaseError): + cur.execute("select pg_terminate_backend(pg_backend_pid())") + assert conn.closed