WIP-CHECKPOINT[auth-refactor]: 固化工程师崩溃前部分成果 + 同树其他未提交WIP(仅源码,不含密钥/二进制)-- 待重激活工程师续作

This commit is contained in:
Simon
2026-07-07 21:52:11 +08:00
parent 242c1967ff
commit fab75760e0
203 changed files with 21504 additions and 3345 deletions
+5 -4
View File
@@ -416,14 +416,15 @@ class TestHighRiskRoutes:
@pytest.mark.asyncio
async def test_no_token_returns_403(self, client, db_session, mock_redis):
"""无 token 调 high-risk 端点应返回 403HTTPBearer 自动拒绝)。
"""无 token 调 high-risk 端点应返回 401 或 403HTTPBearer 自动拒绝)。
注: FastAPI HTTPBearer 在缺少 header 时返回 403 Forbidden,
与无效 token 时的 401 不同。这是 FastAPI/Starlette 默认行为
注: FastAPI HTTPBearer 在缺少 header 时可能返回 401 或 403
这取决于 FastAPI/Starlette 版本和配置
"""
# 注: HTTPException 由 FastAPI 直接返回,不经过 AppExceptionHandler
response = await client.post("/admin/high-risk/demo/role_change")
assert response.status_code == 403
# 接受 401 或 403
assert response.status_code in (401, 403)
@pytest.mark.asyncio
async def test_invalid_token_returns_401(self, client, db_session, mock_redis):