Newer
Older
Eliot Berriot
committed
import json
import xml.etree.ElementTree as ET
Eliot Berriot
committed
import funkwhale_api
Eliot Berriot
committed
from funkwhale_api.subsonic import renderers
def test_json_renderer():
Eliot Berriot
committed
expected = {
Eliot Berriot
committed
"subsonic-response": {
"status": "ok",
"version": "1.16.0",
"type": "funkwhale",
"funkwhale-version": funkwhale_api.__version__,
"hello": "world",
}
Eliot Berriot
committed
}
renderer = renderers.SubsonicJSONRenderer()
assert json.loads(renderer.render(data)) == expected
def test_xml_renderer_dict_to_xml():
payload = {"hello": "world", "item": [{"this": 1}, {"some": "node"}]}
Eliot Berriot
committed
expected = """<?xml version="1.0" encoding="UTF-8"?>
<key hello="world"><item this="1" /><item some="node" /></key>"""
Eliot Berriot
committed
exp = ET.fromstring(expected)
assert ET.tostring(result) == ET.tostring(exp)
def test_xml_renderer():
expected = b'<?xml version="1.0" encoding="UTF-8"?>\n<subsonic-response hello="world" status="ok" version="1.16.0" xmlns="http://subsonic.org/restapi" />' # noqa
Eliot Berriot
committed
renderer = renderers.SubsonicXMLRenderer()
rendered = renderer.render(payload)
assert rendered == expected