fix: preserve artifact writer failures

This commit is contained in:
DongHyeonka
2026-08-02 04:46:33 +09:00
parent c9f5887cac
commit 381d5549e2
8 changed files with 575 additions and 149 deletions
+37
View File
@@ -165,6 +165,14 @@ describe("release artifact contracts", () => {
dependencyCount: 2,
}),
).toThrow();
expect(() =>
dependencyInventoryArtifactSchema.parse({
...inventory,
dependencyCount: 0,
directDependencyCount: 0,
dependencies: [],
}),
).toThrow();
});
it("rejects undeclared supply-chain verification evidence", () => {
@@ -215,6 +223,35 @@ describe("release artifact contracts", () => {
);
});
it("requires the complete repository registry set for success evidence", () => {
const successfulEvidence = {
schemaVersion: 2,
generatedAt: "2026-08-01T00:00:00.000Z",
baselineDigest: null,
currentDigest: "a".repeat(64),
compatibility: { impact: "not-evaluated", changes: [] },
failures: [],
registries: Array.from({ length: 11 }, (_, index) => ({
registryId: `registry-${index}`,
owner: "platform",
source: `src/registry-${index}.ts`,
rowCount: 0,
contract: {},
rows: {},
})),
} as const;
expect(registrySnapshotArtifactSchema.parse(successfulEvidence)).toEqual(
successfulEvidence,
);
expect(() =>
registrySnapshotArtifactSchema.parse({
...successfulEvidence,
registries: [],
}),
).toThrow();
});
it("preserves unverified field evidence when no samples are eligible", () => {
const report = {
schemaVersion: 1,