summaryrefslogtreecommitdiff
path: root/tests/serializers
diff options
context:
space:
mode:
authorAdam Johnson <me@adamj.eu>2020-01-30 09:28:32 +0000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-01-13 13:50:20 +0100
commit45a42aabfa1a86d1806bec93b31ef6ed7ccd51a7 (patch)
tree06aa1a1d8f51da669a248d323ea3ef25e31507d1 /tests/serializers
parentc920387faba8da2f65fca49d191b6a93a9becdba (diff)
downloaddjango-45a42aabfa1a86d1806bec93b31ef6ed7ccd51a7.tar.gz
Fixed #29708 -- Deprecated PickleSerializer.
Diffstat (limited to 'tests/serializers')
-rw-r--r--tests/serializers/tests.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/serializers/tests.py b/tests/serializers/tests.py
index 4bd6acd982..1b375a4a1e 100644
--- a/tests/serializers/tests.py
+++ b/tests/serializers/tests.py
@@ -10,7 +10,8 @@ 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
-from django.test.utils import Approximate
+from django.test.utils import Approximate, ignore_warnings
+from django.utils.deprecation import RemovedInDjango50Warning
from .models import (
Actor, Article, Author, AuthorProfile, BaseModel, Category, Child,
@@ -420,6 +421,7 @@ class SerializersTransactionTestBase:
class PickleSerializerTests(SimpleTestCase):
+ @ignore_warnings(category=RemovedInDjango50Warning)
def test_serializer_protocol(self):
serializer = PickleSerializer(protocol=3)
self.assertEqual(serializer.protocol, 3)
@@ -427,12 +429,21 @@ class PickleSerializerTests(SimpleTestCase):
serializer = PickleSerializer()
self.assertEqual(serializer.protocol, pickle.HIGHEST_PROTOCOL)
+ @ignore_warnings(category=RemovedInDjango50Warning)
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 test_serializer_warning(self):
+ msg = (
+ 'PickleSerializer is deprecated due to its security risk. Use '
+ 'JSONSerializer instead.'
+ )
+ with self.assertRaisesMessage(RemovedInDjango50Warning, msg):
+ PickleSerializer()
+
def register_tests(test_class, method_name, test_func, exclude=()):
"""