From 9da46345d83e5d9ecb60512efb2d2e0b2b02b974 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Thu, 9 Dec 2021 20:24:38 +0100 Subject: [PATCH] [3.2.x] Fixed inspectdb.tests.InspectDBTestCase.test_custom_fields() on SQLite 3.37+. Use FlexibleFieldLookupDict which is case-insensitive mapping because SQLite 3.37+ returns some data type names upper-cased e.g. TEXT. Backport of 974e3b8750fe96c16c9c0b115a72ee4a2171df34 from main --- tests/inspectdb/tests.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tests/inspectdb/tests.py b/tests/inspectdb/tests.py index a0c4aff2e5..8ef757fc18 100644 --- a/tests/inspectdb/tests.py +++ b/tests/inspectdb/tests.py @@ -302,18 +302,17 @@ class InspectDBTestCase(TestCase): Introspection of columns with a custom field (#21090) """ out = StringIO() - orig_data_types_reverse = connection.introspection.data_types_reverse - try: - connection.introspection.data_types_reverse = { + with mock.patch( + 'django.db.connection.introspection.data_types_reverse.base_data_types_reverse', + { 'text': 'myfields.TextField', 'bigint': 'BigIntegerField', - } + }, + ): call_command('inspectdb', 'inspectdb_columntypes', stdout=out) output = out.getvalue() self.assertIn("text_field = myfields.TextField()", output) self.assertIn("big_int_field = models.BigIntegerField()", output) - finally: - connection.introspection.data_types_reverse = orig_data_types_reverse def test_introspection_errors(self): """