Files
agent-manager/tests/test_rendering_workspace.py

74 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from __future__ import annotations
from agent_gitea.rendering import (
parse_review_report,
render_implementer_prompt,
render_pr_body,
)
from agent_gitea.workspace import safe_branch_name
def test_branch_name_is_stable_and_safe(db):
repo = db.upsert_repository(owner="acme", name="service", clone_url="x", default_branch="main", enabled=True)
issue = db.upsert_issue(
repo_id=repo.id,
issue_number=42,
title="Fix API: handle NULL / spaces!",
body="",
labels=["agent:ready"],
state="open",
html_url="url",
)
assert safe_branch_name(issue) == "agent/issue-42-fix-api-handle-null-spaces"
def test_prompt_and_pr_body_include_contract_sections(db):
repo = db.upsert_repository(owner="acme", name="service", clone_url="x", default_branch="main", enabled=True)
issue = db.upsert_issue(
repo_id=repo.id,
issue_number=7,
title="Add thing",
body="Please add thing",
labels=["agent:ready"],
state="open",
html_url="url",
)
prompt = render_implementer_prompt(repo, issue, "agent/issue-7-add-thing")
body = render_pr_body(issue, "## Summary\nDone")
assert ".agent-output/AGENT_IMPLEMENTATION_REPORT.md" in prompt
assert "关联 Issue#7" in body
assert "Closes #7" in body
assert "人工审核" in body
def test_review_report_parsing_extracts_verdict_and_comment():
report = """## Verdict
REQUEST_CHANGES
## Summary
Needs work
## Suggested PR Comment
Please add tests.
"""
parsed = parse_review_report(report)
assert parsed.verdict == "REQUEST_CHANGES"
assert parsed.suggested_pr_comment == "Please add tests."
def test_review_report_parsing_accepts_prompt_bullet_contract():
report = """- Verdict: APPROVE
- Summary: Done
- Suggested PR Comment: Looks good.
"""
parsed = parse_review_report(report)
assert parsed.verdict == "APPROVE"
assert parsed.suggested_pr_comment == "Looks good."