Skip to content

Commit 9fbe6f3

Browse files
committed
added feedexport test for xml output
1 parent 935b1da commit 9fbe6f3

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

tests/test_feedexport.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from io import BytesIO
66
import tempfile
77
import shutil
8-
import six
98
from six.moves.urllib.parse import urlparse
109

1110
from zope.interface.verify import verifyObject
@@ -187,10 +186,22 @@ def assertExportedJsonLines(self, items, rows, settings=None):
187186
rows = [{k: v for k, v in row.items() if v} for row in rows]
188187
self.assertEqual(rows, parsed)
189188

189+
@defer.inlineCallbacks
190+
def assertExportedXml(self, items, rows, settings=None):
191+
settings = settings or {}
192+
settings.update({'FEED_FORMAT': 'xml'})
193+
data = yield self.exported_data(items, settings)
194+
rows = [{k: v for k, v in row.items() if v} for row in rows]
195+
import lxml.etree
196+
root = lxml.etree.fromstring(data)
197+
got_rows = [{e.tag: e.text for e in it} for it in root.findall('item')]
198+
self.assertEqual(rows, got_rows)
199+
190200
@defer.inlineCallbacks
191201
def assertExported(self, items, header, rows, settings=None, ordered=True):
192202
yield self.assertExportedCsv(items, header, rows, settings, ordered)
193203
yield self.assertExportedJsonLines(items, rows, settings)
204+
yield self.assertExportedXml(items, rows, settings)
194205

195206
@defer.inlineCallbacks
196207
def test_export_items(self):

0 commit comments

Comments
 (0)