Split Redis and MinIO container setup into backend-specific conftest modules so only the containers needed for collected tests are imported and started. Co-authored-by: Cursor <[email protected]>
32 lines
966 B
Python
32 lines
966 B
Python
"""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)
|