2.7 KiB
2.7 KiB
Export Job Service
Module
Orchestrator
Status
IMPLEMENTED
Description
Export job management with service and domain model for orchestrated export operations.
Implementation Details
- Modules:
src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Services/,src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ - Key Classes:
ExportJobService(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Services/ExportJobService.cs) - manages export job lifecycle: creation, scheduling, execution tracking, and completionExportJob(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportJob.cs) - export job entity with status, target, format, and scheduleExportJobPolicy(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportJobPolicy.cs) - policy controlling export permissions and constraintsExportJobTypes(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportJobTypes.cs) - enumeration of supported export types (evidence pack, audit report, snapshot)ExportSchedule(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportSchedule.cs) - scheduling configuration for recurring exportsLedgerExporter(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Infrastructure/Ledger/LedgerExporter.cs) - exports audit ledger data for compliance and auditExportJobEndpoints(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.WebService/Endpoints/ExportJobEndpoints.cs) - REST API for creating, querying, and managing export jobs
- Interfaces:
ILedgerExporter(src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Infrastructure/Ledger/ILedgerExporter.cs) - Source: Feature matrix scan
E2E Test Plan
- Create an export job via
ExportJobEndpointswith type=evidence_pack and verify it is persisted with status=Pending - Execute the export job via
ExportJobServiceand verify status transitions: Pending -> Running -> Completed - Verify export policy enforcement: create an export job with a restricted type and verify
ExportJobPolicyrejects it - Schedule a recurring export via
ExportScheduleand verify the next execution is computed correctly - Export audit ledger data via
LedgerExporterand verify the output contains all entries within the specified time range - Create an export job with retention policy and verify completed exports are cleaned up after expiry
- Query export jobs via
ExportJobEndpointswith status filter and verify pagination works correctly - Test export failure: simulate an export error and verify the job transitions to Failed with error details