Files
config-auditor-cli/tests/test_report.py
7000pctAUTO 1a940442ba
Some checks failed
CI / test (push) Failing after 12s
CI / build (push) Has been skipped
fix: resolve CI linting failures by removing unused imports
2026-01-30 18:13:53 +00:00

77 lines
2.2 KiB
Python

from pathlib import Path
from config_auditor.report import ReportGenerator
from config_auditor.rules import Issue
class TestReportGenerator:
def test_to_json(self):
issues = [
Issue(
severity="critical",
category="test",
message="Test issue",
file=Path("test.json"),
)
]
generator = ReportGenerator()
result = generator.to_json(issues)
assert "critical" in result
assert "Test issue" in result
def test_to_yaml(self):
issues = [
Issue(
severity="warning",
category="test",
message="Warning issue",
file=Path("test.json"),
)
]
generator = ReportGenerator()
result = generator.to_yaml(issues)
assert "warning" in result
assert "Warning issue" in result
def test_to_text(self):
issues = [
Issue(
severity="critical",
category="test",
message="Critical issue",
file=Path("test.json"),
suggestion="Fix this",
)
]
generator = ReportGenerator()
output = []
generator.to_text(issues, output.append)
assert len(output) > 0
assert any("Critical" in line for line in output)
def test_empty_issues_text_output(self):
issues = []
generator = ReportGenerator()
output = []
generator.to_text(issues, output.append)
assert any("No issues found" in line for line in output)
def test_generate_summary(self):
issues = [
Issue(severity="critical", category="a", message="1", file=Path("f1")),
Issue(severity="critical", category="b", message="2", file=Path("f2")),
Issue(severity="warning", category="c", message="3", file=Path("f3")),
]
generator = ReportGenerator()
summary = generator.generate_summary(issues)
assert summary["total"] == 3
assert summary["by_severity"]["critical"] == 2
assert summary["by_severity"]["warning"] == 1