Coverage for tests / unit / plugins / base / conftest.py: 92%
13 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 base plugin unit tests."""
3from __future__ import annotations
5from dataclasses import dataclass, field
7from lintro.models.core.tool_result import ToolResult
8from lintro.plugins.base import BaseToolPlugin
9from lintro.plugins.protocol import ToolDefinition
12@dataclass
13class NoFixPlugin(BaseToolPlugin):
14 """Plugin that does not support fixing for testing purposes."""
16 _definition: ToolDefinition = field(
17 default_factory=lambda: ToolDefinition(
18 name="no-fix",
19 description="No fix support",
20 file_patterns=["*.py"],
21 can_fix=False,
22 ),
23 )
25 @property
26 def definition(self) -> ToolDefinition:
27 """Return the tool definition.
29 Returns:
30 The tool definition.
31 """
32 return self._definition
34 def check(self, paths: list[str], options: dict[str, object]) -> ToolResult:
35 """Return a successful result.
37 Args:
38 paths: List of file paths to check.
39 options: Dictionary of options for the check.
41 Returns:
42 A successful ToolResult.
43 """
44 return ToolResult(name="no-fix", success=True, output="", issues_count=0)