Skip to content

Commit 99fee0a

Browse files
committed
test(evidence): assert shared result classes and outcomes
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
1 parent 4d87039 commit 99fee0a

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

‎crates/registry-evidencectl/tests/ctl_convention.rs‎

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ fn scaffold(root: &Path) -> std::path::PathBuf {
152152
.args(["--transport", "sqlite-extract", "--profile", "local"])
153153
.output()
154154
.expect("run init");
155-
conforming(&output, "init", SUCCESS, "created");
155+
let report = conforming(&output, "init", SUCCESS, "complete");
156+
assert_eq!(report["outcome"], "created");
156157
project
157158
}
158159

@@ -253,7 +254,8 @@ fn init_check_and_explain_share_the_envelope() {
253254
.arg(&project)
254255
.output()
255256
.expect("run refused command");
256-
let refused = conforming(&output, command, DOMAIN_REFUSAL, "refused");
257+
let refused = conforming(&output, command, DOMAIN_REFUSAL, "domain-refusal");
258+
assert_eq!(refused["outcome"], "refused", "{command}");
257259
let keys = |report: &Value| {
258260
report
259261
.as_object()
@@ -262,7 +264,16 @@ fn init_check_and_explain_share_the_envelope() {
262264
.cloned()
263265
.collect::<std::collections::BTreeSet<_>>()
264266
};
265-
assert_eq!(keys(&refused), keys(passing), "{command} key sets diverge");
267+
let mut expected_refused_keys = keys(passing);
268+
assert!(
269+
expected_refused_keys.insert("outcome".to_owned()),
270+
"{command} successful report unexpectedly carried an outcome"
271+
);
272+
assert_eq!(
273+
keys(&refused),
274+
expected_refused_keys,
275+
"{command} key sets diverge"
276+
);
266277
}
267278
}
268279

‎crates/registry-evidencectl/tests/doctor.rs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,10 +331,11 @@ fn doctor_json_puts_one_envelope_on_stdout_and_nothing_on_stderr() {
331331
"stdout must carry exactly one JSON document: {stdout}"
332332
);
333333
assert!(
334-
lines[0].starts_with(r#"{"ok":true,"command":"doctor","status":"passed","#),
334+
lines[0].starts_with(r#"{"ok":true,"command":"doctor","status":"complete","#),
335335
"the report opens with the shared envelope: {stdout}"
336336
);
337337
let report: serde_json::Value = serde_json::from_str(lines[0]).expect("parse the JSON report");
338+
assert_eq!(report["outcome"], "passed");
338339
assert_eq!(report["passed"], serde_json::Value::Bool(true));
339340
let checks = report["checks"].as_array().expect("checks array");
340341
assert!(

0 commit comments

Comments
 (0)