summaryrefslogtreecommitdiff
path: root/tests/serializers
diff options
context:
space:
mode:
authorDaniyal Abbasi <abbasi.daniyal98@gmail.com>2021-09-02 11:15:40 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-09-02 11:24:55 +0200
commitdca4c2ff764ab94848274952eee4319a638be1d2 (patch)
tree83d32e92a738a32dfc9bb9b8e947eb12d65872e6 /tests/serializers
parent50ed545e2fa02c51e0d1559b83624f256e4b499b (diff)
downloaddjango-dca4c2ff764ab94848274952eee4319a638be1d2.tar.gz
Refs #33012 -- Moved PickleSerializer to django.core.serializers.base and added tests.
Diffstat (limited to 'tests/serializers')
-rw-r--r--tests/serializers/tests.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/serializers/tests.py b/tests/serializers/tests.py
index 439464980d..4bd6acd982 100644
--- a/tests/serializers/tests.py
+++ b/tests/serializers/tests.py
@@ -1,3 +1,4 @@
+import pickle
from datetime import datetime
from functools import partialmethod
from io import StringIO
@@ -5,7 +6,7 @@ from unittest import mock, skipIf
from django.core import serializers
from django.core.serializers import SerializerDoesNotExist
-from django.core.serializers.base import ProgressBar
+from django.core.serializers.base import PickleSerializer, ProgressBar
from django.db import connection, transaction
from django.http import HttpResponse
from django.test import SimpleTestCase, override_settings, skipUnlessDBFeature
@@ -418,6 +419,21 @@ class SerializersTransactionTestBase:
self.assertEqual(art_obj.author.name, "Agnes")
+class PickleSerializerTests(SimpleTestCase):
+ def test_serializer_protocol(self):
+ serializer = PickleSerializer(protocol=3)
+ self.assertEqual(serializer.protocol, 3)
+ # If protocol is not provided, it defaults to pickle.HIGHEST_PROTOCOL
+ serializer = PickleSerializer()
+ self.assertEqual(serializer.protocol, pickle.HIGHEST_PROTOCOL)
+
+ def test_serializer_loads_dumps(self):
+ serializer = PickleSerializer()
+ test_data = 'test data'
+ dump = serializer.dumps(test_data)
+ self.assertEqual(serializer.loads(dump), test_data)
+
+
def register_tests(test_class, method_name, test_func, exclude=()):
"""
Dynamically create serializer tests to ensure that all registered