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
« 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.
3Tests verify common behavior across all output formats.
4"""
6from __future__ import annotations
8from pathlib import Path
9from typing import TYPE_CHECKING
11from assertpy import assert_that
13from lintro.enums.action import Action
14from lintro.enums.output_format import OutputFormat
15from lintro.utils.output.file_writer import write_output_file
17if TYPE_CHECKING:
18 from collections.abc import Callable
20 from .conftest import MockToolResult
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.
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")]
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 )
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()