1
0
mirror of https://github.com/django/django.git synced 2025-07-07 03:09:22 +00:00

[4.0.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.
This commit is contained in:
Mariusz Felisiak 2021-12-09 20:24:38 +01:00
parent 8fe7bdc29d
commit 2990e6fe8f

View File

@ -387,18 +387,17 @@ class InspectDBTestCase(TestCase):
Introspection of columns with a custom field (#21090) Introspection of columns with a custom field (#21090)
""" """
out = StringIO() out = StringIO()
orig_data_types_reverse = connection.introspection.data_types_reverse with mock.patch(
try: "django.db.connection.introspection.data_types_reverse.base_data_types_reverse",
connection.introspection.data_types_reverse = { {
"text": "myfields.TextField", "text": "myfields.TextField",
"bigint": "BigIntegerField", "bigint": "BigIntegerField",
} },
):
call_command("inspectdb", "inspectdb_columntypes", stdout=out) call_command("inspectdb", "inspectdb_columntypes", stdout=out)
output = out.getvalue() output = out.getvalue()
self.assertIn("text_field = myfields.TextField()", output) self.assertIn("text_field = myfields.TextField()", output)
self.assertIn("big_int_field = models.BigIntegerField()", output) self.assertIn("big_int_field = models.BigIntegerField()", output)
finally:
connection.introspection.data_types_reverse = orig_data_types_reverse
def test_introspection_errors(self): def test_introspection_errors(self):
""" """