diff options
| author | Tim Graham <timograham@gmail.com> | 2018-03-21 19:18:00 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-03-21 20:11:06 -0400 |
| commit | 623139b5d1bd006eac78b375bcaf5948e695c3c6 (patch) | |
| tree | 2d172e961df5cbb023cf1d964d46f7a8458b78a3 /tests/postgres_tests/test_json.py | |
| parent | 0c100f8b57213dc41e23a280ca14f155eea576db (diff) | |
Refs #29147 --- Added JSONField serialization tests.
Diffstat (limited to 'tests/postgres_tests/test_json.py')
| -rw-r--r-- | tests/postgres_tests/test_json.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/tests/postgres_tests/test_json.py b/tests/postgres_tests/test_json.py index b22cbfc571..305278fc6a 100644 --- a/tests/postgres_tests/test_json.py +++ b/tests/postgres_tests/test_json.py @@ -323,18 +323,28 @@ class TestChecks(PostgreSQLTestCase): class TestSerialization(PostgreSQLTestCase): test_data = ( - '[{"fields": {"field": {"a": "b", "c": null}, "field_custom": null}, ' + '[{"fields": {"field": %s, "field_custom": null}, ' '"model": "postgres_tests.jsonmodel", "pk": null}]' ) + test_values = ( + # (Python value, serialized value), + ({'a': 'b', 'c': None}, '{"a": "b", "c": null}'), + ('abc', '"abc"'), + ('{"a": "a"}', '"{\\"a\\": \\"a\\"}"'), + ) def test_dumping(self): - instance = JSONModel(field={'a': 'b', 'c': None}) - data = serializers.serialize('json', [instance]) - self.assertJSONEqual(data, self.test_data) + for value, serialized in self.test_values: + with self.subTest(value=value): + instance = JSONModel(field=value) + data = serializers.serialize('json', [instance]) + self.assertJSONEqual(data, self.test_data % serialized) def test_loading(self): - instance = list(serializers.deserialize('json', self.test_data))[0].object - self.assertEqual(instance.field, {'a': 'b', 'c': None}) + for value, serialized in self.test_values: + with self.subTest(value=value): + instance = list(serializers.deserialize('json', self.test_data % serialized))[0].object + self.assertEqual(instance.field, value) class TestValidation(PostgreSQLTestCase): |
