Add coverage gap tests for command functionalities
Lint / pssa (push) Successful in 10s
Lint / python (push) Successful in 1m22s

- Implement tests for disk alert JSON output to include a message field when below threshold.
- Add tests for runner status when Gitea is online but no webhook URL is provided.
- Introduce tests for job report details to ensure no error line appears when there are no failure events.
- Add tests to skip empty JSONL files in job report listing.
This commit is contained in:
2026-05-26 21:18:20 +02:00
parent 0a1c455e54
commit 8dc7a4fb99
5 changed files with 1634 additions and 1 deletions
+34
View File
@@ -210,3 +210,37 @@ def test_report_job_failed_filter_no_results(tmp_path: Path) -> None:
)
assert result.exit_code == 0
assert "No matching jobs" in result.output
# ── NEW: coverage gap tests ───────────────────────────────────────────────────
def test_report_job_detail_no_failure_event(tmp_path: Path) -> None:
"""Lines 201->203: detail view where events exist but no failure → no 'Error:' line."""
_write_jsonl(tmp_path / "run-ok" / "invoke-ci.jsonl", _success_events("run-ok"))
result = CliRunner().invoke(
cli,
["report", "job", "--log-dir", str(tmp_path), "--job-id", "run-ok"],
)
assert result.exit_code == 0, result.output
assert "Job: run-ok" in result.output
# No failure event → no "Error:" line should appear
assert "Error:" not in result.output
def test_report_job_list_skips_empty_jsonl(tmp_path: Path) -> None:
"""Line 218: list mode with an empty/unreadable JSONL file → that file is skipped."""
# Write one valid job
_write_jsonl(tmp_path / "run-good" / "invoke-ci.jsonl", _success_events("run-good"))
# Write an empty JSONL (no events) — should be silently skipped
empty_jsonl = tmp_path / "run-empty" / "invoke-ci.jsonl"
empty_jsonl.parent.mkdir(parents=True)
empty_jsonl.write_text("", encoding="utf-8")
result = CliRunner().invoke(cli, ["report", "job", "--log-dir", str(tmp_path)])
assert result.exit_code == 0, result.output
# Only the valid job appears
assert "run-good" in result.output
# The empty dir's name must not appear as a row (it was skipped)
# We can confirm by checking only one data row exists: "success" appears once
assert result.output.count("success") >= 1