Merge "cleanup: collapse wsgi serializer test hierarchy"

This commit is contained in:
Jenkins 2016-01-22 11:11:06 +00:00 committed by Gerrit Code Review
commit 7abb4533f8
2 changed files with 6 additions and 32 deletions

View File

@ -271,17 +271,7 @@ class ActionDispatcher(object):
raise NotImplementedError()
class TextDeserializer(ActionDispatcher):
"""Default request body deserialization."""
def deserialize(self, datastring, action='default'):
return self.dispatch(datastring, action=action)
def default(self, datastring):
return {}
class JSONDeserializer(TextDeserializer):
class JSONDeserializer(ActionDispatcher):
def _from_json(self, datastring):
try:
@ -290,23 +280,19 @@ class JSONDeserializer(TextDeserializer):
msg = _("cannot understand JSON")
raise exception.MalformedRequestBody(reason=msg)
def deserialize(self, datastring, action='default'):
return self.dispatch(datastring, action=action)
def default(self, datastring):
return {'body': self._from_json(datastring)}
class DictSerializer(ActionDispatcher):
"""Default request body serialization."""
class JSONDictSerializer(ActionDispatcher):
"""Default JSON request body serialization."""
def serialize(self, data, action='default'):
return self.dispatch(data, action=action)
def default(self, data):
return ""
class JSONDictSerializer(DictSerializer):
"""Default JSON request body serialization."""
def default(self, data):
return six.text_type(jsonutils.dumps(data))

View File

@ -206,12 +206,6 @@ class ActionDispatcherTest(test.NoDBTestCase):
self.assertEqual(serializer.dispatch({}, action='update'), 'trousers')
class DictSerializerTest(test.NoDBTestCase):
def test_dispatch_default(self):
serializer = wsgi.DictSerializer()
self.assertEqual(serializer.serialize({}, 'update'), '')
class JSONDictSerializerTest(test.NoDBTestCase):
def test_json(self):
input_dict = dict(servers=dict(a=(2, 3)))
@ -222,12 +216,6 @@ class JSONDictSerializerTest(test.NoDBTestCase):
self.assertEqual(result, expected_json)
class TextDeserializerTest(test.NoDBTestCase):
def test_dispatch_default(self):
deserializer = wsgi.TextDeserializer()
self.assertEqual(deserializer.deserialize({}, 'update'), {})
class JSONDeserializerTest(test.NoDBTestCase):
def test_json(self):
data = """{"a": {