From 491092086929f90c048b606c58859f76238bcda2 Mon Sep 17 00:00:00 2001 From: David Sanders Date: Sun, 24 Sep 2023 19:02:50 +1000 Subject: [5.0.x] Fixed #34849 -- Avoided raising RuntimeWarning about import-time queries when apps are reinitialized with test tools. Regression in fbd16438f46bc2128926958ad24331da5d1b406f. Backport of 4f2ae0644de34791b84b7beb11a966ce4bc48fb6 from main --- tests/postgres_tests/test_apps.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'tests/postgres_tests') diff --git a/tests/postgres_tests/test_apps.py b/tests/postgres_tests/test_apps.py index 3fdd7c3faf..ea2a28d7a8 100644 --- a/tests/postgres_tests/test_apps.py +++ b/tests/postgres_tests/test_apps.py @@ -5,7 +5,7 @@ from django.db import connection from django.db.backends.signals import connection_created from django.db.migrations.writer import MigrationWriter from django.test import TestCase -from django.test.utils import modify_settings +from django.test.utils import CaptureQueriesContext, modify_settings, override_settings try: from django.contrib.postgres.fields import ( @@ -14,6 +14,7 @@ try: DecimalRangeField, IntegerRangeField, ) + from django.contrib.postgres.signals import get_hstore_oids from django.db.backends.postgresql.psycopg_any import ( DateRange, DateTimeRange, @@ -27,6 +28,15 @@ except ImportError: @unittest.skipUnless(connection.vendor == "postgresql", "PostgreSQL specific tests") class PostgresConfigTests(TestCase): + def test_install_app_no_warning(self): + # Clear cache to force queries when (re)initializing the + # "django.contrib.postgres" app. + get_hstore_oids.cache_clear() + with CaptureQueriesContext(connection) as captured_queries: + with override_settings(INSTALLED_APPS=["django.contrib.postgres"]): + pass + self.assertGreaterEqual(len(captured_queries), 1) + def test_register_type_handlers_connection(self): from django.contrib.postgres.signals import register_type_handlers -- cgit v1.3