more features checks. setup improvements
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T10:40:00Z",
|
||||
"testCommand": "dotnet test src/Policy/__Tests/StellaOps.Policy.Engine.Tests/StellaOps.Policy.Engine.Tests.csproj --no-restore -v normal && dotnet test src/Policy/__Tests/StellaOps.Policy.Exceptions.Tests/StellaOps.Policy.Exceptions.Tests.csproj --no-restore -v normal",
|
||||
"testFilter": "PolicyGateEvaluatorTests (override/justification), ExceptionAdapterTests (audit trail), CveAwareReleasePolicyGatesDeepTests (DriftGate override), PostgresExceptionApplicationRepositoryTests",
|
||||
"testsRun": 1361,
|
||||
"testsPassed": 1361,
|
||||
"testsFailed": 0,
|
||||
"targetedTestMethods": [
|
||||
"PolicyGateEvaluatorTests.NotAffected_WithSU_AllowsWithWarning_WhenJustificationProvided",
|
||||
"PolicyGateEvaluatorTests.NotAffected_WithSU_Blocks_WhenNoJustification",
|
||||
"CveAwareReleasePolicyGatesDeepTests.DriftGate_KevReachable_Blocks",
|
||||
"CveAwareReleasePolicyGatesDeepTests.DriftGate_KevButNoNewReachable_Passes",
|
||||
"ExceptionAdapterTests.LoadExceptionsAsync_MapsExceptionTypeAndReasonToEffect",
|
||||
"ExceptionAdapterTests.LoadExceptionsAsync_BuildsMetadataCorrectly",
|
||||
"ExceptionAdapterTests.LoadExceptionsAsync_UsesCacheOnSecondCall",
|
||||
"PostgresExceptionApplicationRepositoryTests.RecordAsync_ShouldPersist",
|
||||
"PostgresExceptionApplicationRepositoryTests.GetByExceptionIdAsync_ReturnsMatches",
|
||||
"PostgresExceptionApplicationRepositoryTests.GetByEvaluationRunIdAsync_ReturnsMatches",
|
||||
"PostgresExceptionApplicationRepositoryTests.CountAsync_WithFilter_ReturnsFiltered"
|
||||
],
|
||||
"behaviorVerified": [
|
||||
"PolicyGateEvaluator override mechanism: justification required for gate bypass, empty justification blocks override",
|
||||
"Gate result PassWithNote for approved bypasses with full audit trail (gate name, decision, justification)",
|
||||
"ExceptionApplication audit record: ExceptionId, FindingId, OriginalStatus, AppliedStatus, EffectName, EffectType, EvaluationRunId, PolicyBundleDigest, AppliedAt, Metadata (arbitrary context including IP, actor, CI pipeline)",
|
||||
"IExceptionApplicationRepository: RecordAsync (single), RecordBatchAsync (bulk COPY BINARY), query by ExceptionId/FindingId/EvaluationRunId/TimeRange",
|
||||
"GetStatisticsAsync: total applications, unique exceptions/findings/vulnerabilities, breakdowns by effect type and status",
|
||||
"ExceptionAdapter metadata enrichment: exception.type, exception.reason, exception.owner, exception.requester, exception.rationale, exception.ticketRef, exception.evidenceRefs, exception.compensatingControls",
|
||||
"VerdictAttestationService: DSSE-signed attestations for all verdict decisions including bypasses",
|
||||
"DriftGateEvaluator: override mechanism with justification length requirement, gates disabled bypass"
|
||||
],
|
||||
"assertionTypes": [
|
||||
"value equality (Assert.Equal for PolicyGateDecisionType)",
|
||||
"null checks (Assert.Null/NotNull for BlockedBy)",
|
||||
"string containment (Assert.Contains for block reasons)",
|
||||
"collection assertions (Should().HaveCount, Should().AllSatisfy)",
|
||||
"mock verification (Times.Once for cache behavior)"
|
||||
],
|
||||
"newTestsWritten": [],
|
||||
"bugsFixed": [],
|
||||
"rawOutput": "Engine.Tests: Passed! - Failed: 0, Passed: 1278, Skipped: 0, Total: 1278, Duration: 6s 015ms; Exceptions.Tests: Passed! - Failed: 0, Passed: 83, Skipped: 0, Total: 83, Duration: 357ms",
|
||||
"verdict": "pass"
|
||||
}
|
||||
Reference in New Issue
Block a user