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

1"""Pytest configuration for base plugin unit tests.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import dataclass, field 

6 

7from lintro.models.core.tool_result import ToolResult 

8from lintro.plugins.base import BaseToolPlugin 

9from lintro.plugins.protocol import ToolDefinition 

10 

11 

12@dataclass 

13class NoFixPlugin(BaseToolPlugin): 

14 """Plugin that does not support fixing for testing purposes.""" 

15 

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 ) 

24 

25 @property 

26 def definition(self) -> ToolDefinition: 

27 """Return the tool definition. 

28 

29 Returns: 

30 The tool definition. 

31 """ 

32 return self._definition 

33 

34 def check(self, paths: list[str], options: dict[str, object]) -> ToolResult: 

35 """Return a successful result. 

36 

37 Args: 

38 paths: List of file paths to check. 

39 options: Dictionary of options for the check. 

40 

41 Returns: 

42 A successful ToolResult. 

43 """ 

44 return ToolResult(name="no-fix", success=True, output="", issues_count=0)