mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Refs #28478 -- Prevented connection attempts against disallowed databases in tests.
Mocking connect as well as cursor methods makes sure an appropriate error message is surfaced when running a subset of test attempting to access a a disallowed database.
This commit is contained in:
committed by
Tim Graham
parent
a96b901932
commit
f5b635086a
@@ -1159,11 +1159,24 @@ class TestBadSetUpTestData(TestCase):
|
||||
|
||||
|
||||
class DisallowedDatabaseQueriesTests(SimpleTestCase):
|
||||
def test_disallowed_database_connections(self):
|
||||
expected_message = (
|
||||
"Database connections to 'default' are not allowed in SimpleTestCase "
|
||||
"subclasses. Either subclass TestCase or TransactionTestCase to "
|
||||
"ensure proper test isolation or add 'default' to "
|
||||
"test_utils.tests.DisallowedDatabaseQueriesTests.databases to "
|
||||
"silence this failure."
|
||||
)
|
||||
with self.assertRaisesMessage(AssertionError, expected_message):
|
||||
connection.connect()
|
||||
with self.assertRaisesMessage(AssertionError, expected_message):
|
||||
connection.temporary_connection()
|
||||
|
||||
def test_disallowed_database_queries(self):
|
||||
expected_message = (
|
||||
"Database queries are not allowed in SimpleTestCase subclasses. "
|
||||
"Either subclass TestCase or TransactionTestCase to ensure proper "
|
||||
"test isolation or add 'default' to "
|
||||
"Database queries to 'default' are not allowed in SimpleTestCase "
|
||||
"subclasses. Either subclass TestCase or TransactionTestCase to "
|
||||
"ensure proper test isolation or add 'default' to "
|
||||
"test_utils.tests.DisallowedDatabaseQueriesTests.databases to "
|
||||
"silence this failure."
|
||||
)
|
||||
@@ -1172,9 +1185,9 @@ class DisallowedDatabaseQueriesTests(SimpleTestCase):
|
||||
|
||||
def test_disallowed_database_chunked_cursor_queries(self):
|
||||
expected_message = (
|
||||
"Database queries are not allowed in SimpleTestCase subclasses. "
|
||||
"Either subclass TestCase or TransactionTestCase to ensure proper "
|
||||
"test isolation or add 'default' to "
|
||||
"Database queries to 'default' are not allowed in SimpleTestCase "
|
||||
"subclasses. Either subclass TestCase or TransactionTestCase to "
|
||||
"ensure proper test isolation or add 'default' to "
|
||||
"test_utils.tests.DisallowedDatabaseQueriesTests.databases to "
|
||||
"silence this failure."
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user