返回 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