lemoncurry/wellknowns/tests/views/host_meta.py

27 lines
849 B
Python

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