mzx commited on
Commit
c31f463
·
verified ·
1 Parent(s): 583a5d6

Exchange-aware API: accept NZX alongside ASX

Browse files
Files changed (1) hide show
  1. tests/test_api_contract.py +1 -1
tests/test_api_contract.py CHANGED
@@ -18,7 +18,7 @@ class ApiContractTests(unittest.TestCase):
18
  with patch("app.tool_context",return_value=(dict(READY),{"dataset_revision":REVISION,"published_at":"2026-07-17T12:49:16Z","source_watermark":{"provider":"ASX"},"dataset_citation":"https://example.test/dataset"})),patch("app.query_companies",return_value=([company],False,{})),patch("app.dilution_instruments",return_value=[instrument]):
19
  response=self.client.get("/api/v1/companies/BHP");self.assertEqual(response.status_code,200);payload=response.json();self.assertEqual(payload["company"]["ticker"],"BHP");self.assertEqual(payload["instruments"][0]["document_ids"],["ASX:BHP:1"]);self.assertEqual(payload["dataset_revision"],REVISION)
20
  with patch("app.tool_context",return_value=(dict(READY),{"dataset_revision":REVISION,"published_at":"2026-07-17T12:49:16Z","source_watermark":{"provider":"ASX"},"dataset_citation":"https://example.test/dataset"})),patch("app.company_at_date",return_value=dict(company)),patch("app.dilution_instruments",return_value=[instrument]) as instruments:
21
- response=self.client.get("/api/v1/companies/BHP",params={"as_of_date":"2026-07-17"});self.assertEqual(response.status_code,200);instruments.assert_called_once_with(READY["cache_dir"],"BHP",100,"2026-07-17")
22
  def test_document_page_carries_batched_public_source_links(self):
23
  document={"document_id":"ASX:CLA:03115626","exchange":"ASX","ticker":"CLA","source_document_id":"03115626","announcement_date":"2026-07-17","announced_at":"2026-07-17T01:00:00Z","title":"Capital raising","doc_type":"Announcement","doc_type_source":"rule","doc_type_confidence":1.0,"raw_artifact_key":None,"raw_size_bytes":None,"markdown_artifact_key":"artifacts/v1/asx/CLA/03115626.md","markdown_size_bytes":10,"publication_state":"public"}
24
  with patch("app.query_documents",return_value=([document],None)),patch("app.document_citations",return_value={"ASX:CLA:03115626":"https://www.asx.com.au/asxpdf/example.pdf"}):
 
18
  with patch("app.tool_context",return_value=(dict(READY),{"dataset_revision":REVISION,"published_at":"2026-07-17T12:49:16Z","source_watermark":{"provider":"ASX"},"dataset_citation":"https://example.test/dataset"})),patch("app.query_companies",return_value=([company],False,{})),patch("app.dilution_instruments",return_value=[instrument]):
19
  response=self.client.get("/api/v1/companies/BHP");self.assertEqual(response.status_code,200);payload=response.json();self.assertEqual(payload["company"]["ticker"],"BHP");self.assertEqual(payload["instruments"][0]["document_ids"],["ASX:BHP:1"]);self.assertEqual(payload["dataset_revision"],REVISION)
20
  with patch("app.tool_context",return_value=(dict(READY),{"dataset_revision":REVISION,"published_at":"2026-07-17T12:49:16Z","source_watermark":{"provider":"ASX"},"dataset_citation":"https://example.test/dataset"})),patch("app.company_at_date",return_value=dict(company)),patch("app.dilution_instruments",return_value=[instrument]) as instruments:
21
+ response=self.client.get("/api/v1/companies/BHP",params={"as_of_date":"2026-07-17"});self.assertEqual(response.status_code,200);instruments.assert_called_once_with(READY["cache_dir"],"BHP",100,"2026-07-17",positions_only=True,exchange="ASX")
22
  def test_document_page_carries_batched_public_source_links(self):
23
  document={"document_id":"ASX:CLA:03115626","exchange":"ASX","ticker":"CLA","source_document_id":"03115626","announcement_date":"2026-07-17","announced_at":"2026-07-17T01:00:00Z","title":"Capital raising","doc_type":"Announcement","doc_type_source":"rule","doc_type_confidence":1.0,"raw_artifact_key":None,"raw_size_bytes":None,"markdown_artifact_key":"artifacts/v1/asx/CLA/03115626.md","markdown_size_bytes":10,"publication_state":"public"}
24
  with patch("app.query_documents",return_value=([document],None)),patch("app.document_citations",return_value={"ASX:CLA:03115626":"https://www.asx.com.au/asxpdf/example.pdf"}):