@zombienet/orchestrator
Version:
ZombieNet aim to be a testing framework for substrate based blockchains, providing a simple cli tool that allow users to spawn and test ephemeral Substrate based networks
55 lines (54 loc) • 2.77 kB
TypeScript
import { fileMap } from "../types";
export interface RunCommandResponse {
exitCode: number;
stdout: string;
stderr?: string;
errorMsg?: string;
}
export interface RunCommandOptions {
resourceDef?: string;
scoped?: boolean;
allowFail?: boolean;
mainCmd?: string;
}
export declare abstract class Client {
namespace: string;
configPath: string;
debug: boolean;
timeout: number;
command: string;
tmpDir: string;
podMonitorAvailable: boolean;
localMagicFilepath: string;
providerName: string;
remoteDir: string | undefined;
constructor(configPath: string, namespace: string, tmpDir: string, command: string, providerName: string);
abstract createNamespace(): Promise<void>;
abstract staticSetup(settings: any): Promise<void>;
abstract destroyNamespace(): Promise<void>;
abstract getNodeLogs(podName: string, since?: number, withTimestamp?: boolean): Promise<string>;
abstract dumpLogs(path: string, podName: string): Promise<void>;
abstract upsertCronJob(minutes: number): Promise<void>;
abstract startPortForwarding(port: number, identifier: string, namespace?: string, localport?: number): Promise<number>;
abstract runCommand(args: string[], opts?: RunCommandOptions): Promise<RunCommandResponse>;
abstract runScript(identifier: string, scriptPath: string, args: string[]): Promise<RunCommandResponse>;
abstract spawnFromDef(podDef: any, filesToCopy?: fileMap[], keystore?: string, chainSpecId?: string, dbSnapshot?: string, //delay?: DelayNetworkSettings,
longRunning?: boolean): Promise<void>;
abstract copyFileFromPod(identifier: string, podFilePath: string, localFilePath: string, container?: string | undefined): Promise<void>;
abstract putLocalMagicFile(name: string, container?: string): Promise<void>;
abstract createResource(resourseDef: any, scoped: boolean, waitReady: boolean): Promise<void>;
abstract createPodMonitor(filename: string, chain: string): Promise<void>;
abstract setupCleaner(): Promise<any>;
abstract isPodMonitorAvailable(): Promise<boolean>;
abstract getPauseArgs(name: string): string[];
abstract getResumeArgs(name: string): string[];
abstract restartNode(name: string, timeout: number | null): Promise<boolean>;
abstract getNodeInfo(identifier: string, port?: number): Promise<[string, number]>;
abstract getNodeIP(identifier: string): Promise<string>;
abstract spawnIntrospector(wsUri: string): Promise<void>;
abstract validateAccess(): Promise<boolean>;
abstract getLogsCommand(name: string): string;
abstract injectChaos(chaosSpecs: any[]): Promise<void>;
}
export declare function getClient(): Client;
export declare function setClient(c: Client): void;