Expand description
Test execution orchestrator for managing the full execution lifecycle.
This module implements the TestExecutionOrchestrator which orchestrates the full test execution lifecycle, including polling for checkpoint updates, processing operations, and scheduling handler re-invocations.
This matches the Node.js SDK’s TestExecutionOrchestrator pattern.
§Requirements
- 16.1: WHEN a wait operation is encountered, THE Test_Execution_Orchestrator SHALL track the wait’s scheduled end timestamp
- 16.2: WHEN time skipping is enabled and a wait’s scheduled end time is reached, THE Test_Execution_Orchestrator SHALL mark the wait as SUCCEEDED and schedule handler re-invocation
- 16.3: WHEN time skipping is enabled, THE Test_Execution_Orchestrator SHALL use tokio::time::advance() to skip wait durations instantly
- 16.4: WHEN a handler invocation returns PENDING status, THE Test_Execution_Orchestrator SHALL continue polling for operation updates and re-invoke the handler when operations complete
- 16.5: WHEN a handler invocation returns SUCCEEDED or FAILED status, THE Test_Execution_Orchestrator SHALL resolve the execution and stop polling
- 16.6: WHEN multiple operations are pending (waits, callbacks, steps with retries), THE Test_Execution_Orchestrator SHALL process them in scheduled order
Structs§
- Operation
Storage - Internal storage for operations during test execution.
- Skip
Time Config - Configuration for time skipping behavior.
- Test
Execution Orchestrator - Orchestrates test execution lifecycle, polling, and handler invocation.
- Test
Execution Result - Result of a test execution.
Enums§
- Invoke
Handler Result - Result of invoking the handler.
- Operation
Process Result - Result of processing a single operation.
- Process
Operations Result - Result of processing operations.
Type Aliases§
- Boxed
Handler - Type alias for a boxed handler function.