chore: add ruff pre-commit hook

This commit is contained in:
Leon
2025-07-16 09:59:21 +02:00
parent 39924e69ab
commit 54c051c379
5 changed files with 132 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ from sqlalchemy.orm import Session
from app.core.database import get_db
from app.core.logging import get_logger
from app.crud.entries import create_entry
from app.crud.newsletters import (
create_newsletter,
delete_newsletter,
@@ -12,9 +13,8 @@ from app.crud.newsletters import (
get_newsletters,
update_newsletter,
)
from app.schemas.newsletters import Newsletter, NewsletterCreate, NewsletterUpdate
from app.schemas.entries import Entry, EntryCreate
from app.crud.entries import create_entry
from app.schemas.newsletters import Newsletter, NewsletterCreate, NewsletterUpdate
logger = get_logger(__name__)
router = APIRouter()
@@ -82,6 +82,8 @@ def create_newsletter_entry(
logger.info(f"Request to create entry for newsletter_id={newsletter_id}")
db_newsletter = get_newsletter(db, newsletter_id=newsletter_id)
if db_newsletter is None:
logger.warning(f"Newsletter with id={newsletter_id} not found, cannot create entry")
logger.warning(
f"Newsletter with id={newsletter_id} not found, cannot create entry"
)
raise HTTPException(status_code=404, detail="Newsletter not found")
return create_entry(db=db, entry=entry, newsletter_id=newsletter_id)

View File

@@ -163,12 +163,15 @@ def test_get_newsletter_feed(client: TestClient):
response = client.get(f"/feeds/{newsletter_id}")
assert response.status_code == 200
assert "application/atom+xml" in response.headers["content-type"]
assert f"<title>Feed Test Newsletter</title>" in response.text
assert "<title>Feed Test Newsletter</title>" in response.text
import xml.etree.ElementTree as ET
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'}
entry_titles = [entry.find('atom:title', ns).text for entry in root.findall('atom:entry', ns)]
ns = {"atom": "http://www.w3.org/2005/Atom"}
entry_titles = [
entry.find("atom:title", ns).text for entry in root.findall("atom:entry", ns)
]
assert "Test Entry 1" in entry_titles
assert "Test Entry 2" in entry_titles