mirror of
https://github.com/khoaliber/LetterFeed.git
synced 2026-03-08 21:29:13 +00:00
chore: add ruff pre-commit hook
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user