mirror of
https://github.com/django/django.git
synced 2025-10-05 16:20:26 +00:00
Fixed #29708 -- Deprecated PickleSerializer.
This commit is contained in:
parent
c920387fab
commit
45a42aabfa
9 changed files with 48 additions and 26 deletions
|
@ -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=()):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue