import json from lxml import etree import pytest @pytest.mark.django_db def test_host_meta_json(client): res = client.get('/.well-known/host-meta.json') assert res.status_code == 200 assert res['Content-Type'] == 'application/json' meta = json.loads(res.content) assert meta.keys() == {'links', 'subject'} assert meta['subject'] == 'https://example.com' assert len(meta['links']) == 13 @pytest.mark.django_db def test_host_meta_xml(client): res = client.get('/.well-known/host-meta') assert res.status_code == 200 assert res['Content-Type'] == 'application/xrd+xml' root = etree.XML(res.content) ns = '{http://docs.oasis-open.org/ns/xri/xrd-1.0}' assert root.tag == (ns + 'XRD') assert root.findtext(ns + 'Subject') == 'https://example.com' assert len(root.findall(ns + 'Link')) == 13