"""Общие фикстуры. Минимальное окружение local-режима задаётся здесь, чтобы `import src` (он создаёт приложение) работал без `.env.test` и без инфраструктуры; значения можно переопределить переменными окружения.""" import os import pytest _MINIMAL_ENV = { "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_MODE": "local", "SCAN_HOTFOLDER_PATH": "/tmp/scan-gateway-test-hotfolder", } for _key, _value in _MINIMAL_ENV.items(): os.environ.setdefault(_key, _value) @pytest.fixture(autouse=True) def _fresh_settings(): """get_settings кэшируется (lru_cache): сбрасываем кэш до и после каждого теста.""" from src.core.config import get_settings get_settings.cache_clear() yield get_settings.cache_clear()