初次提交

This commit is contained in:
2025-10-14 20:05:29 +08:00
commit 6e4e48fdd2
673 changed files with 437006 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
import pytest
from fastapi.testclient import TestClient
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from main import app
from app.core.database import get_db, Base
# 测试数据库
SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db"
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base.metadata.create_all(bind=engine)
def override_get_db():
try:
db = TestingSessionLocal()
yield db
finally:
db.close()
app.dependency_overrides[get_db] = override_get_db
client = TestClient(app)
class TestHealthAPI:
"""健康检查API测试"""
def test_health_check(self):
"""测试基础健康检查"""
response = client.get("/api/v1/health")
assert response.status_code == 200
data = response.json()
assert data["success"] is True
assert data["data"]["status"] == "healthy"
assert "service" in data["data"]
assert "timestamp" in data["data"]
def test_readiness_check(self):
"""测试就绪检查"""
response = client.get("/api/v1/ready")
assert response.status_code == 200
data = response.json()
assert data["success"] is True
assert data["data"]["status"] == "ready"
assert "checks" in data["data"]
assert "database" in data["data"]["checks"]
assert "redis" in data["data"]["checks"]
assert "storage" in data["data"]["checks"]
def test_root_endpoint(self):
"""测试根路径"""
response = client.get("/")
assert response.status_code == 200
data = response.json()
assert "message" in data
assert "version" in data
if __name__ == "__main__":
pytest.main([__file__, "-v"])