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'
    renderer = renderers.SubsonicXMLRenderer()
    rendered = renderer.render(payload)
    assert rendered == expected