forked from bojieli/ai-agent-book
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_null_issues.py
More file actions
32 lines (24 loc) · 1.15 KB
/
Copy pathtest_null_issues.py
File metadata and controls
32 lines (24 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"""Null review issues must summarize without TypeError."""
import sys
from unittest.mock import MagicMock
# demo.py imports heavy optional deps at module import time.
sys.modules.setdefault("dotenv", MagicMock())
sys.modules.setdefault("agents", MagicMock())
sys.modules.setdefault("make_figures", MagicMock())
sys.modules.setdefault("renderer", MagicMock())
from demo import summarize_review, _review_issues
def test_null_issues_like_empty():
assert _review_issues({"issues": None}) == []
text = summarize_review({"overall_score": 90, "pass": True, "issues": None})
assert "issues=0" in text
assert "high=0" in text
def test_issues_preserved():
issues = [{"severity": "high"}]
assert _review_issues({"issues": issues}) == issues
text = summarize_review({"overall_score": 50, "pass": False, "issues": issues})
assert "high=1" in text
def test_non_dict_issue_items_dropped():
assert _review_issues({"issues": [None, {"severity": "high"}, "x"]}) == [{"severity": "high"}]
text = summarize_review({"overall_score": 40, "pass": False, "issues": [None, {"severity": "high"}]})
assert "high=1" in text
assert "issues=1" in text