2.2 KiB
2.2 KiB
Changelog — test_api 健康检查与生产 Gate 跟进
日期: 2026-06-01
类型: 修复 / 运维跟进
摘要
tests/test_api.py:GET /health改为断言纯文本ok(与server/api/health.py的PlainTextResponse一致),不再json.loads。- 生产
.env:NEXUS_TEST_ADMIN_PASSWORD须与数据库admin密码一致;原值Nexus@2026Test导致 Gate 3 登录 401。
动机
部署后 python3 tests/test_api.py 18/18 失败:健康检查因期望 JSON 解析失败;其余用例因未拿到 JWT 连锁失败。
涉及文件
tests/test_api.py— 新增test_plain_text(),/health用例改用- 生产
/www/wwwroot/api.synaglobal.vip/.env—NEXUS_TEST_ADMIN_PASSWORD对齐真实管理员密码(运维操作,不入库)
前置条件
NEXUS_TEST_ADMIN_USER/NEXUS_TEST_ADMIN_PASSWORD与 MySQLadmins表一致- 后端监听
NEXUS_TEST_BASE(默认http://127.0.0.1:8600)
迁移 / 重启
- 仅改测试脚本:无需重启;改
.env后无需重启(测试进程读环境变量) - 前端 assets prune:务必先
python deploy/prune_frontend_assets.py --dry-run,确认would_remove合理后再实删
验证
# 服务器
cd /www/wwwroot/api.synaglobal.vip
python3 tests/test_api.py
# 预期:Results: N/N passed, 0 failed
curl -s http://127.0.0.1:8600/health # ok
回滚
- 还原
tests/test_api.py中 health 用例为旧版(不推荐,与 API 契约不符) .env测试密码改回前值仅当故意使用独立测试账号时
2026-06-01 晚间追加(前端部署)
vite build+ tar/scp 部署至生产web/app/- 事故:
prune_frontend_assets.py正则首字符不允许_,误删_plugin-vue_export-helper-*.js→ 全站白屏;已 scp 恢复并修复正则[_A-Za-z0-9]... - 后端:
RefreshRequest.refresh_token改为 Optional,空 body{}不再 422 - 浏览器验证:
#/servers勾选 2 台后出现「已选择 2 台服务器」及批量按钮(含normalizeServerIds的ServersPage-Vzm34hgn.js)
关联
docs/changelog/2026-06-01-bug-remediation.mddeploy/prune_frontend_assets.py(Rolldown 闭包引用扫描;须匹配_plugin-vue_export-helper等 chunk)