- uv 工程(Python 3.12,pyproject + uv.lock,dev: pytest/ruff) - 分层包结构:api / application / domain / infrastructure / quant(qlib_adapter) / agent / core - app.core.config:加载根 config.yaml + .env,sqlite 相对路径解析到项目根 data/ - SQLAlchemy Base + Session 工厂(Infrastructure 层,业务走 Repository) - Alembic 迁移环境就位(env.py 复用应用配置,render_as_batch 兼容 SQLite) - GET /api/health + pytest 冒烟 6 项通过 / ruff clean / uvicorn 启动验证
24 lines
609 B
Python
24 lines
609 B
Python
"""冒烟测试:确认 FastAPI 应用可加载、健康检查可用。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from app.main import app
|
|
from fastapi.testclient import TestClient
|
|
|
|
client = TestClient(app)
|
|
|
|
|
|
def test_health_ok() -> None:
|
|
resp = client.get("/api/health")
|
|
assert resp.status_code == 200
|
|
body = resp.json()
|
|
assert body["status"] == "ok"
|
|
assert body["app"] == "qlib-platform"
|
|
assert body["version"]
|
|
|
|
|
|
def test_openapi_available() -> None:
|
|
resp = client.get("/openapi.json")
|
|
assert resp.status_code == 200
|
|
assert resp.json()["info"]["title"] == "qlib-platform"
|