PR Title Check / check-title (pull_request) Successful in 8s
Test Python Package / unit-tests (pull_request) Successful in 10s
Code Quality Pipeline / code-quality (pull_request) Failing after 17s
Test Python Package / integration-tests (pull_request) Successful in 47s
Test Python Package / coverage-report (pull_request) Successful in 12s
Co-authored-by: Cursor <cursoragent@cursor.com>
81 lines
2.6 KiB
Python
81 lines
2.6 KiB
Python
"""Examples integration test fixtures."""
|
|
|
|
from collections.abc import Generator
|
|
|
|
from minio import Minio
|
|
import pytest
|
|
import redis
|
|
|
|
from python_repositories.config import MinioConfig, PostgresConfig, RedisConfig
|
|
from tests.integration.minio._containers import (
|
|
minio_config_from_env,
|
|
minio_env,
|
|
raw_minio_client_from_env,
|
|
)
|
|
from tests.integration.postgres._containers import (
|
|
postgres_config_from_container,
|
|
postgres_uri,
|
|
raw_postgres_client_from_container,
|
|
)
|
|
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)
|
|
|
|
|
|
@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)
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def postgres_container() -> Generator[str, None, None]:
|
|
"""Set up a Postgres container for testing and yield the Postgres URI."""
|
|
yield from postgres_uri()
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def postgres_config(postgres_container: str) -> PostgresConfig:
|
|
"""Provide PostgresConfig built from the test container."""
|
|
return postgres_config_from_container(postgres_container)
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def raw_postgres_client(
|
|
postgres_container: str,
|
|
) -> Generator[object, None, None]:
|
|
"""Provide a raw Postgres client connected to the test Postgres container."""
|
|
yield from raw_postgres_client_from_container(postgres_container)
|