arm-scan-gateway/api/tests/conftest.py
2026-10-04 02:38:46 +04:00

37 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""Общие фикстуры. Окружение тестов — `api/.env.test`: его подключает pytest.ini (`ENV_FILE=.env.test`, путь от
каталога api/), поэтому `import src` (он создаёт приложение) работает без своей настройки окружения
и без инфраструктуры."""
import pytest
@pytest.fixture(autouse=True)
def _fresh_settings():
"""get_settings кэшируется (lru_cache): сбрасываем кэш до и после каждого теста."""
# Импорт отложен намеренно: `import src` создаёт приложение и читает окружение
from src.core.config import get_settings # noqa: PLC0415
get_settings.cache_clear()
yield
get_settings.cache_clear()
@pytest.fixture
def minimal_env_file(tmp_path, monkeypatch):
"""Env-файл только с обязательными настройками (без `.env.test`): для проверки значений по умолчанию."""
env_file = tmp_path / "minimal.env"
env_file.write_text(
"\n".join(
[
"OPENBAO__MINIO__MINIO_URL=localhost:9000",
"OPENBAO__MINIO__MINIO_ADMIN_LOGIN=minioadmin",
"OPENBAO__MINIO__MINIO_ADMIN_PASSWORD=minioadmin",
"OPENBAO__MINIO__MINIO_BUCKET=arm-ka",
"OPENBAO__NATS__NATS_URL=nats://localhost:4222",
"SCAN_HOTFOLDER_PATH=/tmp/scan-gateway-test-hotfolder",
]
)
)
monkeypatch.setenv("ENV_FILE", str(env_file))
return env_file