"""MinIO integration test fixtures.""" from collections.abc import Generator from minio import Minio import pytest from python_repositories.config import MinioConfig from tests.integration.minio._containers import ( minio_config_from_env, minio_env, raw_minio_client_from_env, ) @pytest.fixture(scope="session") def minio_container() -> Generator[dict[str, str], None, None]: """Set up a Minio container for testing and yield connection settings.""" yield from minio_env() @pytest.fixture(scope="session") def minio_config(minio_container: dict[str, str]) -> MinioConfig: """Provide MinioConfig built from the test container.""" return minio_config_from_env(minio_container) @pytest.fixture(scope="session") def raw_minio_client(minio_container: dict[str, str]) -> Generator[Minio, None, None]: """Provide a raw Minio client connected to the test Minio container.""" yield from raw_minio_client_from_env(minio_container)