Просмотр исходного кода

Refs #33308 -- Ensured type handlers are registered for all PostgreSQL specific tests.

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Florian Apolloner 2 лет назад
Родитель
Сommit
149b55fefa

+ 4 - 0
tests/postgres_tests/__init__.py

@@ -7,11 +7,15 @@ from django.test import SimpleTestCase, TestCase, modify_settings
 
 
 @unittest.skipUnless(connection.vendor == "postgresql", "PostgreSQL specific tests")
+# To register type handlers and locate the widget's template.
+@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class PostgreSQLSimpleTestCase(SimpleTestCase):
     pass
 
 
 @unittest.skipUnless(connection.vendor == "postgresql", "PostgreSQL specific tests")
+# To register type handlers and locate the widget's template.
+@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class PostgreSQLTestCase(TestCase):
     pass
 

+ 5 - 3
tests/postgres_tests/test_apps.py

@@ -1,11 +1,12 @@
+import unittest
 from decimal import Decimal
 
+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 . import PostgreSQLTestCase
-
 try:
     from psycopg2.extras import DateRange, DateTimeRange, DateTimeTZRange, NumericRange
 
@@ -19,7 +20,8 @@ except ImportError:
     pass
 
 
-class PostgresConfigTests(PostgreSQLTestCase):
+@unittest.skipUnless(connection.vendor == "postgresql", "PostgreSQL specific tests")
+class PostgresConfigTests(TestCase):
     def test_register_type_handlers_connection(self):
         from django.contrib.postgres.signals import register_type_handlers
 

+ 1 - 8
tests/postgres_tests/test_array.py

@@ -12,12 +12,7 @@ from django.core.management import call_command
 from django.db import IntegrityError, connection, models
 from django.db.models.expressions import Exists, OuterRef, RawSQL, Value
 from django.db.models.functions import Cast, JSONObject, Upper
-from django.test import (
-    TransactionTestCase,
-    modify_settings,
-    override_settings,
-    skipUnlessDBFeature,
-)
+from django.test import TransactionTestCase, override_settings, skipUnlessDBFeature
 from django.test.utils import isolate_apps
 from django.utils import timezone
 
@@ -1259,8 +1254,6 @@ class TestSplitFormField(PostgreSQLSimpleTestCase):
         with self.assertRaisesMessage(exceptions.ValidationError, msg):
             SplitArrayField(forms.IntegerField(max_value=100), size=2).clean([0, 101])
 
-    # To locate the widget's template.
-    @modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
     def test_rendering(self):
         class SplitForm(forms.Form):
             array = SplitArrayField(forms.CharField(), size=3)

+ 0 - 3
tests/postgres_tests/test_bulk_update.py

@@ -1,7 +1,5 @@
 from datetime import date
 
-from django.test import modify_settings
-
 from . import PostgreSQLTestCase
 from .models import (
     HStoreModel,
@@ -18,7 +16,6 @@ except ImportError:
     pass  # psycopg2 isn't installed.
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class BulkSaveTests(PostgreSQLTestCase):
     def test_bulk_update(self):
         test_data = [

+ 0 - 2
tests/postgres_tests/test_citext.py

@@ -5,14 +5,12 @@ strings and thus eliminates the need for operations such as iexact and other
 modifiers to enforce use of an index.
 """
 from django.db import IntegrityError
-from django.test.utils import modify_settings
 from django.utils.deprecation import RemovedInDjango51Warning
 
 from . import PostgreSQLTestCase
 from .models import CITestModel
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class CITextTestCase(PostgreSQLTestCase):
     case_sensitive_lookups = ("contains", "startswith", "endswith", "regex")
 

+ 1 - 4
tests/postgres_tests/test_constraints.py

@@ -16,7 +16,7 @@ from django.db.models import (
 )
 from django.db.models.fields.json import KeyTextTransform
 from django.db.models.functions import Cast, Left, Lower
-from django.test import ignore_warnings, modify_settings, skipUnlessDBFeature
+from django.test import ignore_warnings, skipUnlessDBFeature
 from django.test.utils import isolate_apps
 from django.utils import timezone
 from django.utils.deprecation import RemovedInDjango50Warning
@@ -37,7 +37,6 @@ except ImportError:
     pass
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class SchemaTests(PostgreSQLTestCase):
     get_opclass_query = """
         SELECT opcname, c.relname FROM pg_opclass AS oc
@@ -255,7 +254,6 @@ class SchemaTests(PostgreSQLTestCase):
         Scene.objects.create(scene="ScEnE 10", setting="Sir Bedemir's Castle")
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class ExclusionConstraintTests(PostgreSQLTestCase):
     def get_constraints(self, table):
         """Get the constraints on the table using a new cursor."""
@@ -1198,7 +1196,6 @@ class ExclusionConstraintTests(PostgreSQLTestCase):
         )
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class ExclusionConstraintOpclassesDepracationTests(PostgreSQLTestCase):
     def get_constraints(self, table):
         """Get the constraints on the table using a new cursor."""

+ 1 - 2
tests/postgres_tests/test_indexes.py

@@ -15,7 +15,7 @@ from django.db import NotSupportedError, connection
 from django.db.models import CharField, F, Index, Q
 from django.db.models.functions import Cast, Collate, Length, Lower
 from django.test import skipUnlessDBFeature
-from django.test.utils import modify_settings, register_lookup
+from django.test.utils import register_lookup
 
 from . import PostgreSQLSimpleTestCase, PostgreSQLTestCase
 from .fields import SearchVector, SearchVectorField
@@ -235,7 +235,6 @@ class SpGistIndexTests(IndexTestMixin, PostgreSQLSimpleTestCase):
         )
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class SchemaTests(PostgreSQLTestCase):
     get_opclass_query = """
         SELECT opcname, c.relname FROM pg_opclass AS oc

+ 0 - 2
tests/postgres_tests/test_introspection.py

@@ -1,12 +1,10 @@
 from io import StringIO
 
 from django.core.management import call_command
-from django.test.utils import modify_settings
 
 from . import PostgreSQLTestCase
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class InspectDBTests(PostgreSQLTestCase):
     def assertFieldsInModel(self, model, field_outputs):
         out = StringIO()

+ 0 - 6
tests/postgres_tests/test_search.py

@@ -7,7 +7,6 @@ transcript.
 """
 from django.db import connection
 from django.db.models import F, Value
-from django.test import modify_settings
 
 from . import PostgreSQLSimpleTestCase, PostgreSQLTestCase
 from .models import Character, Line, LineSavedSearch, Scene
@@ -103,7 +102,6 @@ class GrailTestData:
         )
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class SimpleSearchTest(GrailTestData, PostgreSQLTestCase):
     def test_simple(self):
         searched = Line.objects.filter(dialogue__search="elbows")
@@ -140,7 +138,6 @@ class SimpleSearchTest(GrailTestData, PostgreSQLTestCase):
                 self.assertSequenceEqual(searched, [match])
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class SearchVectorFieldTest(GrailTestData, PostgreSQLTestCase):
     def test_existing_vector(self):
         Line.objects.update(dialogue_search_vector=SearchVector("dialogue"))
@@ -339,7 +336,6 @@ class MultipleFieldsTest(GrailTestData, PostgreSQLTestCase):
         self.assertSequenceEqual(searched, [self.french])
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class TestCombinations(GrailTestData, PostgreSQLTestCase):
     def test_vector_add(self):
         searched = Line.objects.annotate(
@@ -462,7 +458,6 @@ class TestCombinations(GrailTestData, PostgreSQLTestCase):
             Line.objects.filter(dialogue__search=None & SearchQuery("kneecaps"))
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class TestRankingAndWeights(GrailTestData, PostgreSQLTestCase):
     def test_ranking(self):
         searched = (
@@ -661,7 +656,6 @@ class SearchQueryTests(PostgreSQLSimpleTestCase):
                 self.assertEqual(str(query), expected_str)
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class SearchHeadlineTests(GrailTestData, PostgreSQLTestCase):
     def test_headline(self):
         searched = Line.objects.annotate(

+ 0 - 3
tests/postgres_tests/test_trigram.py

@@ -1,5 +1,3 @@
-from django.test import modify_settings
-
 from . import PostgreSQLTestCase
 from .models import CharFieldModel, TextFieldModel
 
@@ -16,7 +14,6 @@ except ImportError:
     pass
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class TrigramTest(PostgreSQLTestCase):
     Model = CharFieldModel
 

+ 0 - 2
tests/postgres_tests/test_unaccent.py

@@ -1,11 +1,9 @@
 from django.db import connection
-from django.test import modify_settings
 
 from . import PostgreSQLTestCase
 from .models import CharFieldModel, TextFieldModel
 
 
-@modify_settings(INSTALLED_APPS={"append": "django.contrib.postgres"})
 class UnaccentTest(PostgreSQLTestCase):
 
     Model = CharFieldModel