Files
life-echo/api/tests/test_content_static_http.py

38 lines
1.1 KiB
Python
Raw Permalink Normal View History

"""Content 静态页 HTTP smokelegal 与官网主页。"""
from __future__ import annotations
import pytest
from fastapi import FastAPI
from httpx import ASGITransport, AsyncClient
from app.features.content.router import router as content_router
from tests.conftest import install_test_error_handlers
@pytest.fixture
def content_app() -> FastAPI:
app = install_test_error_handlers(FastAPI())
app.include_router(content_router)
return app
@pytest.mark.asyncio
@pytest.mark.parametrize(
"path,expected_fragment",
[
("/api/legal/terms", "用户协议"),
("/api/legal/privacy", "隐私"),
("/", "岁月留书"),
],
)
async def test_content_static_pages_return_html(
content_app: FastAPI, path: str, expected_fragment: str
) -> None:
transport = ASGITransport(app=content_app)
async with AsyncClient(transport=transport, base_url="http://test") as client:
r = await client.get(path)
assert r.status_code == 200
assert r.headers.get("content-type", "").startswith("text/html")
assert expected_fragment in r.text