test_repository.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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-india-mock.ttl",
  18. "data/ai-market-scenarios.ttl",
  19. "data/qingdao-export-sample.ttl",
  20. ],
  21. )
  22. def test_every_query_executes_locally(self):
  23. for path in sorted((ROOT / "queries").glob("*.rq")):
  24. with self.subTest(query=path.name):
  25. result = self.repository.query_file(path)
  26. self.assertIn("rows", result)
  27. def test_legacy_order_query_still_returns_sample_orders(self):
  28. result = self.repository.query_file(ROOT / "queries" / "order-status.rq")
  29. self.assertEqual(len(result["rows"]), 2)
  30. if __name__ == "__main__":
  31. unittest.main()