用例改为按生产口径传入已脱敏 detail

- 原用例直接传带 token=secret 的原文,与函数「detail 已是 sidecar 脱敏文本」的前置条件不符,测的不是真实数据流
- 改为先按 8 KiB 口径 redact 出 safe_detail 再传入,metadata 仍按生产原样传未脱敏 JSON,保留脱敏覆盖
- 验证:cargo test runtime_error(7 passed)
This commit is contained in:
2026-09-21 22:45:06 +08:00
parent 4bdf9e2cd4
commit cc980267fe
@@ -264,6 +264,13 @@ mod tests {
let root = parent.path().join("project");
crate::project::init_local_game_project_at(&root, "runtime-error", "错误事件")
.expect("init project");
// 生产路径传进来的是已经脱敏的 safe_detail(8 KiB 口径),这里按同一口径造输入;
// metadata 在生产里从未脱敏,仍按原文传。
let safe_detail = redact_agent_runtime_error(
&root,
"C:\\Users\\private\\project https://provider.example/a?token=secret\n第二行诊断",
AGENT_RUNTIME_ERROR_MAX_DETAIL_CHARS,
);
let lines = agent_runtime_error_app_log_lines(
&root,
"error-1-1",
@@ -275,7 +282,7 @@ mod tests {
"本轮没有收到完成事件\n附带换行",
"查看诊断后重试",
".agent/runtime/errors/error-1-1.json",
"C:\\Users\\private\\project https://provider.example/a?token=secret\n第二行诊断",
&safe_detail,
Some(1200),
&serde_json::json!({"authorization": "Bearer secret"}),
);