test_repository.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from pathlib import Path
  2. import unittest
  3. from app.repository import RDFRepository
  4. ROOT = Path(__file__).resolve().parents[1]
  5. class RepositoryTest(unittest.TestCase):
  6. @classmethod
  7. def setUpClass(cls):
  8. cls.repository = RDFRepository(ROOT)
  9. def test_loads_core_extension_and_demo_data(self):
  10. self.assertGreater(self.repository.triple_count, 2700)
  11. self.assertEqual(
  12. self.repository.loaded_file_names,
  13. [
  14. "ontology/global-shipment.ttl",
  15. "ontology/ai-market-demo-extension.ttl",
  16. "data/ai-market-demo.ttl",
  17. "data/ai-market-scenarios.ttl",
  18. "data/qingdao-export-sample.ttl",
  19. ],
  20. )
  21. def test_every_query_executes_locally(self):
  22. for path in sorted((ROOT / "queries").glob("*.rq")):
  23. with self.subTest(query=path.name):
  24. result = self.repository.query_file(path)
  25. self.assertIn("rows", result)
  26. def test_legacy_order_query_still_returns_sample_orders(self):
  27. result = self.repository.query_file(ROOT / "queries" / "order-status.rq")
  28. self.assertEqual(len(result["rows"]), 2)
  29. if __name__ == "__main__":
  30. unittest.main()