| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- from pathlib import Path
- import unittest
- from app.market import MarketService
- from app.market.models import InquiryRequest
- from app.mock_data import LocalMockDataService, MockBatchRequest
- from app.repository import RDFRepository
- ROOT = Path(__file__).resolve().parents[1]
- HAIER = "https://gesli.example/sample#Haier"
- class MockDataTest(unittest.TestCase):
- def setUp(self):
- self.repository = RDFRepository(ROOT)
- self.market = MarketService(ROOT, self.repository)
- self.mock_data = LocalMockDataService(ROOT, self.repository, self.market)
- def test_catalog_exposes_local_domain_data(self):
- catalog = self.mock_data.catalog()
- self.assertEqual(catalog["summary"]["in_memory_triple_count"], 0)
- self.assertGreaterEqual(catalog["summary"]["customer_count"], 7)
- self.assertGreaterEqual(catalog["summary"]["quote_count"], 18)
- self.assertGreaterEqual(catalog["summary"]["strategy_count"], 3)
- def test_generated_batch_immediately_joins_recommendation_pool(self):
- before = self.market.recommend(InquiryRequest(customer=HAIER))
- result = self.mock_data.generate(MockBatchRequest(
- origin="青岛港",
- destination="洛杉矶港",
- supplier_count=2,
- customer_count=1,
- ))
- after = self.market.recommend(InquiryRequest(customer=HAIER))
- self.assertGreater(result["added_triples"], 100)
- self.assertEqual(result["catalog"]["summary"]["in_memory_triple_count"], result["added_triples"])
- self.assertEqual(after["pipeline"]["discovered"], before["pipeline"]["discovered"] + 2)
- self.assertEqual(result["catalog"]["summary"]["customer_count"], 8)
- def test_reset_discards_only_runtime_mock_data(self):
- baseline = self.repository.triple_count
- self.mock_data.generate(MockBatchRequest(
- origin="青岛港",
- destination="汉堡港",
- supplier_count=1,
- customer_count=1,
- ))
- reset_catalog = self.mock_data.reset()
- self.assertEqual(self.repository.triple_count, baseline)
- self.assertEqual(reset_catalog["summary"]["in_memory_triple_count"], 0)
- self.assertFalse(any(row["runtime_mock"] for row in reset_catalog["quotes"]))
- if __name__ == "__main__":
- unittest.main()
|