For CRDB, every database exists.
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,
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
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
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
conn.close()
+@crdb_anydb
def test_connect_bad(conn_cls, dsn):
with pytest.raises(psycopg.OperationalError):
conn_cls.connect(dsn, dbname="nosuchdb")
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
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")
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):
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")
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")
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"
)
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):
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"))