Serialization error tests

This commit is contained in:
Honza Kral
2013-05-03 17:56:27 +02:00
parent 1300e7b279
commit 4c74c6911c
2 changed files with 11 additions and 2 deletions
+2 -2
View File
@@ -12,13 +12,13 @@ class JSONSerializer(object):
def loads(self, s):
try:
return json.loads(s)
except ValueError as e:
except (ValueError, TypeError) as e:
raise SerializationError(e)
def dumps(self, data):
try:
return json.dumps(data, default=self.default)
except ValueError as e:
except (ValueError, TypeError) as e:
raise SerializationError(e)
+9
View File
@@ -2,7 +2,16 @@ from datetime import datetime
from unittest import TestCase
from elasticsearch.serializer import JSONSerializer
from elasticsearch.exceptions import SerializationError
class TestJSONSerializer(TestCase):
def test_datetime_serialization(self):
self.assertEquals(u'{"d": "2010-10-01T02:30:00"}', JSONSerializer().dumps({'d': datetime(2010, 10, 1, 2, 30)}))
def test_raises_serialization_error_on_dump_error(self):
self.assertRaises(SerializationError, JSONSerializer().dumps, object())
def test_raises_serialization_error_on_load_error(self):
self.assertRaises(SerializationError, JSONSerializer().loads, object())
self.assertRaises(SerializationError, JSONSerializer().loads, '')
self.assertRaises(SerializationError, JSONSerializer().loads, '{{')