JianFeeeee
7c82c7ff6b
fix(channels): account_clear_credentialless 尊重 dry_run(args=req 回退吃掉 body)
## 真实缺陷(我自己在上一个提交里引入,部署后实测踩到)
handler 开头照其它 18 处写了 `if args.platform == nil then args = req end`。
但本函数**不传 platform 是合法用法**(清全部平台)⇒ args.platform 自然为 nil
⇒ args 被换成 HandlerRequest ⇒ 刚解出来的 dry_run 就丢了 ⇒
**传 dry_run=false 却被当成未传,静默只预演**。
破坏性操作里这是最糟的形态:操作者以为执行了、实际没执行(反过来同样危险)。
实测:不带 platform 时 deleted 恒为 nil,池子一个没动。
## 修法
兜底只认「req 本身就是参数表」这种形态(`req.body == nil and req.query == nil`),
不再用「某字段为 nil」当判据 —— 那个字段为 nil 可能只是本次调用**合法地没用它**。
## ★ 判据为什么第一版没咬住
我原来的夹具用 **map body** 调 Call,而缺陷只在**字符串 body**(HTTP 真实路径)
上暴露 —— `bodyOf` 对 table 直接返回,根本走不到回退那行。
补 `TestAccountClearCredentiallessRespectsDryRunViaStringBody`(用
`InvokeHandler` + 字符串 body + 不传 platform)后变异才咬住。
**教训:夹具的调用形态必须与生产一致 —— 用 map 便捷调用会绕过 body 解析路径。**
判据 4 条(含本条)+ 变异 3/3。
2026-10-16 07:51:21 +08:00
..
2026-10-15 20:30:33 +08:00
2026-10-16 07:51:21 +08:00
2026-10-15 20:30:33 +08:00
2026-10-15 20:30:33 +08:00
2026-10-13 22:51:50 +08:00
2026-10-13 22:34:13 +08:00
2026-10-13 23:42:04 +08:00
2026-10-06 15:02:42 +08:00
2026-10-12 16:37:23 +08:00
2026-10-11 09:23:34 +08:00
2026-10-11 09:23:34 +08:00
2026-10-02 12:41:35 +08:00
2026-10-13 13:42:57 +08:00
2026-10-13 13:42:57 +08:00
2026-10-13 23:42:04 +08:00
2026-10-13 23:28:27 +08:00
2026-10-12 12:32:10 +08:00
2026-10-13 13:42:57 +08:00
2026-10-02 10:45:20 +08:00
2026-10-13 13:42:57 +08:00
2026-10-02 14:07:44 +08:00
2026-10-13 06:57:28 +08:00
2026-10-13 06:57:28 +08:00
2026-10-14 10:55:50 +08:00
2026-10-13 13:42:57 +08:00
2026-10-04 14:50:46 +08:00
2026-10-11 09:35:32 +08:00
2026-10-05 08:17:57 +08:00
2026-10-05 08:17:57 +08:00
2026-10-11 13:25:11 +08:00
2026-10-11 10:03:43 +08:00
2026-10-12 12:32:10 +08:00
2026-10-13 22:28:34 +08:00
2026-10-14 11:31:41 +08:00
2026-10-05 08:17:57 +08:00
2026-10-05 08:17:57 +08:00
2026-10-05 08:17:57 +08:00
2026-10-11 09:35:32 +08:00
2026-10-11 09:35:32 +08:00
2026-10-15 14:57:13 +08:00
2026-10-13 06:57:28 +08:00
2026-10-13 06:57:28 +08:00
2026-10-13 06:57:28 +08:00
2026-10-16 00:56:14 +08:00
2026-10-14 11:31:41 +08:00
2026-10-16 00:56:14 +08:00
2026-10-11 20:50:52 +08:00
2026-10-07 17:37:22 +08:00
2026-10-05 08:17:57 +08:00
2026-10-11 13:25:11 +08:00
2026-10-15 22:43:08 +08:00
2026-10-13 13:42:57 +08:00
2026-10-11 09:35:32 +08:00
2026-10-04 14:50:46 +08:00
2026-10-13 13:42:57 +08:00
2026-10-16 00:56:14 +08:00
2026-10-07 17:37:22 +08:00
2026-10-11 09:35:32 +08:00
2026-10-12 12:32:10 +08:00
2026-10-14 10:46:05 +08:00
2026-10-13 13:42:57 +08:00
2026-10-12 16:32:30 +08:00
2026-10-14 11:31:41 +08:00
2026-10-11 08:17:56 +08:00
2026-10-11 09:35:32 +08:00
2026-10-12 19:07:09 +08:00
2026-10-13 22:34:13 +08:00