1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Refs #29522 -- Improved test coverage of deserializers.

This commit is contained in:
Amir Karimi
2024-09-12 10:55:24 +02:00
committed by Sarah Boyce
parent f4813211e2
commit b2501759eb
4 changed files with 62 additions and 6 deletions

View File

@@ -96,12 +96,20 @@ class TestFixtures(TestCase):
the serialized data for fields that have been removed
from the database when not ignored.
"""
with self.assertRaises(DeserializationError):
management.call_command(
"loaddata",
"sequence_extra",
verbosity=0,
)
for fixture_file in (
"sequence_extra",
"sequence_extra_jsonl",
"sequence_extra_yaml",
):
with (
self.subTest(fixture_file=fixture_file),
self.assertRaises(DeserializationError),
):
management.call_command(
"loaddata",
fixture_file,
verbosity=0,
)
def test_loaddata_not_found_fields_ignore(self):
"""
@@ -130,6 +138,32 @@ class TestFixtures(TestCase):
)
self.assertEqual(Animal.specimens.all()[0].name, "Wolf")
def test_loaddata_not_found_fields_ignore_jsonl(self):
management.call_command(
"loaddata",
"sequence_extra_jsonl",
ignore=True,
verbosity=0,
)
self.assertEqual(Animal.specimens.all()[0].name, "Eagle")
def test_loaddata_not_found_fields_ignore_yaml(self):
management.call_command(
"loaddata",
"sequence_extra_yaml",
ignore=True,
verbosity=0,
)
self.assertEqual(Animal.specimens.all()[0].name, "Cat")
def test_loaddata_empty_lines_jsonl(self):
management.call_command(
"loaddata",
"sequence_empty_lines_jsonl.jsonl",
verbosity=0,
)
self.assertEqual(Animal.specimens.all()[0].name, "Eagle")
@skipIfDBFeature("interprets_empty_strings_as_nulls")
def test_pretty_print_xml(self):
"""