aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_serializer.py
diff options
context:
space:
mode:
authorTom Christie2015-01-23 14:28:59 +0000
committerTom Christie2015-01-23 14:28:59 +0000
commit39f26c9eca6fa8b749f9197ad78e5cba69870e50 (patch)
tree86ebd311194a185217e6fefb31d16316bf80779f /tests/test_serializer.py
parent37dc2520f9adbaf54de759a1fdc41985ebd38a0e (diff)
parent4201c9fb01beae84fc34a5b74e138e721de42de1 (diff)
downloaddjango-rest-framework-39f26c9eca6fa8b749f9197ad78e5cba69870e50.tar.bz2
Merge master
Diffstat (limited to 'tests/test_serializer.py')
-rw-r--r--tests/test_serializer.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/test_serializer.py b/tests/test_serializer.py
index 68bbbe98..b7a0484b 100644
--- a/tests/test_serializer.py
+++ b/tests/test_serializer.py
@@ -3,6 +3,7 @@ from __future__ import unicode_literals
from .utils import MockObject
from rest_framework import serializers
from rest_framework.compat import unicode_repr
+import pickle
import pytest
@@ -278,3 +279,19 @@ class TestNotRequiredOutput:
serializer = ExampleSerializer(instance)
with pytest.raises(AttributeError):
serializer.data
+
+
+class TestCacheSerializerData:
+ def test_cache_serializer_data(self):
+ """
+ Caching serializer data with pickle will drop the serializer info,
+ but does preserve the data itself.
+ """
+ class ExampleSerializer(serializers.Serializer):
+ field1 = serializers.CharField()
+ field2 = serializers.CharField()
+
+ serializer = ExampleSerializer({'field1': 'a', 'field2': 'b'})
+ pickled = pickle.dumps(serializer.data)
+ data = pickle.loads(pickled)
+ assert data == {'field1': 'a', 'field2': 'b'}