- 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.
732 B
732 B
Testing and quality
Principles
- Determinism is a contract: identical inputs must yield identical outputs.
- Offline-first: tests should pass without network access.
- Evidence-first: assertions cover evidence chains, not only verdicts.
Test layers
- Unit and property tests for core libraries.
- Integration tests with PostgreSQL and Valkey.
- Contract tests for OpenAPI and schemas.
- End-to-end tests for scan, policy, and offline workflows.
- Replay verification against golden corpora.
Quality gates
- Determinism checks on replay outputs.
- Interop checks against external tooling formats.
- Offline E2E runs as a release gate.
- Policy and schema validation in CI.
Related references
- testing/router-chaos.md