fix: preserve artifact writer failures
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user