]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
test: skip tests connecting to non-existing dbs for CRDB
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Mon, 2 Jun 2025 12:43:38 +0000 (13:43 +0100)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Mon, 2 Jun 2025 13:53:58 +0000 (14:53 +0100)
For CRDB, every database exists.

tests/fix_crdb.py
tests/pq/test_pgconn.py
tests/test_connection.py
tests/test_connection_async.py
tests/test_errors.py
tests/test_waiting.py

index 60d721c2155a28494f34c2159d23617fa3cca04e..afcc6af129b78f42e26262a1055a6e7a0a07bbcb 100644 (file)
@@ -79,6 +79,10 @@ def crdb_scs_off(*args):
     return skip_crdb(*args, reason="standard_conforming_strings=off")
 
 
+def crdb_anydb(*args):
+    return skip_crdb(*args, reason="can connect to any db name")
+
+
 # mapping from reason description to ticket number
 _crdb_reasons = {
     "2-phase commit": 22329,
index f6f7f2e9397e8ec2b2aae5081b282e9f66010e52..f14658c39e6110aea8620a7f13c3900c51a28708 100644 (file)
@@ -18,6 +18,8 @@ import psycopg.generators
 from psycopg import pq
 from psycopg.conninfo import make_conninfo
 
+from ..fix_crdb import crdb_anydb
+
 if TYPE_CHECKING:
     from psycopg.pq.abc import PGcancelConn, PGconn
 
@@ -50,6 +52,7 @@ def test_connectdb(dsn):
     assert conn.status == pq.ConnStatus.OK, conn.error_message
 
 
+@crdb_anydb
 def test_connectdb_error(dsn):
     conn = pq.PGconn.connect(make_conninfo(dsn, dbname="nosuchdb").encode())
     assert conn.status == pq.ConnStatus.BAD
index 50c27ef6a3fd64dbb8117ea6eb7b3ed0f72947e6..90aa0ddf3fcb73b1f53af15d5d75784a8507013e 100644 (file)
@@ -18,6 +18,7 @@ from psycopg.rows import tuple_row
 from psycopg.conninfo import conninfo_to_dict, timeout_from_conninfo
 
 from .acompat import is_async, skip_async, skip_sync, sleep
+from .fix_crdb import crdb_anydb
 from .test_adapt import make_bin_dumper, make_dumper
 from ._test_cursor import my_row_factory
 from ._test_connection import testctx  # noqa: F401  # fixture
@@ -34,6 +35,7 @@ def test_connect(conn_cls, dsn):
     conn.close()
 
 
+@crdb_anydb
 def test_connect_bad(conn_cls, dsn):
     with pytest.raises(psycopg.OperationalError):
         conn_cls.connect(dsn, dbname="nosuchdb")
index ef1efb80b1ead021dfe32d9e31b79a17f90961b1..89af8475a5f284cea9175126c2ecf57e01c83bee 100644 (file)
@@ -15,6 +15,7 @@ from psycopg.rows import tuple_row
 from psycopg.conninfo import conninfo_to_dict, timeout_from_conninfo
 
 from .acompat import asleep, is_async, skip_async, skip_sync
+from .fix_crdb import crdb_anydb
 from .test_adapt import make_bin_dumper, make_dumper
 from ._test_cursor import my_row_factory
 from ._test_connection import testctx  # noqa: F401  # fixture
@@ -31,6 +32,7 @@ async def test_connect(aconn_cls, dsn):
     await conn.close()
 
 
+@crdb_anydb
 async def test_connect_bad(aconn_cls, dsn):
     with pytest.raises(psycopg.OperationalError):
         await aconn_cls.connect(dsn, dbname="nosuchdb")
index 3c875b0c68d89253b053c29b7265ad3f9e98f62a..29619d5581d91a3da736396e46ea3e39b9f7e844 100644 (file)
@@ -11,7 +11,7 @@ from psycopg import errors as e
 from psycopg import pq
 
 from .utils import eur
-from .fix_crdb import is_crdb
+from .fix_crdb import crdb_anydb, is_crdb
 
 
 def test_finishedpgconn(pgconn):
@@ -286,6 +286,7 @@ def test_unknown_sqlstate(conn):
     assert pexc.sqlstate == code
 
 
+@crdb_anydb
 def test_pgconn_error(conn_cls, dsn):
     with pytest.raises(psycopg.OperationalError) as excinfo:
         conn_cls.connect(dsn, dbname="nosuchdb")
@@ -295,6 +296,7 @@ def test_pgconn_error(conn_cls, dsn):
     assert exc.pgconn.db == b"nosuchdb"
 
 
+@crdb_anydb
 def test_pgconn_error_pickle(conn_cls, dsn):
     with pytest.raises(psycopg.OperationalError) as excinfo:
         conn_cls.connect(dsn, dbname="nosuchdb")
index fc5130386d3feb87747b1a9defef402f62d279be..3f137135a9cd05ce9a4eb26684fbdc379a0dd773 100644 (file)
@@ -10,6 +10,8 @@ from psycopg import generators, waiting
 from psycopg.pq import ConnStatus, ExecStatus
 from psycopg.conninfo import make_conninfo
 
+from .fix_crdb import crdb_anydb
+
 skip_if_not_linux = pytest.mark.skipif(
     not sys.platform.startswith("linux"), reason="non-Linux platform"
 )
@@ -39,6 +41,7 @@ def test_wait_conn(dsn, timeout):
     assert conn.status == ConnStatus.OK
 
 
+@crdb_anydb
 def test_wait_conn_bad(dsn):
     gen = generators.connect(make_conninfo(dsn, dbname="nosuchdb"))
     with pytest.raises(psycopg.OperationalError):
@@ -154,6 +157,7 @@ async def test_wait_conn_async(dsn, timeout):
     assert conn.status == ConnStatus.OK
 
 
+@crdb_anydb
 @pytest.mark.anyio
 async def test_wait_conn_async_bad(dsn):
     gen = generators.connect(make_conninfo(dsn, dbname="nosuchdb"))