Fixing the syntax error in the XML Serializer
This commit fixes the syntax error in the XML Serializer. Modified wsgi test to exercise this bit of code as well Fixes: Bug #1158468 Change-Id: I1bff589a46ff4884e131d7cf60551e2f400acb67
This commit is contained in:
@@ -186,16 +186,18 @@ class SerializerTest(base.BaseTestCase):
|
|||||||
"""
|
"""
|
||||||
content_type = 'application/xml'
|
content_type = 'application/xml'
|
||||||
data_string = (
|
data_string = (
|
||||||
'<servers xmlns="fake">'
|
'<servers>'
|
||||||
|
'<server name="s1">'
|
||||||
'<test test="a">passed</test>'
|
'<test test="a">passed</test>'
|
||||||
|
'</server>'
|
||||||
'</servers>'
|
'</servers>'
|
||||||
)
|
)
|
||||||
|
|
||||||
metadata = {'plurals': ['servers', 'test'], 'xmlns': 'fake'}
|
metadata = {'plurals': {'servers': 'server'}, 'xmlns': 'fake'}
|
||||||
serializer = wsgi.Serializer(
|
serializer = wsgi.Serializer(
|
||||||
default_xmlns="fake", metadata=metadata)
|
default_xmlns="fake", metadata=metadata)
|
||||||
result = serializer.deserialize(data_string, content_type)
|
result = serializer.deserialize(data_string, content_type)
|
||||||
expected = {'body': {'servers': ['passed']}}
|
expected = {'body': {'servers': [{'name': 's1', 'test': 'passed'}]}}
|
||||||
|
|
||||||
self.assertEqual(expected, result)
|
self.assertEqual(expected, result)
|
||||||
|
|
||||||
|
|||||||
@@ -583,7 +583,7 @@ class XMLDeserializer(TextDeserializer):
|
|||||||
attr == constants.XSI_ATTR or
|
attr == constants.XSI_ATTR or
|
||||||
attr == constants.TYPE_ATTR):
|
attr == constants.TYPE_ATTR):
|
||||||
continue
|
continue
|
||||||
result[self._get_key(attr)] = node.get[attr]
|
result[self._get_key(attr)] = node.get(attr)
|
||||||
children = list(node)
|
children = list(node)
|
||||||
for child in children:
|
for child in children:
|
||||||
result[self._get_key(child.tag)] = self._from_xml_node(
|
result[self._get_key(child.tag)] = self._from_xml_node(
|
||||||
|
|||||||
Reference in New Issue
Block a user