import json
import xml.etree.ElementTree as ET
from funkwhale_api.subsonic import renderers
def test_json_renderer():
data = {"hello": "world"}
expected = {
"subsonic-response": {"status": "ok", "version": "1.16.0", "hello": "world"}
}
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"}]}
expected = """
"""
result = renderers.dict_to_xml_tree("key", payload)
exp = ET.fromstring(expected)
assert ET.tostring(result) == ET.tostring(exp)
def test_xml_renderer():
payload = {"hello": "world"}
expected = b'\n' # noqa
renderer = renderers.SubsonicXMLRenderer()
rendered = renderer.render(payload)
assert rendered == expected