|
testcontainers-cpp 0.2.0
Native C++20 Testcontainers over the Docker Engine API
|
| Ctestcontainers::Network::Builder | A copyable builder for a richer user-defined network: driver, internal / attachable / IPv6 flags, IPAM address pools, driver options, and labels |
| Ctestcontainers::Volume::Builder | A copyable builder for a richer named volume: driver, driver options, and labels |
| Ctestcontainers::docker::BuildOptions | Options for POST /build — the knobs the Docker build endpoint accepts that we surface |
| Ctestcontainers::modules::ClickHouseContainer | A running ClickHouse server: endpoint getters plus the owned container |
| Ctestcontainers::modules::ClickHouseImage | A reusable, copyable description of a ClickHouse test server: image, credentials, init scripts, and server-config drop-ins |
| Ctestcontainers::wait_for::Command | Wait until a command run inside the container (via exec) exits with code 0 |
| Ctestcontainers::ConnectionString | Assembles a connection URL — scheme://[user[:password]@]host[:port][/database][?key=value&...] — percent-encoding every component that needs it |
| Ctestcontainers::Container | A RAII handle to a running container, normally obtained from GenericImage::start() |
| Ctestcontainers::ContainerInspect | The subset of GET /containers/{id}/json we currently care about |
| Ctestcontainers::ContainerLogs | Combined stdout / stderr text retrieved from a container |
| Ctestcontainers::DockerClient::ContainerPathStat | Metadata of a container path, decoded from the X-Docker-Container-Path-Stat header of a HEAD /containers/{id}/archive probe — a cheap existence/size check before a download (no archive is transferred) |
| Ctestcontainers::ContainerPort | A port exposed by a container, with its protocol |
| Ctestcontainers::ContainerRequest | The complete "what to run" for one container: the Docker create spec plus every run-time input the start orchestration needs (readiness conditions, files to copy in, lifecycle hooks, pull/reuse/retry policy) |
| Ctestcontainers::ContainerSummary | A subset of one entry from GET /containers/json (the list endpoint) |
| Ctestcontainers::CopyToContainer | A request to copy a host file, in-memory bytes, or a host directory tree into a container, mapping to a tar PUTed to PUT /containers/{id}/archive |
| Ctestcontainers::CreateContainerSpec | The flat create-body DTO for POST /containers/create, shared between the builder layer (ContainerRequest renders into it) and the client — typed fields for every option the library surfaces, translated into the daemon's JSON in one place |
| Ctestcontainers::Device | A host device node mapped into the container (a HostConfig.Devices entry) — docker run --device parity |
| Ctestcontainers::DockerClient | A synchronous client for the Docker Engine HTTP API |
| Ctestcontainers::DockerComposeContainer | A RAII handle to a running Docker Compose project |
| Ctestcontainers::DockerHost | A resolved Docker daemon endpoint: where and how to reach the daemon |
| Ctestcontainers::wait_for::Duration | Wait for a fixed duration after start (a coarse fallback strategy) |
| Cstd::exception | STL class |
| Cstd::runtime_error | STL class |
| Ctestcontainers::Error | Base class for all testcontainers-cpp exceptions |
| Ctestcontainers::DockerError | Failure while talking to the Docker daemon (transport, HTTP, or API error) |
| Ctestcontainers::NotFoundError | The daemon replied 404: the referenced resource does not exist |
| Ctestcontainers::TransportTimeoutError | A transport operation exceeded its deadline — the TransportTimeouts connect budget or per-operation io deadline (see docker/Timeouts.hpp), or an internal handshake budget (the Ryuk registration) |
| Ctestcontainers::StartupTimeoutError | A container/service did not become ready within the caller's startup / wait-strategy timeout |
| Ctestcontainers::ExecOptions | Options for running a command inside a container via exec |
| Ctestcontainers::ExecResult | The result of running a command inside a container via exec |
| Ctestcontainers::ExecStreamResult | The result of a deadline-bounded streaming exec (the overload taking a deadline): why output delivery ended, plus the exit code when the command had actually finished by then |
| Ctestcontainers::wait_for::Exit | Wait until the container stops, optionally with a specific exit code |
| Ctestcontainers::GenericBuildableImage | A reusable, copyable description of an image to BUILD from a Dockerfile and a build context |
| Ctestcontainers::GenericImage | A reusable, copyable description of a container to run: image reference, exposed ports, environment, command, labels, and readiness conditions |
| Ctestcontainers::Healthcheck | A container HEALTHCHECK definition, mirroring Docker's create-body Healthcheck object |
| Ctestcontainers::wait_for::Healthcheck | Wait until the container's Docker health status becomes "healthy" |
| Ctestcontainers::HostConfigInspect | The HostConfig subset echoed back by GET /containers/{id}/json — the typed create-side knobs, readable back so tests can assert a limit landed |
| Ctestcontainers::wait_for::Http | Wait until an HTTP GET to the mapped host port returns expected_status |
| Ctestcontainers::ImageInspect | The subset of GET /images/{reference}/json we currently care about |
| Ctestcontainers::modules::KafkaContainer | A running single-node Kafka broker: address getters plus the owned container |
| Ctestcontainers::modules::KafkaImage | A single-node Apache Kafka broker in KRaft mode (no ZooKeeper), for tests |
| Ctestcontainers::wait_for::LogMessage | Wait until a substring appears in the container's logs a number of times |
| Ctestcontainers::LogOptions | Options for GET /containers/{id}/logs |
| Ctestcontainers::modules::MariaDBContainer | A running MariaDB server: connection getters plus the owned container |
| Ctestcontainers::modules::MariaDBImage | A reusable, copyable description of a MariaDB server container |
| Ctestcontainers::modules::MinIOContainer | A running MinIO server: S3 endpoint getters plus the owned container |
| Ctestcontainers::modules::MinIOImage | A reusable, copyable description of a MinIO object-storage server — an S3-compatible endpoint for tests: pinned image, S3 + console ports, root credentials, buckets to pre-create, and an HTTP readiness probe |
| Ctestcontainers::modules::MongoDBContainer | A running MongoDB server (a single-node replica-set PRIMARY): connection getters plus the owned container |
| Ctestcontainers::modules::MongoDBImage | A MongoDB server for tests: a copyable, reusable description of a mongo container that always runs as a SINGLE-NODE REPLICA SET, so sessions, multi-document transactions, and change streams work out of the box |
| Ctestcontainers::modules::MosquittoContainer | A running Mosquitto broker: connection getters plus the owned container |
| Ctestcontainers::modules::MosquittoImage | A reusable, copyable description of an Eclipse Mosquitto MQTT broker: the pinned image, port 1883 exposed, and a managed mosquitto.conf (copied in before start) that accepts anonymous clients from outside the container — the stock image config would listen on the container's loopback only, so the mapped port would connect to nothing |
| Ctestcontainers::Mount | A single filesystem mount for a container, mapping to one entry of Docker's create-body HostConfig.Mounts array |
| Ctestcontainers::modules::MySQLContainer | A running MySQL server: connection getters plus the owned container |
| Ctestcontainers::modules::MySQLImage | A reusable, copyable description of a MySQL server container |
| Ctestcontainers::modules::NATSContainer | A running NATS server: connection getters plus the owned container |
| Ctestcontainers::modules::NATSImage | A reusable, copyable description of a NATS server container: the pinned image, the client and HTTP-monitoring ports, a log + /healthz readiness pair, and optional credentials / JetStream / extra server flags — all rendered into the command line (the server reads no environment) |
| Ctestcontainers::Network | A RAII handle to a user-defined Docker network |
| Ctestcontainers::NetworkCreateSpec | Options for POST /networks/create (richer than just name+labels) |
| Ctestcontainers::NetworkEndpoint | One attached container's endpoint on a network (a Containers map entry in GET /networks/{id}) |
| Ctestcontainers::NetworkInspect | The subset of GET /networks/{id} we currently care about |
| Ctestcontainers::NetworkIpamPool | One IPAM address pool of a network — an IPAM.Config entry, both as sent by POST /networks/create (NetworkCreateSpec::ipam_pools) and as read back by GET /networks/{id} (NetworkInspect::ipam_pools) |
| Ctestcontainers::wait_for::None | No readiness condition — start() returns as soon as the container is started |
| Ctestcontainers::modules::OpenSearchContainer | A running OpenSearch server: URL getters plus the owned container |
| Ctestcontainers::modules::OpenSearchImage | A reusable, copyable description of a single-node OpenSearch server for tests, running with the security plugin DISABLED: plain HTTP on one published port, no credentials — OpenSearchContainer::http_url() is all a REST client needs |
| Ctestcontainers::wait_for::Port | Wait until the mapped host port for port accepts a TCP connection |
| Ctestcontainers::PortBinding | A single published port binding from a container inspect |
| Ctestcontainers::modules::PostgreSQLContainer | A running PostgreSQL server: connection getters plus the owned container |
| Ctestcontainers::modules::PostgreSQLImage | A reusable, copyable description of a PostgreSQL test database: image, credentials, init scripts, and server configuration |
| Ctestcontainers::DockerClient::PullRetry | Bounded-retry policy for pull_image (see set_pull_retry) |
| Ctestcontainers::modules::RabbitMQContainer | A running RabbitMQ broker: connection getters plus the owned container |
| Ctestcontainers::modules::RabbitMQImage | A reusable, copyable description of a RabbitMQ broker: image, credentials, virtual host, preloaded definitions, and plugins to enable |
| Ctestcontainers::modules::RedisContainer | A running Redis server: connection getters plus the owned container |
| Ctestcontainers::modules::RedisImage | A reusable, copyable description of a Redis server container: the pinned image, the exposed server port, an in-container redis-cli ping readiness probe, and optional password / extra server arguments |
| Ctestcontainers::RegistryAuth | Credentials for a Docker registry, used to pull private images |
| Ctestcontainers::Response | An HTTP response from the Docker Engine API |
| Ctestcontainers::RestartPolicy | A daemon-side restart policy (HostConfig.RestartPolicy): when the container exits, the daemon itself restarts it |
| Ctestcontainers::modules::RustFSContainer | A running RustFS server: S3 endpoint getters plus the owned container |
| Ctestcontainers::modules::RustFSImage | A reusable, copyable description of a RustFS server — an S3-compatible object store — for tests: pinned image, S3 + console ports, managed access/secret credentials, and an HTTP readiness probe |
| Ctestcontainers::modules::ScyllaDBContainer | A running single-node ScyllaDB server: contact-point getters plus the owned container |
| Ctestcontainers::modules::ScyllaDBImage | A reusable, copyable description of a single-node ScyllaDB server for tests: CQL on port 9042, developer mode, one shard, no authentication — the vendor-recommended CI shape, typically CQL-ready in seconds |
| Ctestcontainers::DockerClient::Session | While alive, THIS client instance keeps its daemon connection open across requests and reuses it for consecutive idempotent GET calls — all other requests keep opening fresh connections, so a stale-connection retry can never replay a side effect |
| Ctestcontainers::TlsMaterials | TLS material paths attached to a resolved endpoint — filled by DockerHost::resolve() when the active docker context stores them (~/.docker/contexts/tls/...) |
| Ctestcontainers::docker::TransportTimeouts | Deadlines the transport layer applies to Docker daemon I/O, so a wedged daemon or a network black-hole fails with an error instead of blocking the calling thread forever |
| Ctestcontainers::TtySize | A pseudo-TTY's dimensions in character cells |
| Ctestcontainers::Ulimit | A process resource limit (HostConfig.Ulimits entry), e.g. {"nofile", 1024, 2048} |
| Ctestcontainers::Volume | A RAII handle to a named Docker volume |
| Ctestcontainers::VolumeCreateSpec | Options for POST /volumes/create |
| Ctestcontainers::VolumeInspect | The subset of GET /volumes/{name} we care about |
| Ctestcontainers::VolumePruneResult | The daemon's report from POST /volumes/prune |