feat: LetterFeed logo for feed

This commit is contained in:
Leon
2025-07-19 19:12:15 +02:00
parent 830fcc5757
commit 5abb379af0
4 changed files with 7 additions and 0 deletions

View File

@@ -182,6 +182,9 @@ def test_get_newsletter_feed(client: TestClient):
root = ET.fromstring(response.text)
# Atom feed uses a namespace, so we need to include it in our tag searches
ns = {"atom": "http://www.w3.org/2005/Atom"}
logo = root.find("atom:logo", ns)
assert logo is not None
assert logo.text == "http://localhost:8000/logo.png"
entry_titles = [
entry.find("atom:title", ns).text for entry in root.findall("atom:entry", ns)
]

View File

@@ -40,6 +40,7 @@ def test_generate_feed(db_session: Session):
# In a real scenario, you'd use an XML parser to validate structure and content more thoroughly
assert f"<title>{newsletter.name}</title>" in feed_xml.decode()
assert f"<id>urn:letterfeed:newsletter:{newsletter.id}</id>" in feed_xml.decode()
assert "<logo>http://localhost:8000/logo.png</logo>" in feed_xml.decode()
assert "<title>First Entry</title>" in feed_xml.decode()
assert "<title>Second Entry</title>" in feed_xml.decode()
assert (