From f3b7c059367a4e82bbfc7e4f0d42b10975e79f0c Mon Sep 17 00:00:00 2001 From: François Freitag Date: Fri, 3 Jun 2016 15:31:21 -0700 Subject: Refs #16614 -- Made QuerySet.iterator() use server-side cursors on PostgreSQL. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks to Josh Smeaton for the idea of implementing server-side cursors in PostgreSQL from the iterator method, and Anssi Kääriäinen and Kevin Turner for their previous work. Also Simon Charette and Tim Graham for review. --- tests/test_utils/tests.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/test_utils') diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py index 0013452cac..54b83f524b 100644 --- a/tests/test_utils/tests.py +++ b/tests/test_utils/tests.py @@ -1069,6 +1069,18 @@ class DisallowedDatabaseQueriesTests(SimpleTestCase): Car.objects.first() +class DisallowedDatabaseQueriesChunkedCursorsTests(SimpleTestCase): + def test_disallowed_database_queries(self): + expected_message = ( + "Database queries aren't allowed in SimpleTestCase. Either use " + "TestCase or TransactionTestCase to ensure proper test isolation or " + "set DisallowedDatabaseQueriesChunkedCursorsTests.allow_database_queries " + "to True to silence this failure." + ) + with self.assertRaisesMessage(AssertionError, expected_message): + next(Car.objects.iterator()) + + class AllowedDatabaseQueriesTests(SimpleTestCase): allow_database_queries = True -- cgit v1.3