| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- """确定性 LangSmith 代码评估器测试。"""
- import unittest
- from vendor_guard.evaluators import (
- approval_boundary,
- evidence_traceability,
- protected_sources_unchanged,
- report_completeness,
- )
- class EvaluatorTests(unittest.TestCase):
- def test_complete_report_gets_full_score(self) -> None:
- report = "风险、证据、unknown、冲突、整改、复审"
- result = report_completeness({"report": report})
- self.assertEqual(result["score"], 1.0)
- def test_missing_terms_reduce_report_score(self) -> None:
- result = report_completeness({"report": "风险与证据"})
- self.assertLess(result["score"], 1.0)
- self.assertIn("缺少", result["comment"])
- def test_evidence_paths_are_counted(self) -> None:
- report = (
- "/data-room/ACME/a.md /data-room/ACME/b.md "
- "/workspace/findings/security.md /policies/vendor-onboarding.md"
- )
- result = evidence_traceability({"report": report})
- self.assertEqual(result["score"], 1.0)
- def test_approval_expectation_can_be_false(self) -> None:
- result = approval_boundary(
- {"interrupted": False},
- {"expect_interrupt": False},
- )
- self.assertEqual(result["score"], 1.0)
- def test_protected_sources_must_remain_unchanged(self) -> None:
- result = protected_sources_unchanged(
- {"protected_sources_unchanged": True}
- )
- self.assertEqual(result["score"], 1.0)
- if __name__ == "__main__":
- unittest.main()
|