Add unit tests for PackRunAttestation and SealedInstallEnforcer
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
release-manifest-verify / verify (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
release-manifest-verify / verify (push) Has been cancelled
- Implement comprehensive tests for PackRunAttestationService, covering attestation generation, verification, and event emission. - Add tests for SealedInstallEnforcer to validate sealed install requirements and enforcement logic. - Introduce a MonacoLoaderService stub for testing purposes to prevent Monaco workers/styles from loading during Karma runs.
This commit is contained in:
214
src/Policy/StellaOps.Policy.Registry/IPolicyRegistryClient.cs
Normal file
214
src/Policy/StellaOps.Policy.Registry/IPolicyRegistryClient.cs
Normal file
@@ -0,0 +1,214 @@
|
||||
using StellaOps.Policy.Registry.Contracts;
|
||||
|
||||
namespace StellaOps.Policy.Registry;
|
||||
|
||||
/// <summary>
|
||||
/// Typed HTTP client for Policy Registry API.
|
||||
/// Based on OpenAPI: docs/schemas/policy-registry-api.openapi.yaml
|
||||
/// </summary>
|
||||
public interface IPolicyRegistryClient
|
||||
{
|
||||
// ============================================================
|
||||
// VERIFICATION POLICY OPERATIONS
|
||||
// ============================================================
|
||||
|
||||
Task<VerificationPolicyList> ListVerificationPoliciesAsync(
|
||||
Guid tenantId,
|
||||
PaginationParams? pagination = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<VerificationPolicy> CreateVerificationPolicyAsync(
|
||||
Guid tenantId,
|
||||
CreateVerificationPolicyRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<VerificationPolicy> GetVerificationPolicyAsync(
|
||||
Guid tenantId,
|
||||
string policyId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<VerificationPolicy> UpdateVerificationPolicyAsync(
|
||||
Guid tenantId,
|
||||
string policyId,
|
||||
UpdateVerificationPolicyRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task DeleteVerificationPolicyAsync(
|
||||
Guid tenantId,
|
||||
string policyId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
// ============================================================
|
||||
// POLICY PACK OPERATIONS
|
||||
// ============================================================
|
||||
|
||||
Task<PolicyPackList> ListPolicyPacksAsync(
|
||||
Guid tenantId,
|
||||
PolicyPackStatus? status = null,
|
||||
PaginationParams? pagination = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<PolicyPack> CreatePolicyPackAsync(
|
||||
Guid tenantId,
|
||||
CreatePolicyPackRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<PolicyPack> GetPolicyPackAsync(
|
||||
Guid tenantId,
|
||||
Guid packId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<PolicyPack> UpdatePolicyPackAsync(
|
||||
Guid tenantId,
|
||||
Guid packId,
|
||||
UpdatePolicyPackRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task DeletePolicyPackAsync(
|
||||
Guid tenantId,
|
||||
Guid packId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<CompilationResult> CompilePolicyPackAsync(
|
||||
Guid tenantId,
|
||||
Guid packId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<SimulationResult> SimulatePolicyPackAsync(
|
||||
Guid tenantId,
|
||||
Guid packId,
|
||||
SimulationRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<PolicyPack> PublishPolicyPackAsync(
|
||||
Guid tenantId,
|
||||
Guid packId,
|
||||
PublishRequest? request = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<PolicyPack> PromotePolicyPackAsync(
|
||||
Guid tenantId,
|
||||
Guid packId,
|
||||
PromoteRequest? request = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
// ============================================================
|
||||
// SNAPSHOT OPERATIONS
|
||||
// ============================================================
|
||||
|
||||
Task<SnapshotList> ListSnapshotsAsync(
|
||||
Guid tenantId,
|
||||
PaginationParams? pagination = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Snapshot> CreateSnapshotAsync(
|
||||
Guid tenantId,
|
||||
CreateSnapshotRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Snapshot> GetSnapshotAsync(
|
||||
Guid tenantId,
|
||||
Guid snapshotId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task DeleteSnapshotAsync(
|
||||
Guid tenantId,
|
||||
Guid snapshotId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Snapshot> GetSnapshotByDigestAsync(
|
||||
Guid tenantId,
|
||||
string digest,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
// ============================================================
|
||||
// VIOLATION OPERATIONS
|
||||
// ============================================================
|
||||
|
||||
Task<ViolationList> ListViolationsAsync(
|
||||
Guid tenantId,
|
||||
Severity? severity = null,
|
||||
PaginationParams? pagination = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Violation> AppendViolationAsync(
|
||||
Guid tenantId,
|
||||
CreateViolationRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<ViolationBatchResult> AppendViolationBatchAsync(
|
||||
Guid tenantId,
|
||||
ViolationBatchRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Violation> GetViolationAsync(
|
||||
Guid tenantId,
|
||||
Guid violationId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
// ============================================================
|
||||
// OVERRIDE OPERATIONS
|
||||
// ============================================================
|
||||
|
||||
Task<Override> CreateOverrideAsync(
|
||||
Guid tenantId,
|
||||
CreateOverrideRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Override> GetOverrideAsync(
|
||||
Guid tenantId,
|
||||
Guid overrideId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task DeleteOverrideAsync(
|
||||
Guid tenantId,
|
||||
Guid overrideId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Override> ApproveOverrideAsync(
|
||||
Guid tenantId,
|
||||
Guid overrideId,
|
||||
ApproveOverrideRequest? request = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<Override> DisableOverrideAsync(
|
||||
Guid tenantId,
|
||||
Guid overrideId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
// ============================================================
|
||||
// SEALED MODE OPERATIONS
|
||||
// ============================================================
|
||||
|
||||
Task<SealedModeStatus> GetSealedModeStatusAsync(
|
||||
Guid tenantId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<SealedModeStatus> SealAsync(
|
||||
Guid tenantId,
|
||||
SealRequest? request = null,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<SealedModeStatus> UnsealAsync(
|
||||
Guid tenantId,
|
||||
UnsealRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<BundleVerificationResult> VerifyBundleAsync(
|
||||
Guid tenantId,
|
||||
VerifyBundleRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
// ============================================================
|
||||
// STALENESS OPERATIONS
|
||||
// ============================================================
|
||||
|
||||
Task<StalenessStatus> GetStalenessStatusAsync(
|
||||
Guid tenantId,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
Task<StalenessEvaluation> EvaluateStalenessAsync(
|
||||
Guid tenantId,
|
||||
EvaluateStalenessRequest request,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
Reference in New Issue
Block a user