feat: 新增多格式文件上传入库与认证体系
- 新增 JWT 认证模块,支持登录/注册/用户管理 - 新增文件上传接口,支持 .txt/.md/.html/.pdf/.docx 等格式解析入库 - 新增检索结果 AI 总结功能 - 新增文本去重缓存机制 - 新增全局认证夹具简化测试 - 新增配置项与环境变量支持 - 完善文档与测试覆盖
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
"""pytest 全局夹具:覆盖 JWT 认证依赖,让现有 API 测试默认以 admin 身份运行
|
||||
|
||||
业务接口(search/document/knowledge)已加 Depends(get_current_user)、
|
||||
DELETE /documents 加了 Depends(require_admin)。这里通过 autouse 夹具把两个依赖
|
||||
统一替换为返回固定 admin AuthUser 的 lambda,使现有 API 测试无需改动即可通过认证。
|
||||
单个测试需要走真实认证逻辑时(如 tests/test_auth.py),可在测试函数内
|
||||
pop 掉对应 override,autouse fixture yield 后会统一 clear。
|
||||
"""
|
||||
|
||||
from datetime import UTC, datetime
|
||||
|
||||
import pytest
|
||||
|
||||
from app.core.auth import get_current_user, require_admin
|
||||
from app.main import app
|
||||
from app.models.auth import AuthUser
|
||||
|
||||
TEST_USER = AuthUser(username="testuser", role="admin", created_at=datetime.now(UTC))
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def override_auth():
|
||||
"""所有测试默认以 admin 身份运行;测试结束清理 dependency_overrides"""
|
||||
app.dependency_overrides[get_current_user] = lambda: TEST_USER
|
||||
app.dependency_overrides[require_admin] = lambda: TEST_USER
|
||||
yield
|
||||
app.dependency_overrides.clear()
|
||||
Reference in New Issue
Block a user