Tomodachi Testcontainers
tomodachi_testcontainers
DockerContainer
Bases: DockerContainer, ABC
Abstract class for generic Docker containers.
Source code in src/tomodachi_testcontainers/containers/common/container.py
log_message_on_container_start
abstractmethod
get_container_internal_ip
get_container_gateway_ip
docker_inspect
start
stop
Source code in src/tomodachi_testcontainers/containers/common/container.py
EphemeralDockerImage
EphemeralDockerImage(
dockerfile=None,
context=None,
target=None,
docker_client_kwargs=None,
*,
remove_image_on_exit=True,
)
Builds a Docker image from a given Dockerfile and removes it when the context manager exits.
Source code in src/tomodachi_testcontainers/containers/common/image.py
WebContainer
WebContainer(
image,
internal_port,
edge_port=None,
http_healthcheck_path=None,
disable_logging=False,
**kwargs,
)
Bases: DockerContainer, ABC
Abstract class for web application containers.
Source code in src/tomodachi_testcontainers/containers/common/web.py
get_internal_url
get_external_url
start
DynamoDBAdminContainer
DynamoDBAdminContainer(
dynamo_endpoint,
image="aaronshaf/dynamodb-admin:latest",
internal_port=8001,
edge_port=None,
region_name=None,
disable_logging=False,
**kwargs,
)
Bases: WebContainer
DynamoDB Admin container.
Configuration environment variables (set on host machine):
AWS_REGIONorAWS_DEFAULT_REGION- defaults tous-east-1
Source code in src/tomodachi_testcontainers/containers/dynamodb_admin.py
LocalStackContainer
LocalStackContainer(
image="localstack/localstack:4",
internal_port=4566,
edge_port=None,
region_name=None,
disable_logging=False,
**kwargs,
)
Bases: WebContainer
LocalStack container.
Configuration environment variables (set on host machine):
AWS_REGIONorAWS_DEFAULT_REGION- defaults tous-east-1AWS_ACCESS_KEY_ID- defaults totestingAWS_SECRET_ACCESS_KEY- defaults totesting
Source code in src/tomodachi_testcontainers/containers/localstack.py
MinioContainer
MinioContainer(
image="minio/minio:latest",
s3_api_internal_port=9000,
s3_api_edge_port=None,
console_internal_port=9001,
console_edge_port=None,
region_name=None,
disable_logging=False,
**kwargs,
)
Bases: WebContainer
Minio container.
Configuration environment variables (set on host machine):
AWS_REGIONorAWS_DEFAULT_REGION- defaults tous-east-1MINIO_ROOT_USER- defaults tominioadminMINIO_ROOT_PASSWORD- defaults tominioadmin
Source code in src/tomodachi_testcontainers/containers/minio.py
console_edge_port
instance-attribute
console_edge_port = (
console_edge_port or get_available_port()
)
region_name
instance-attribute
region_name = (
region_name
or getenv("AWS_REGION")
or getenv("AWS_DEFAULT_REGION")
or "us-east-1"
)
minio_root_password
instance-attribute
log_message_on_container_start
get_aws_client_config
Source code in src/tomodachi_testcontainers/containers/minio.py
MotoContainer
MotoContainer(
image="motoserver/moto:latest",
internal_port=5000,
edge_port=None,
region_name=None,
disable_logging=False,
**kwargs,
)
Bases: WebContainer
Moto container.
Configuration environment variables (set on host machine):
AWS_REGIONorAWS_DEFAULT_REGION- defaults tous-east-1AWS_ACCESS_KEY_ID- defaults totestingAWS_SECRET_ACCESS_KEY- defaults totesting
Source code in src/tomodachi_testcontainers/containers/moto.py
TomodachiContainer
TomodachiContainer(
image,
internal_port=9700,
edge_port=None,
http_healthcheck_path=None,
*,
export_coverage=False,
disable_logging=False,
**kwargs,
)
Bases: WebContainer
Tomodachi container.
Configuration environment variables (set on host machine):
TOMODACHI_TESTCONTAINER_EXPORT_COVERAGE- defaults toFalse
Source code in src/tomodachi_testcontainers/containers/tomodachi.py
log_message_on_container_start
start
Source code in src/tomodachi_testcontainers/containers/tomodachi.py
WireMockContainer
WireMockContainer(
image="wiremock/wiremock:latest",
internal_port=8080,
edge_port=None,
mapping_stubs=None,
mapping_files=None,
*,
verbose=False,
disable_logging=False,
**kwargs,
)
Bases: WebContainer
Source code in src/tomodachi_testcontainers/containers/wiremock.py
MAPPING_STUBS_DIR
class-attribute
instance-attribute
MAPPING_FILES_DIR
class-attribute
instance-attribute
mapping_stubs
instance-attribute
mapping_files
instance-attribute
log_message_on_container_start
start
load_mappings_from_files
delete_mappings
DatabaseContainer
Bases: DockerContainer, ABC
Abstract class for relational database containers.
Source code in src/tomodachi_testcontainers/containers/common/database.py
get_internal_url
Source code in src/tomodachi_testcontainers/containers/common/database.py
get_external_url
Source code in src/tomodachi_testcontainers/containers/common/database.py
MySQLContainer
MySQLContainer(
image="mysql:9",
internal_port=3306,
edge_port=None,
drivername=None,
username=None,
root_password=None,
password=None,
database=None,
disable_logging=False,
**kwargs,
)
Bases: DatabaseContainer
MySQL container.
Configuration environment variables (set on host machine):
MYSQL_DRIVERNAME- defaults tomysql+pymysqlMYSQL_USER- defaults tousernameMYSQL_ROOT_PASSWORD- defaults torootMYSQL_PASSWORD- defaults topasswordMYSQL_DATABASE- defaults todb
Source code in src/tomodachi_testcontainers/containers/mysql.py
drivername
instance-attribute
root_password
instance-attribute
PostgreSQLContainer
PostgreSQLContainer(
image="postgres:18",
internal_port=5432,
edge_port=None,
drivername=None,
username=None,
password=None,
database=None,
disable_logging=False,
**kwargs,
)
Bases: DatabaseContainer
PostgreSQL container.
Configuration environment variables (set on host machine):
POSTGRES_DRIVERNAME- defaults topostgresql+psycopgPOSTGRES_USER- defaults tousernamePOSTGRES_PASSWORD- defaults topasswordPOSTGRES_DB- defaults todb
Source code in src/tomodachi_testcontainers/containers/postgres.py
drivername
instance-attribute
SFTPContainer
SFTPContainer(
image="atmoz/sftp:latest",
internal_port=22,
edge_port=None,
disable_logging=False,
**kwargs,
)
Bases: DockerContainer