test_repository.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. """纯业务数据访问测试。"""
  2. from pathlib import Path
  3. import unittest
  4. from vendor_guard.repository import JsonRepository
  5. PROJECT_ROOT = Path(__file__).resolve().parents[1]
  6. class JsonRepositoryTests(unittest.TestCase):
  7. def setUp(self) -> None:
  8. self.repository = JsonRepository(PROJECT_ROOT / "fixtures")
  9. def test_vendor_lookup_is_case_insensitive(self) -> None:
  10. vendor = self.repository.get_vendor("acme")
  11. self.assertTrue(vendor["found"])
  12. self.assertEqual(vendor["vendor"], "ACME")
  13. def test_unknown_vendor_returns_not_found(self) -> None:
  14. vendor = self.repository.get_vendor("unknown")
  15. self.assertFalse(vendor["found"])
  16. def test_security_incident_lookup(self) -> None:
  17. incidents = self.repository.get_incidents("ACME")
  18. self.assertEqual(len(incidents), 1)
  19. self.assertEqual(incidents[0]["severity"], "medium")
  20. def test_sanctions_are_empty_for_acme(self) -> None:
  21. self.assertEqual(self.repository.get_sanctions("ACME"), [])
  22. if __name__ == "__main__":
  23. unittest.main()