58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
from gitea_codex_bot.services.review_format import format_result_comment
|
|
|
|
|
|
def test_format_result_comment_uses_markdown_comment_verbatim_with_marker() -> None:
|
|
body = format_result_comment(
|
|
"abc1234",
|
|
{
|
|
"verdict": "correct",
|
|
"confidence": 0.9,
|
|
"summary": "ignored when markdown_comment exists",
|
|
"findings": [],
|
|
"markdown_comment": "## Codex Review\n\nAll good.\n\nNo issues found.",
|
|
},
|
|
)
|
|
assert body.startswith("<!-- codex-review:head_sha=abc1234 -->\n## Codex Review")
|
|
assert "All good.\n\nNo issues found." in body
|
|
|
|
|
|
def test_format_result_comment_replaces_existing_marker() -> None:
|
|
body = format_result_comment(
|
|
"def5678",
|
|
{
|
|
"markdown_comment": "<!-- codex-review:head_sha=old -->\n## Codex Review\n\nText.",
|
|
},
|
|
)
|
|
assert body.startswith("<!-- codex-review:head_sha=def5678 -->")
|
|
assert "old" not in body.splitlines()[0]
|
|
|
|
|
|
def test_format_result_comment_appends_usage_note_for_markdown_comment() -> None:
|
|
body = format_result_comment(
|
|
"ff0011",
|
|
{
|
|
"markdown_comment": "## Codex Review\n\nLooks fine.",
|
|
"_meta": {
|
|
"model": "gpt-5.3-codex",
|
|
"usage": {"input_tokens": 120, "output_tokens": 45, "total_tokens": 165},
|
|
},
|
|
},
|
|
)
|
|
assert "_Note: model `gpt-5.3-codex`, input `120`, output `45`, total `165` tokens used._" in body
|
|
|
|
|
|
def test_format_result_comment_appends_usage_note_for_fallback_layout() -> None:
|
|
body = format_result_comment(
|
|
"ff0011",
|
|
{
|
|
"verdict": "correct",
|
|
"confidence": 0.8,
|
|
"summary": "No issues.",
|
|
"findings": [],
|
|
"_meta": {"model": "gpt-5.3-codex", "usage": {"total_tokens": 88}},
|
|
},
|
|
)
|
|
assert body.endswith("_Note: model `gpt-5.3-codex`, total `88` tokens used._")
|