Coverage for tests / unit / utils / config / conftest.py: 100%
17 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""Pytest configuration for UnifiedConfigManager unit tests."""
3from __future__ import annotations
5from typing import TYPE_CHECKING
6from unittest.mock import MagicMock, patch
8import pytest
10from lintro.utils.unified_config import UnifiedConfigManager
12if TYPE_CHECKING:
13 from collections.abc import Generator
16@pytest.fixture
17def mock_manager_dependencies() -> Generator[None, None, None]:
18 """Mock all dependencies needed to create a UnifiedConfigManager.
20 This fixture patches all config loading functions to return empty defaults,
21 allowing UnifiedConfigManager to be instantiated without filesystem access.
23 Yields:
24 None: Context manager for mocking config dependencies.
25 """
26 with (
27 patch(
28 "lintro.utils.unified_config_manager.load_lintro_global_config",
29 return_value={},
30 ),
31 patch(
32 "lintro.utils.unified_config_manager.get_tool_config_summary",
33 return_value={},
34 ),
35 patch(
36 "lintro.utils.unified_config_manager.validate_config_consistency",
37 return_value=[],
38 ),
39 ):
40 yield
43@pytest.fixture
44def manager(mock_manager_dependencies: None) -> UnifiedConfigManager:
45 """Create a UnifiedConfigManager instance with mocked dependencies.
47 Args:
48 mock_manager_dependencies: Mocked dependencies fixture.
50 Returns:
51 An initialized UnifiedConfigManager for testing.
52 """
53 return UnifiedConfigManager()
56@pytest.fixture
57def mock_tool() -> MagicMock:
58 """Create a mock tool object with name and set_options method.
60 Returns:
61 MagicMock configured to act like a tool instance.
62 """
63 mock = MagicMock()
64 mock.name = "ruff"
65 return mock