mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #34200 -- Made the session role configurable on PostgreSQL.
This commit is contained in:
parent
2a14b8df39
commit
0b78ac3fc7
4 changed files with 63 additions and 6 deletions
|
@ -15,7 +15,7 @@ from django.db.backends.base.base import BaseDatabaseWrapper
|
|||
from django.test import TestCase, override_settings
|
||||
|
||||
try:
|
||||
from django.db.backends.postgresql.psycopg_any import is_psycopg3
|
||||
from django.db.backends.postgresql.psycopg_any import errors, is_psycopg3
|
||||
except ImportError:
|
||||
is_psycopg3 = False
|
||||
|
||||
|
@ -262,6 +262,21 @@ class Tests(TestCase):
|
|||
with self.assertRaisesMessage(ImproperlyConfigured, msg):
|
||||
new_connection.ensure_connection()
|
||||
|
||||
def test_connect_role(self):
|
||||
"""
|
||||
The session role can be configured with DATABASES
|
||||
["OPTIONS"]["assume_role"].
|
||||
"""
|
||||
try:
|
||||
custom_role = "django_nonexistent_role"
|
||||
new_connection = connection.copy()
|
||||
new_connection.settings_dict["OPTIONS"]["assume_role"] = custom_role
|
||||
msg = f'role "{custom_role}" does not exist'
|
||||
with self.assertRaisesMessage(errors.InvalidParameterValue, msg):
|
||||
new_connection.connect()
|
||||
finally:
|
||||
new_connection.close()
|
||||
|
||||
def test_connect_no_is_usable_checks(self):
|
||||
new_connection = connection.copy()
|
||||
try:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue