test: add dev m3 blocked evidence detail

This commit is contained in:
HWLAB Code Queue
2026-05-21 16:44:13 +00:00
parent 9f56de2062
commit 5e74278e74
4 changed files with 140 additions and 7 deletions
+20
View File
@@ -339,6 +339,26 @@ async function validateDevM3Report(report, label) {
}
}
if (Object.hasOwn(report, "readOnlySupplementalEvidence")) {
assertArray(report.readOnlySupplementalEvidence, `${label}.readOnlySupplementalEvidence`);
for (const [index, evidence] of report.readOnlySupplementalEvidence.entries()) {
const evidenceLabel = `${label}.readOnlySupplementalEvidence[${index}]`;
assertObject(evidence, evidenceLabel);
for (const field of ["id", "status", "source", "summary", "evidence", "requiredFollowUp"]) {
assert.ok(Object.hasOwn(evidence, field), `${evidenceLabel} missing ${field}`);
}
assertString(evidence.id, `${evidenceLabel}.id`);
assert.ok(["pass", "gap"].includes(evidence.status), `${evidenceLabel}.status must be pass or gap`);
assertRepoRelativePath(evidence.source, `${evidenceLabel}.source`);
assertString(evidence.summary, `${evidenceLabel}.summary`);
assertObject(evidence.evidence, `${evidenceLabel}.evidence`);
assertString(evidence.requiredFollowUp, `${evidenceLabel}.requiredFollowUp`);
if (Object.hasOwn(evidence, "blockerClass") && evidence.blockerClass !== null) {
assert.ok(blockerTypes.has(evidence.blockerClass), `${evidenceLabel}.blockerClass must be known`);
}
}
}
assertObject(report.liveOperation, `${label}.liveOperation`);
assertStatus(report.liveOperation.status, `${label}.liveOperation.status`);
for (const field of ["operationId", "traceId", "auditId", "evidenceId", "summary"]) {