UNPKG

testcontainers

Version:

Testcontainers is a NodeJS library that supports tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container

105 lines (104 loc) 2.33 kB
/// <reference types="node" /> /// <reference types="node" /> import { Readable } from "stream"; export type InspectResult = { name: string; hostname: string; ports: Ports; healthCheckStatus: HealthCheckStatus; networkSettings: { [networkName: string]: NetworkSettings; }; state: { status: string; running: boolean; startedAt: Date; finishedAt: Date | undefined; }; labels: Labels; }; export type ContainerRuntime = "docker" | "podman"; export type Environment = { [key in string]: string; }; export type BindMode = "rw" | "ro" | "z" | "Z"; export type BindMount = { source: string; target: string; mode?: BindMode; }; export type FileToCopy = { source: string; target: string; mode?: number; }; export type DirectoryToCopy = FileToCopy; export type Content = string | Buffer | Readable; export type ContentToCopy = { content: Content; target: string; mode?: number; }; export type TmpFs = { [dir in string]: string; }; export type Ulimits = { [name: string]: { hard: number | undefined; soft: number | undefined; }; }; export type ResourcesQuota = { memory?: number; cpu?: number; }; export type HealthCheck = { test: ["CMD-SHELL", string] | ["CMD", ...string[]]; interval?: number; timeout?: number; retries?: number; startPeriod?: number; }; export type ExtraHost = { host: string; ipAddress: string; }; export type Labels = { [key: string]: string; }; export type HostPortBindings = Array<{ hostIp: string; hostPort: number; }>; export type Ports = { [containerPort: number]: HostPortBindings; }; export type AuthConfig = { username: string; password: string; registryAddress: string; email?: string; }; export type RegistryConfig = { [registryAddress: string]: { username: string; password: string; }; }; export type BuildArgs = { [key in string]: string; }; export type ExecOptions = { workingDir: string; user: string; env: Environment; }; export type ExecResult = { output: string; exitCode: number; }; export type HealthCheckStatus = "none" | "starting" | "unhealthy" | "healthy"; export type NetworkSettings = { networkId: string; ipAddress: string; };