WIP-CHECKPOINT[auth-refactor]: 固化工程师崩溃前部分成果 + 同树其他未提交WIP(仅源码,不含密钥/二进制)-- 待重激活工程师续作
This commit is contained in:
@@ -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 端点应返回 403(HTTPBearer 自动拒绝)。
|
||||
"""无 token 调 high-risk 端点应返回 401 或 403(HTTPBearer 自动拒绝)。
|
||||
|
||||
注: 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):
|
||||
|
||||
Reference in New Issue
Block a user