Fixed #26717 -- Added Serializer.stream_class to customize the stream.

This commit is contained in:
Berker Peksag 2016-06-08 04:22:30 +03:00 committed by Tim Graham
parent 7767978bee
commit 724dd2043e
3 changed files with 27 additions and 2 deletions

View file

@ -353,6 +353,29 @@ class SerializersTestBase(object):
self.assertEqual(base_data, proxy_proxy_data.replace('proxy', ''))
class SerializerAPITests(SimpleTestCase):
def test_stream_class(self):
class File(object):
def __init__(self):
self.lines = []
def write(self, line):
self.lines.append(line)
def getvalue(self):
return ''.join(self.lines)
class Serializer(serializers.json.Serializer):
stream_class = File
serializer = Serializer()
data = serializer.serialize([Score(id=1, score=3.4)])
self.assertIs(serializer.stream_class, File)
self.assertIsInstance(serializer.stream, File)
self.assertEqual(data, '[{"model": "serializers.score", "pk": 1, "fields": {"score": 3.4}}]')
class SerializersTransactionTestBase(object):
available_apps = ['serializers']