/** * `MockCloudExecutor` — an in-memory fake of the *agnostic* `CloudExecutor` * (../cloud-executor.ts) for tests: the `docker` build/push client and the * Neo4j bolt probe, the two clients core still owns. No live docker, ever, in * a test run — every method records its call and returns a canned result. * * The AWS clients' mock moved to the aws lexicon alongside their * implementations (`@intentius/chant-lexicon-aws/components`). */ import type { CloudExecutor } from "../cloud-executor.js"; export interface RecordedCall { client: string; method: string; args: unknown; } export interface FakeClusterConfig { /** Number of bolt endpoints (out of however many `cluster` lists) that report healthy. Default: all of them. */ healthyCount?: number; } export interface MockCloudExecutorOptions { /** Neo4j cluster health, keyed by the comma-joined endpoint string `wait-cluster-healthy` probes. */ clusters?: Record; /** Force every docker call to fail (simulates a build/push failure). */ failDocker?: boolean; } /** An injected agnostic `CloudExecutor` plus the call log and cluster-health controls tests use. */ export interface MockCloudExecutor { executor: CloudExecutor; calls: RecordedCall[]; /** Change how many cluster members report healthy after construction (simulates a follower catching up). */ setClusterHealth(cluster: string, healthyCount: number): void; } /** Build a fresh mock agnostic `CloudExecutor`. Every method is deterministic and synchronous-fast — no real polling delay. */ export declare function createMockCloudExecutor(options?: MockCloudExecutorOptions): MockCloudExecutor; //# sourceMappingURL=mock-cloud-executor.d.ts.map