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
946 B
Python
32 lines
946 B
Python
"""Redis integration test fixtures."""
|
|
|
|
from collections.abc import Generator
|
|
|
|
import pytest
|
|
import redis
|
|
|
|
from python_repositories.config import RedisConfig
|
|
from tests.integration.redis._containers import (
|
|
raw_redis_client_from_container,
|
|
redis_config_from_container,
|
|
redis_uri,
|
|
)
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def redis_container() -> Generator[str, None, None]:
|
|
"""Set up a Redis container for testing and yield the Redis URI."""
|
|
yield from redis_uri()
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def redis_config(redis_container: str) -> RedisConfig:
|
|
"""Provide RedisConfig built from the test container."""
|
|
return redis_config_from_container(redis_container)
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def raw_redis_client(redis_container: str) -> Generator[redis.Redis, None, None]:
|
|
"""Provide a raw Redis client connected to the test Redis container."""
|
|
yield from raw_redis_client_from_container(redis_container)
|