diff options
| author | Tom Christie | 2015-01-23 14:28:59 +0000 |
|---|---|---|
| committer | Tom Christie | 2015-01-23 14:28:59 +0000 |
| commit | 39f26c9eca6fa8b749f9197ad78e5cba69870e50 (patch) | |
| tree | 86ebd311194a185217e6fefb31d16316bf80779f /tests/test_serializer.py | |
| parent | 37dc2520f9adbaf54de759a1fdc41985ebd38a0e (diff) | |
| parent | 4201c9fb01beae84fc34a5b74e138e721de42de1 (diff) | |
| download | django-rest-framework-39f26c9eca6fa8b749f9197ad78e5cba69870e50.tar.bz2 | |
Merge master
Diffstat (limited to 'tests/test_serializer.py')
| -rw-r--r-- | tests/test_serializer.py | 17 |
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'} |
