feat(server): 扩展智能体基础服务,新增端点测试和资产服务测试用例
This commit is contained in:
@@ -45,6 +45,19 @@ def test_agent_asset_service_seeds_assets_and_enforces_review_before_activation(
|
||||
|
||||
rules = service.list_assets(asset_type=AgentAssetType.RULE.value)
|
||||
assert len(rules) >= 3
|
||||
assert any(
|
||||
item.code == "rule.expense.travel_risk_control_standard" and item.status == AgentAssetStatus.ACTIVE.value
|
||||
for item in rules
|
||||
)
|
||||
assert all(
|
||||
item.code
|
||||
not in {
|
||||
"rule.expense.duplicate_expense_check",
|
||||
"rule.expense.travel_receipt_requirements",
|
||||
"rule.ap.payment_dual_review",
|
||||
}
|
||||
for item in rules
|
||||
)
|
||||
|
||||
pending_rule = next(item for item in rules if item.status == AgentAssetStatus.REVIEW.value)
|
||||
|
||||
@@ -118,17 +131,39 @@ def test_agent_asset_service_returns_recent_versions_for_rule_detail() -> None:
|
||||
rule = next(
|
||||
item
|
||||
for item in service.list_assets(asset_type=AgentAssetType.RULE.value)
|
||||
if item.code == "rule.expense.duplicate_expense_check"
|
||||
if item.code == "rule.expense.attachment_submission_requirements"
|
||||
)
|
||||
detail = service.get_asset(rule.id)
|
||||
|
||||
assert detail is not None
|
||||
assert detail.current_version == "v1.1.0"
|
||||
assert detail.current_version == "v1.0.0"
|
||||
assert detail.current_version_content_type == AgentAssetContentType.MARKDOWN.value
|
||||
assert isinstance(detail.current_version_content, str)
|
||||
assert len(detail.recent_versions) >= 2
|
||||
assert any(item.is_current for item in detail.recent_versions)
|
||||
assert {item.version for item in detail.recent_versions} >= {"v1.0.0", "v1.1.0"}
|
||||
assert {item.version for item in detail.recent_versions} >= {"v0.9.0", "v1.0.0"}
|
||||
assert detail.config_json["rule_template_key"] == "attachment_requirement_v1"
|
||||
assert "附件或单据不完整" in str(detail.current_version_content)
|
||||
|
||||
|
||||
def test_agent_asset_service_returns_travel_policy_rule_detail() -> None:
|
||||
with build_session() as db:
|
||||
service = AgentAssetService(db)
|
||||
|
||||
rule = next(
|
||||
item
|
||||
for item in service.list_assets(asset_type=AgentAssetType.RULE.value)
|
||||
if item.code == "rule.expense.travel_risk_control_standard"
|
||||
)
|
||||
detail = service.get_asset(rule.id)
|
||||
|
||||
assert detail is not None
|
||||
assert detail.status == AgentAssetStatus.ACTIVE.value
|
||||
assert detail.current_version == "v1.1.0"
|
||||
assert detail.latest_review is not None
|
||||
assert detail.latest_review.review_status == AgentReviewStatus.APPROVED.value
|
||||
assert "行程闭环" in str(detail.current_version_content)
|
||||
assert "住宿标准、飞机舱位和火车席别" in str(detail.current_version_content)
|
||||
|
||||
|
||||
def test_agent_run_service_lists_seeded_trace_data() -> None:
|
||||
|
||||
Reference in New Issue
Block a user