"""Fixtures for config module tests.""" import pytest from unittest.mock import MagicMock, patch @pytest.fixture def mock_settings_snapshot(): """Sample settings snapshot for testing.""" return { "llm.provider": "openai", "llm.model": "gpt-4", "search.tool": "searxng", "search.max_results": 10, "search.snippets_only": True, } @pytest.fixture def clean_thread_local(): """Clean thread-local state before and after tests.""" from local_deep_research.config.thread_settings import _thread_local # Clean before if hasattr(_thread_local, "settings_context"): delattr(_thread_local, "settings_context") yield # Clean after if hasattr(_thread_local, "settings_context"): delattr(_thread_local, "settings_context") @pytest.fixture def mock_platformdirs(tmp_path): """Mock platformdirs to use temp directory.""" with patch("platformdirs.user_data_dir", return_value=str(tmp_path)): yield tmp_path @pytest.fixture def mock_env_data_dir(tmp_path, monkeypatch): """Set LDR_DATA_DIR environment variable.""" monkeypatch.setenv("LDR_DATA_DIR", str(tmp_path)) yield tmp_path @pytest.fixture def mock_settings_context(): """Mock settings context object.""" context = MagicMock() context.get_setting.return_value = "test_value" return context