Skip to main content

torrust_tracker_deployer_lib/testing/e2e/containers/
mod.rs

1//! Container management for E2E testing
2//!
3//! This module provides abstractions for managing different types of containers
4//! used in end-to-end testing scenarios.
5//!
6//! ## Available Container Types
7//!
8//! - **Provisioned Containers** - Docker containers that simulate provisioned instances
9//!   in the deployment workflow, providing SSH access and basic system functionality.
10//!
11//! ## Container Collaborators
12//!
13//! - **Docker Image Builder** - Configurable builder for Docker images used in testing
14//! - **Container Config Builder** - Flexible builder for container configurations
15//!
16//! ## Container Actions
17//!
18//! - **Container Actions** - Decoupled operations that can be performed on containers
19//!   (SSH setup, connectivity checks, etc.)
20//!
21//! ## Re-exports
22//!
23//! For backward compatibility, this module re-exports the provisioned container
24//! functionality at the top level:
25//!
26//! ```rust,no_run
27//! use torrust_tracker_deployer_lib::testing::e2e::containers::{
28//!     StoppedProvisionedContainer, RunningProvisionedContainer, ContainerError,
29//!     ContainerImageBuilder, ContainerConfigBuilder
30//! };
31//! ```
32
33pub mod actions;
34pub mod config_builder;
35pub mod errors;
36pub mod executor;
37pub mod image_builder;
38pub mod provisioned;
39pub mod timeout;
40pub mod tracker_container_setup;
41
42// Re-export provisioned container types for backward compatibility
43pub use provisioned::{RunningProvisionedContainer, StoppedProvisionedContainer};
44
45// Re-export error types for public use
46pub use errors::{ContainerError, Result};
47
48// Re-export timeout types for public use
49pub use timeout::ContainerTimeouts;
50
51// Re-export docker builder for public use
52pub use image_builder::{ContainerBuildError, ContainerImageBuilder};
53
54// Re-export container config builder for public use
55pub use config_builder::ContainerConfigBuilder;
56
57// Re-export executor trait for container actions
58pub use executor::ContainerExecutor;
59
60// Re-export tracker container setup types for E2E testing
61pub use tracker_container_setup::{E2eConfigEnvironment, TrackerPorts};