Skip to main content

Module orchestrator

Module orchestrator 

Source
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§

OperationStorage
Internal storage for operations during test execution.
SkipTimeConfig
Configuration for time skipping behavior.
TestExecutionOrchestrator
Orchestrates test execution lifecycle, polling, and handler invocation.
TestExecutionResult
Result of a test execution.

Enums§

InvokeHandlerResult
Result of invoking the handler.
OperationProcessResult
Result of processing a single operation.
ProcessOperationsResult
Result of processing operations.

Type Aliases§

BoxedHandler
Type alias for a boxed handler function.