UNPKG

@xec-sh/core

Version:

Universal shell execution engine

43 lines (42 loc) 1.69 kB
import { Command } from '../core/command.js'; import { ExecutionResult } from '../core/result.js'; import { BaseAdapter, BaseAdapterConfig } from './base-adapter.js'; export interface MockResponse { stdout?: string; stderr?: string; exitCode?: number; signal?: string; delay?: number; error?: Error; } export interface MockAdapterConfig extends BaseAdapterConfig { recordCommands?: boolean; defaultDelay?: number; } export declare class MockAdapter extends BaseAdapter { protected readonly adapterName = "mock"; private responses; private regexResponses; private defaultResponse; private executedCommands; private mockConfig; constructor(config?: MockAdapterConfig); isAvailable(): Promise<boolean>; execute(command: Command): Promise<ExecutionResult>; mockCommand(command: string | RegExp, response: MockResponse): void; mockDefault(response: MockResponse): void; clearMocks(): void; getExecutedCommands(): string[]; wasCommandExecuted(command: string | RegExp): boolean; getCommandExecutionCount(command: string | RegExp): number; private findMockResponse; private delay; mockSuccess(command: string | RegExp, stdout?: string): void; mockFailure(command: string | RegExp, stderr?: string, exitCode?: number): void; mockTimeout(command: string | RegExp, delay?: number): void; assertCommandExecuted(command: string | RegExp): void; assertCommandNotExecuted(command: string | RegExp): void; assertCommandExecutedTimes(command: string | RegExp, times: number): void; assertCommandsExecutedInOrder(commands: (string | RegExp)[]): void; dispose(): Promise<void>; }