"""Shared test fixtures for kmtnflower backend tests.""" import pytest from unittest.mock import patch # Override settings for tests — use SQLite so we don't need PostgreSQL @pytest.fixture(autouse=True) def override_settings(): """Set test-only environment variables before any import of app modules.""" env = { "KMTN_DATABASE_URL": "sqlite+aiosqlite:///:memory:", "KMTN_ENV": "test", "KMTN_JWT_SECRET_KEY": "test-secret-key-do-not-use", "KMTN_ADMIN_USERNAME": "testadmin", "KMTN_ADMIN_PASSWORD": "testpass123", "KMTN_LOGS_DIR": "/tmp/kmtn_test_logs", "KMTN_GEOLITE2_DB_PATH": "/nonexistent/GeoLite2-City.mmdb", "KMTN_THEME_JSON_PATH": "/tmp/kmtn_test_theme.json", } with patch.dict("os.environ", env, clear=False): yield env