From 6fc43c1f1ccb29d61ce5d2ad05326f4798351aed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Mon, 19 Oct 2026 16:52:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(tests):=20conftest=20=E9=92=89=20ADMIN=5FPA?= =?UTF-8?q?SSWORD=20=E5=87=BA=E5=8E=82=E5=80=BC=E2=80=94=E2=80=94=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E5=AF=B9=E6=9C=AC=E5=9C=B0=20.env=20=E5=B0=81?= =?UTF-8?q?=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Code --- tests/conftest.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index fd9dbe6..bd521fd 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -14,6 +14,12 @@ from urllib.parse import urlsplit from app.engine.models import Base +# 测试环境封闭(2026-10-19 修复):Settings(BaseSettings) 会读仓库 .env—— +# 开发机 .env 的 ADMIN_PASSWORD(如 Docker 测试环境的强密码)会盖过 lifespan +# 引导的出厂值 admin123,测试登录全员 401。真实环境变量优先级本就高于 +# .env,这里把测试期望值钉进 os.environ(已显式设置则不覆盖,CI 可另行注入)。 +os.environ.setdefault("ADMIN_PASSWORD", "admin123") + # Task 5b 装配切换: app 不再有全局 engine/async_session——旧 conftest 里 # "先 import app.main 再 import chat_rest"的循环导入次序坑随全局单例一并 # 消失(routes 不再反向 import app.main),直接导入即可。