]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Raise OperationalError for connection timeout
authorDenis Laxalde <denis.laxalde@dalibo.com>
Thu, 6 May 2021 06:42:08 +0000 (08:42 +0200)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Tue, 8 Jun 2021 12:22:38 +0000 (13:22 +0100)
psycopg3/psycopg3/waiting.py
tests/test_connection.py
tests/test_connection_async.py

index afb9cd66b4ebd72e2134f9ea9a1f276fa6c972af..3db9954dbeb6f7a4288f2f3e9d56aad7c12f6412 100644 (file)
@@ -87,7 +87,7 @@ def wait_conn(gen: PQGenConn[RV], timeout: Optional[float] = None) -> RV:
             ready = sel.select(timeout=timeout)
             sel.unregister(fileno)
             if not ready:
-                raise e.DatabaseError("timeout expired")
+                raise e.OperationalError("timeout expired")
             fileno, s = gen.send(ready[0][1])  # type: ignore[arg-type]
 
     except StopIteration as ex:
@@ -196,7 +196,7 @@ async def wait_conn_async(
             fileno, s = gen.send(ready)
 
     except TimeoutError:
-        raise e.DatabaseError("timeout expired")
+        raise e.OperationalError("timeout expired")
 
     except StopIteration as ex:
         rv: RV = ex.args[0] if ex.args else None
index ea8aced2180b3a181c6bcc3bdba6755e3eb8c582..024d14f157804442c5a24c2dc7ae6040c34db1ed 100644 (file)
@@ -51,7 +51,7 @@ def test_connect_timeout():
     Thread(target=closer).start()
 
     t0 = time.time()
-    with pytest.raises(psycopg3.DatabaseError):
+    with pytest.raises(psycopg3.OperationalError, match="timeout expired"):
         Connection.connect(host="localhost", port=port, connect_timeout=1)
     elapsed = time.time() - t0
     assert elapsed == pytest.approx(1.0, abs=0.05)
index e81aa42b0fb05ee18822cf618723ee6bd1c2f69d..25702ffd73371c757bfe7fb42a110240dc37ccf5 100644 (file)
@@ -50,7 +50,7 @@ async def test_connect_timeout():
 
     async def connect():
         t0 = time.time()
-        with pytest.raises(psycopg3.DatabaseError):
+        with pytest.raises(psycopg3.OperationalError, match="timeout expired"):
             await AsyncConnection.connect(
                 host="localhost", port=port, connect_timeout=1
             )