Correct django serialization tests

This commit is contained in:
David Cramer 2013-04-04 00:15:42 -07:00
parent 0b6827e51a
commit 4beb5d0447
3 changed files with 5 additions and 3 deletions

View File

@ -39,7 +39,7 @@ class PromiseSerializer(Serializer):
if hasattr(value, '%s__func' % pre):
value = getattr(value, '%s__func' % pre)(*getattr(value, '%s__args' % pre), **getattr(value, '%s__kw' % pre))
else:
return six.text_type(value)
return self.recurse(six.text_type(value))
return self.recurse(value, **kwargs)
register(PromiseSerializer)

View File

@ -66,6 +66,7 @@ class Serializer(object):
try:
return serializer.serialize(value, **kwargs)
except Exception as e:
raise
logger.exception(e)
return six.text_type(type(value))
@ -73,6 +74,7 @@ class Serializer(object):
try:
return six.text_type(repr(value))
except Exception as e:
raise
logger.exception(e)
# It's common case that a model's __unicode__ definition may try to query the database
# which if it was not cleaned up correctly, would hit a transaction aborted exception

View File

@ -685,7 +685,7 @@ class PromiseSerializerTestCase(TestCase):
def test_basic(self):
from django.utils.functional import lazy
obj = lazy(lambda: 'bar', str)()
obj = lazy(lambda: 'bar', six.text_type)()
res = transform(obj)
self.assertEquals(res, "u'bar'")
@ -695,7 +695,7 @@ class PromiseSerializerTestCase(TestCase):
def fake_gettext(to_translate):
return 'Igpay Atinlay'
fake_gettext_lazy = lazy(fake_gettext, str)
fake_gettext_lazy = lazy(fake_gettext, six.text_type)
result = transform(fake_gettext_lazy("something"))
self.assertTrue(isinstance(result, six.string_types))