]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Test what happens if a connection is broken
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Thu, 21 May 2020 06:03:36 +0000 (18:03 +1200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Thu, 21 May 2020 06:05:40 +0000 (18:05 +1200)
tests/test_async_connection.py
tests/test_connection.py

index 5fb596c5b375fd9d2f0de75514f9d847045b3d35..0e0455bf4ce248f87cec8bd952ef2976f32983e3 100644 (file)
@@ -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
index 2b6e1f49b2f44e8aa2d31e8cfcc2f1ba62784188..6e11bb3e91e17095e33ac4d91beb4d5dc8abecf4 100644 (file)
@@ -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