dockest
Version:
Dockest is an integration testing tool aimed at alleviating the process of evaluating unit tests whilst running multi-container Docker applications.
33 lines (32 loc) • 1.76 kB
TypeScript
export interface DockerComposeEventInterface<TActionName extends string, TAdditionalAttributes extends Record<string, unknown> = Record<string, unknown>> {
time: string;
type: 'container';
action: TActionName;
id: string;
service: string;
attributes: {
image: string;
name: string;
} & TAdditionalAttributes;
}
export type CreateDockerComposeEvent = DockerComposeEventInterface<'create'>;
export type AttachDockerComposeEvent = DockerComposeEventInterface<'attach'>;
export type StartDockerComposeEvent = DockerComposeEventInterface<'start'>;
export type HealthStatusDockerComposeEvent = DockerComposeEventInterface<'health_status', {
healthStatus: 'healthy' | 'unhealthy';
}>;
export type KillDockerComposeEvent = DockerComposeEventInterface<'kill'>;
export type DieDockerComposeEvent = DockerComposeEventInterface<'die', {
exitCode: string;
}>;
export type DockerEventType = CreateDockerComposeEvent | AttachDockerComposeEvent | StartDockerComposeEvent | HealthStatusDockerComposeEvent | KillDockerComposeEvent | DieDockerComposeEvent;
export type UnknownDockerComposeEvent = DockerComposeEventInterface<string>;
export type DockerEventEmitterListener = (event: DockerEventType) => void;
export interface DockerEventEmitter {
addListener(serviceName: string, eventListener: DockerEventEmitterListener): void;
removeListener(serviceName: string, eventListener: DockerEventEmitterListener): void;
destroy(): void;
}
export declare const isDieEvent: (event: DockerEventType) => event is DieDockerComposeEvent;
export declare const isKillEvent: (event: DockerEventType) => event is KillDockerComposeEvent;
export declare const createDockerEventEmitter: (composeFilePath: string) => DockerEventEmitter;