Files
JARVIS/backend/tests/backend/app/agents/test_verifier.py
WIN-JHFT4D3SIVT\caoxiaozhu a7b6b5eb90 feat: add agent visibility APIs and harden runtime verification
Add Day 4 visibility endpoints and response models, strengthen collaboration/task verification behavior, and patch conversation schema startup migration for agent_state compatibility. Extend backend regression coverage for runtime schemas, verifier behavior, visibility APIs, router auth, and legacy conversation list loading.
2026-04-04 00:56:03 +08:00

40 lines
1.3 KiB
Python

from app.agents.schemas.task import AgentTask
from app.agents.verifier import verify_task_result
def test_verifier_verdict_is_separate_from_task_lifecycle_status():
task = AgentTask(task_id="task-1", title="Verify", status="blocked", result_summary="waiting")
verdict = verify_task_result(task=task)
assert verdict.status == "skipped"
assert verdict.summary == "waiting"
def test_verifier_prefers_explicit_result_success_signal():
verdict = verify_task_result(result={"success": True, "summary": "all checks passed"})
assert verdict.status == "passed"
assert verdict.summary == "all checks passed"
def test_verifier_treats_completed_task_result_as_passed():
verdict = verify_task_result(result={"status": "completed", "summary": "done", "evidence": [{"type": "log"}]})
assert verdict.status == "passed"
assert verdict.summary == "done"
def test_verifier_treats_blocked_task_result_as_skipped():
verdict = verify_task_result(result={"status": "blocked", "summary": "waiting on user"})
assert verdict.status == "skipped"
assert verdict.summary == "waiting on user"
def test_verifier_fails_when_no_verification_input_exists():
verdict = verify_task_result()
assert verdict.status == "failed"
assert verdict.summary == "No verification input available."