root
c40b5b5981
fix(discovery): 错误分类 + 去掉重复请求 URL
演练错误路径时发现两个真问题。
**① 密钥错误被报成 502(上游故障)。** 这是最常见的失败,却和「厂商挂了」
给出完全相同的错误。两者需要的动作正好相反:重新输 key vs 去查厂商状态页。
操作员只能猜。现在 401/403 会得到 401 并在信息里点名 api key;
DNS 不解析、TLS 失败、连接被拒也各自带一句可执行的说明。
**② 错误信息里的 tried 列表有重复。** base "https://h/v1" + path "/models"
和 base "https://h" + path "/v1/models" 请求的是同一个地址,但候选去重只按
(base, path) 对,于是同一条 URL 在错误信息里出现两次——读起来像「试了两个
地方」,其实只试了一个。改成按最终 URL 去重。
去重后候选从 3 个变成 2 个,两个判据的期望值需要跟着改:
TestDiscoveryCandidates_DedupesAndPrefersTyped 和变异测试的
「fallback search」原本断言 >= 3,那是在测量 bug 而不是覆盖度。覆盖没有丢失:
剩下的两条是 https://h/v1/models 和 https://h/models,两个不同地址。
新增判据:
TestDiscoverModels_WrongKeyIsUnauthorizedNotBadGateway
TestDiscoverModels_UnreachableStaysBadGateway(防止过度纠正)
TestDiscoveryCandidates_NoDuplicateRequests
TestDiscoverModels_FailureListsEachURLOnce(对操作员真正读到的文本断言)
2026-10-06 15:02:42 +08:00
..
2026-10-06 15:02:42 +08:00
2026-10-04 14:50:46 +08:00
2026-09-27 17:12:03 +08:00
2026-10-06 15:02:42 +08:00
2026-10-02 12:55:54 +08:00
2026-10-02 12:55:54 +08:00
2026-08-28 12:02:46 +08:00
2026-10-06 15:02:42 +08:00
2026-10-06 15:02:42 +08:00
2026-09-27 17:12:03 +08:00
2026-10-02 15:44:50 +08:00
2026-10-06 15:02:42 +08:00
2026-10-06 15:02:42 +08:00
2026-10-06 15:02:42 +08:00
2026-10-06 15:02:42 +08:00
2026-10-06 15:02:42 +08:00
2026-09-28 23:42:48 +08:00
2026-10-02 08:47:08 +08:00
2026-10-03 07:45:54 +08:00
2026-09-28 23:42:48 +08:00
2026-09-27 18:44:41 +08:00
2026-09-27 18:44:41 +08:00
2026-09-27 18:44:41 +08:00
2026-09-28 23:42:48 +08:00
2026-10-03 07:45:54 +08:00
2026-08-30 08:04:22 +08:00
2026-09-27 17:12:03 +08:00
2026-10-04 14:50:46 +08:00
2026-10-04 14:50:46 +08:00
2026-10-02 01:03:39 +08:00
2026-10-04 14:50:46 +08:00
2026-10-05 08:17:57 +08:00
2026-10-06 15:02:42 +08:00
2026-10-01 20:36:48 +08:00
2026-10-01 18:15:29 +08:00
2026-10-01 23:37:17 +08:00
2026-10-03 10:32:51 +08:00
2026-10-04 14:50:46 +08:00
2026-10-02 12:26:26 +08:00
2026-08-30 09:29:42 +08:00
2026-10-04 14:50:47 +08:00
2026-09-28 22:19:12 +08:00
2026-10-01 20:36:48 +08:00
2026-10-04 07:05:36 +08:00
2026-10-04 14:50:46 +08:00
2026-09-27 19:02:13 +08:00