Merge "cleanup: collapse wsgi serializer test hierarchy"
This commit is contained in:
commit
7abb4533f8
@ -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))
|
||||
|
||||
|
@ -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": {
|
||||
|
Loading…
x
Reference in New Issue
Block a user