diff options
author | Adam Johnson <me@adamj.eu> | 2020-01-30 09:28:32 +0000 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-01-13 13:50:20 +0100 |
commit | 45a42aabfa1a86d1806bec93b31ef6ed7ccd51a7 (patch) | |
tree | 06aa1a1d8f51da669a248d323ea3ef25e31507d1 /tests/serializers | |
parent | c920387faba8da2f65fca49d191b6a93a9becdba (diff) | |
download | django-45a42aabfa1a86d1806bec93b31ef6ed7ccd51a7.tar.gz |
Fixed #29708 -- Deprecated PickleSerializer.
Diffstat (limited to 'tests/serializers')
-rw-r--r-- | tests/serializers/tests.py | 13 |
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=()): """ |