testcontainers-cpp 0.2.0
Native C++20 Testcontainers over the Docker Engine API
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Ctestcontainers::Network::BuilderA copyable builder for a richer user-defined network: driver, internal / attachable / IPv6 flags, IPAM address pools, driver options, and labels
 Ctestcontainers::Volume::BuilderA copyable builder for a richer named volume: driver, driver options, and labels
 Ctestcontainers::docker::BuildOptionsOptions for POST /build — the knobs the Docker build endpoint accepts that we surface
 Ctestcontainers::modules::ClickHouseContainerA running ClickHouse server: endpoint getters plus the owned container
 Ctestcontainers::modules::ClickHouseImageA reusable, copyable description of a ClickHouse test server: image, credentials, init scripts, and server-config drop-ins
 Ctestcontainers::wait_for::CommandWait until a command run inside the container (via exec) exits with code 0
 Ctestcontainers::ConnectionStringAssembles a connection URL — scheme://[user[:password]@]host[:port][/database][?key=value&...] — percent-encoding every component that needs it
 Ctestcontainers::ContainerA RAII handle to a running container, normally obtained from GenericImage::start()
 Ctestcontainers::ContainerInspectThe subset of GET /containers/{id}/json we currently care about
 Ctestcontainers::ContainerLogsCombined stdout / stderr text retrieved from a container
 Ctestcontainers::DockerClient::ContainerPathStatMetadata 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::ContainerPortA port exposed by a container, with its protocol
 Ctestcontainers::ContainerRequestThe 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::ContainerSummaryA subset of one entry from GET /containers/json (the list endpoint)
 Ctestcontainers::CopyToContainerA 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::CreateContainerSpecThe 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::DeviceA host device node mapped into the container (a HostConfig.Devices entry) — docker run --device parity
 Ctestcontainers::DockerClientA synchronous client for the Docker Engine HTTP API
 Ctestcontainers::DockerComposeContainerA RAII handle to a running Docker Compose project
 Ctestcontainers::DockerHostA resolved Docker daemon endpoint: where and how to reach the daemon
 Ctestcontainers::wait_for::DurationWait for a fixed duration after start (a coarse fallback strategy)
 Cstd::exceptionSTL class
 Cstd::runtime_errorSTL class
 Ctestcontainers::ErrorBase class for all testcontainers-cpp exceptions
 Ctestcontainers::DockerErrorFailure while talking to the Docker daemon (transport, HTTP, or API error)
 Ctestcontainers::NotFoundErrorThe daemon replied 404: the referenced resource does not exist
 Ctestcontainers::TransportTimeoutErrorA 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::StartupTimeoutErrorA container/service did not become ready within the caller's startup / wait-strategy timeout
 Ctestcontainers::ExecOptionsOptions for running a command inside a container via exec
 Ctestcontainers::ExecResultThe result of running a command inside a container via exec
 Ctestcontainers::ExecStreamResultThe 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::ExitWait until the container stops, optionally with a specific exit code
 Ctestcontainers::GenericBuildableImageA reusable, copyable description of an image to BUILD from a Dockerfile and a build context
 Ctestcontainers::GenericImageA reusable, copyable description of a container to run: image reference, exposed ports, environment, command, labels, and readiness conditions
 Ctestcontainers::HealthcheckA container HEALTHCHECK definition, mirroring Docker's create-body Healthcheck object
 Ctestcontainers::wait_for::HealthcheckWait until the container's Docker health status becomes "healthy"
 Ctestcontainers::HostConfigInspectThe 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::HttpWait until an HTTP GET to the mapped host port returns expected_status
 Ctestcontainers::ImageInspectThe subset of GET /images/{reference}/json we currently care about
 Ctestcontainers::modules::KafkaContainerA running single-node Kafka broker: address getters plus the owned container
 Ctestcontainers::modules::KafkaImageA single-node Apache Kafka broker in KRaft mode (no ZooKeeper), for tests
 Ctestcontainers::wait_for::LogMessageWait until a substring appears in the container's logs a number of times
 Ctestcontainers::LogOptionsOptions for GET /containers/{id}/logs
 Ctestcontainers::modules::MariaDBContainerA running MariaDB server: connection getters plus the owned container
 Ctestcontainers::modules::MariaDBImageA reusable, copyable description of a MariaDB server container
 Ctestcontainers::modules::MinIOContainerA running MinIO server: S3 endpoint getters plus the owned container
 Ctestcontainers::modules::MinIOImageA 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::MongoDBContainerA running MongoDB server (a single-node replica-set PRIMARY): connection getters plus the owned container
 Ctestcontainers::modules::MongoDBImageA 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::MosquittoContainerA running Mosquitto broker: connection getters plus the owned container
 Ctestcontainers::modules::MosquittoImageA 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::MountA single filesystem mount for a container, mapping to one entry of Docker's create-body HostConfig.Mounts array
 Ctestcontainers::modules::MySQLContainerA running MySQL server: connection getters plus the owned container
 Ctestcontainers::modules::MySQLImageA reusable, copyable description of a MySQL server container
 Ctestcontainers::modules::NATSContainerA running NATS server: connection getters plus the owned container
 Ctestcontainers::modules::NATSImageA 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::NetworkA RAII handle to a user-defined Docker network
 Ctestcontainers::NetworkCreateSpecOptions for POST /networks/create (richer than just name+labels)
 Ctestcontainers::NetworkEndpointOne attached container's endpoint on a network (a Containers map entry in GET /networks/{id})
 Ctestcontainers::NetworkInspectThe subset of GET /networks/{id} we currently care about
 Ctestcontainers::NetworkIpamPoolOne 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::NoneNo readiness condition — start() returns as soon as the container is started
 Ctestcontainers::modules::OpenSearchContainerA running OpenSearch server: URL getters plus the owned container
 Ctestcontainers::modules::OpenSearchImageA 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::PortWait until the mapped host port for port accepts a TCP connection
 Ctestcontainers::PortBindingA single published port binding from a container inspect
 Ctestcontainers::modules::PostgreSQLContainerA running PostgreSQL server: connection getters plus the owned container
 Ctestcontainers::modules::PostgreSQLImageA reusable, copyable description of a PostgreSQL test database: image, credentials, init scripts, and server configuration
 Ctestcontainers::DockerClient::PullRetryBounded-retry policy for pull_image (see set_pull_retry)
 Ctestcontainers::modules::RabbitMQContainerA running RabbitMQ broker: connection getters plus the owned container
 Ctestcontainers::modules::RabbitMQImageA reusable, copyable description of a RabbitMQ broker: image, credentials, virtual host, preloaded definitions, and plugins to enable
 Ctestcontainers::modules::RedisContainerA running Redis server: connection getters plus the owned container
 Ctestcontainers::modules::RedisImageA 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::RegistryAuthCredentials for a Docker registry, used to pull private images
 Ctestcontainers::ResponseAn HTTP response from the Docker Engine API
 Ctestcontainers::RestartPolicyA daemon-side restart policy (HostConfig.RestartPolicy): when the container exits, the daemon itself restarts it
 Ctestcontainers::modules::RustFSContainerA running RustFS server: S3 endpoint getters plus the owned container
 Ctestcontainers::modules::RustFSImageA 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::ScyllaDBContainerA running single-node ScyllaDB server: contact-point getters plus the owned container
 Ctestcontainers::modules::ScyllaDBImageA 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::SessionWhile 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::TlsMaterialsTLS material paths attached to a resolved endpoint — filled by DockerHost::resolve() when the active docker context stores them (~/.docker/contexts/tls/...)
 Ctestcontainers::docker::TransportTimeoutsDeadlines 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::TtySizeA pseudo-TTY's dimensions in character cells
 Ctestcontainers::UlimitA process resource limit (HostConfig.Ulimits entry), e.g. {"nofile", 1024, 2048}
 Ctestcontainers::VolumeA RAII handle to a named Docker volume
 Ctestcontainers::VolumeCreateSpecOptions for POST /volumes/create
 Ctestcontainers::VolumeInspectThe subset of GET /volumes/{name} we care about
 Ctestcontainers::VolumePruneResultThe daemon's report from POST /volumes/prune