返回 Bug 清单
BUG-0649project-52中已修复test-flaky
integration test 401 → Gitea write scope token 全链路通
发现:2026-10-09验证:2026-10-09置信度:70%
症状
commit 887da1cfa76f (2026-09-11) fix: integration test 401 → Gitea write scope token 全链路通
根因
根因链(一层层扒出来的):
修复方案
修复 12 行,删除 4 行。改动文件: project-521.0.0/backend/src/sync/SyncRunner.integration.test.ts
错误签名
fix: integration test 401 → Gitea write scope token 全链路通 根因链(一层层扒出来的):
1. abstract.ts fetchJson 硬写 Authorization: Bearer
→ Gitea 需要 'token xxx' 不是 'Bearer xxx'
2. 初始 Gitea token 只有 read scope → POST /user/repos 403
3. gitea CLI 生成新 token 后,Jest 里 process.env.GITEA_TOKEN 还是 shell 残留的旧值
→ dotenv 默认不覆盖已有 env,加 override: true 修复
4. 连通性探测 POST /user/repos 返回 409(仓库已存在)
→ canWrite 判断逻辑 2xx-3xx 太窄,409 也算 write OK
5. ts-jest 直接跑 ts 不编译 dist,dotenv.config() 必须在 test 文件顶层
修复:
- SyncRunner.integr技术信息
来源项目
project-52
涉及文件
project-521.0.0/backend/src/sync/SyncRunner.integration.test.ts
标签
git-sweep, auto-ingested, project-52, mcp-reported, source-agent