Add tests for SBOM generation determinism across multiple formats
- Created `StellaOps.TestKit.Tests` project for unit tests related to determinism. - Implemented `DeterminismManifestTests` to validate deterministic output for canonical bytes and strings, file read/write operations, and error handling for invalid schema versions. - Added `SbomDeterminismTests` to ensure identical inputs produce consistent SBOMs across SPDX 3.0.1 and CycloneDX 1.6/1.7 formats, including parallel execution tests. - Updated project references in `StellaOps.Integration.Determinism` to include the new determinism testing library.
This commit is contained in:
@@ -7,6 +7,11 @@ Envelope types
|
||||
- Orchestrator events: versioned envelopes with idempotency keys and trace context.
|
||||
- Legacy Redis envelopes: transitional schemas used for older consumers.
|
||||
|
||||
Event catalog (examples)
|
||||
- scanner.event.report.ready@1 and scanner.event.scan.completed@1 (orchestrator envelopes).
|
||||
- scanner.report.ready@1 and scanner.scan.completed@1 (legacy Redis envelopes).
|
||||
- scheduler.rescan.delta@1, scheduler.graph.job.completed@1, attestor.logged@1.
|
||||
|
||||
Orchestrator envelope fields (v1)
|
||||
- eventId, kind, version, tenant
|
||||
- occurredAt, recordedAt
|
||||
@@ -26,6 +31,8 @@ Versioning rules
|
||||
Validation
|
||||
- Schemas and samples live under docs/events/ and docs/events/samples/.
|
||||
- Offline validation uses ajv-cli; keep schema checks deterministic.
|
||||
- Validate schemas with ajv compile and validate samples against matching schemas.
|
||||
- Add new samples for each new schema version.
|
||||
|
||||
Related references
|
||||
- docs/events/README.md
|
||||
|
||||
Reference in New Issue
Block a user