From 0114be4d9b64a98fab46937ed0ad195d4a4e37dd Mon Sep 17 00:00:00 2001 From: spicysharkco <321699413+spicysharkco@users.noreply.github.com> Date: Fri, 16 Oct 2026 22:13:13 +0000 Subject: [PATCH] Show the valid values in the target_session_attrs error The message formatted the unbound SessionAttribute.__members__.values method, so it printed "" instead of the accepted values. --- asyncpg/connect_utils.py | 2 +- tests/test_connect.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/asyncpg/connect_utils.py b/asyncpg/connect_utils.py index e215391b..f02e3ab7 100644 --- a/asyncpg/connect_utils.py +++ b/asyncpg/connect_utils.py @@ -850,7 +850,7 @@ def _parse_connect_dsn_and_args(*, dsn, host, port, user, "target_session_attrs is expected to be one of " "{!r}" ", got {!r}".format( - SessionAttribute.__members__.values, target_session_attrs + [a.value for a in SessionAttribute], target_session_attrs ) ) from None diff --git a/tests/test_connect.py b/tests/test_connect.py index 1c25d8d6..ed05ad3f 100644 --- a/tests/test_connect.py +++ b/tests/test_connect.py @@ -751,6 +751,16 @@ class TestConnectParams(tb.TestCase): }) }, + { + 'name': 'target_session_attrs_invalid', + 'dsn': 'postgresql://user@host/db?target_session_attrs=bogus', + 'error': ( + exceptions.ClientConfigurationError, + r"target_session_attrs is expected to be one of \['any', " + r".*'read-only'\], got 'bogus'" + ), + }, + { 'name': 'krbsrvname', 'dsn': 'postgresql://user@host/db?krbsrvname=srv_qs',