Coverage for tests / unit / utils / output / test_file_writer_common.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""Unit tests for write_output_file function - Common behaviors. 

2 

3Tests verify common behavior across all output formats. 

4""" 

5 

6from __future__ import annotations 

7 

8from pathlib import Path 

9from typing import TYPE_CHECKING 

10 

11from assertpy import assert_that 

12 

13from lintro.enums.action import Action 

14from lintro.enums.output_format import OutputFormat 

15from lintro.utils.output.file_writer import write_output_file 

16 

17if TYPE_CHECKING: 

18 from collections.abc import Callable 

19 

20 from .conftest import MockToolResult 

21 

22 

23def test_write_output_file_creates_parent_directories( 

24 tmp_path: Path, 

25 mock_tool_result_factory: Callable[..., MockToolResult], 

26) -> None: 

27 """Verify parent directories are created when they don't exist. 

28 

29 Args: 

30 tmp_path: Temporary directory path for test output. 

31 mock_tool_result_factory: Factory for creating mock tool results. 

32 """ 

33 output_path = tmp_path / "nested" / "deeply" / "path" / "report.txt" 

34 results = [mock_tool_result_factory(name="ruff")] 

35 

36 write_output_file( 

37 output_path=str(output_path), 

38 output_format=OutputFormat.PLAIN, 

39 all_results=results, # type: ignore[arg-type] 

40 action=Action.CHECK, 

41 total_issues=0, 

42 total_fixed=0, 

43 ) 

44 

45 assert_that(output_path.exists()).is_true() 

46 assert_that(output_path.parent.exists()).is_true() 

47 assert_that(output_path.read_text()).is_not_empty()