| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- """VendorGuard 命令行入口测试。"""
- from __future__ import annotations
- import unittest
- from vendor_guard.cli import (
- _approval_outcome_message,
- _build_utf8_reexec_command,
- _should_reexec_utf8,
- )
- class CliTests(unittest.TestCase):
- def test_windows_without_utf8_mode_requires_reexec(self) -> None:
- self.assertTrue(_should_reexec_utf8("nt", 0))
- self.assertFalse(_should_reexec_utf8("nt", 1))
- self.assertFalse(_should_reexec_utf8("posix", 0))
- def test_reexec_command_enables_utf8_and_preserves_arguments(self) -> None:
- command = _build_utf8_reexec_command(["ACME"])
- self.assertEqual(command[1:5], ["-X", "utf8", "-m", "vendor_guard.cli"])
- self.assertEqual(command[5:], ["ACME"])
- def test_rejected_approval_is_reported_as_completed(self) -> None:
- message = _approval_outcome_message(
- vendor_name="ACME",
- proposed_decision="conditional",
- approved=False,
- report_path="reports/ACME/onboarding-report.md",
- )
- self.assertIn("人工审批已完成", message)
- self.assertIn("未批准执行", message)
- self.assertIn("准入建议未提交", message)
- self.assertNotIn("如需提交", message)
- self.assertNotIn("等待", message)
- def test_approved_approval_is_reported_as_executed(self) -> None:
- message = _approval_outcome_message(
- vendor_name="ACME",
- proposed_decision="conditional",
- approved=True,
- report_path="reports/ACME/onboarding-report.md",
- )
- self.assertIn("人工审批已完成", message)
- self.assertIn("已批准执行", message)
- self.assertIn("提交工具已执行", message)
- if __name__ == "__main__":
- unittest.main()
|