fix(HEL-356): complete Shenwan industry signal
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -9,7 +9,7 @@ from datahub.adapters.base import AdapterError
|
||||
from datahub.adapters.eastmoney import HIS_TRENDS_URL, TRENDS_URL, EastmoneyAdapter, _normalize_market_quote
|
||||
from datahub.adapters.tencent import _tencent_symbol
|
||||
from datahub.db import HubDB
|
||||
from datahub.realtime_serve import fetch_intraday
|
||||
from datahub.realtime_serve import fetch_intraday, fetch_sector_quote
|
||||
from datahub.serving import ApiError, V1API
|
||||
from datahub.timeutil import now_shanghai, yyyymmdd
|
||||
|
||||
@@ -110,6 +110,33 @@ class IntradayLkgTests(unittest.TestCase):
|
||||
self.assertIn("intraday unavailable", str(ctx.exception))
|
||||
|
||||
|
||||
class SectorQuoteIdentityTests(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.tmp = tempfile.TemporaryDirectory()
|
||||
self.db = HubDB(Path(self.tmp.name) / "hub.db")
|
||||
self.db.execute(
|
||||
"INSERT INTO sector_master(ts_code,name,family,updated_at) VALUES (?,?,?,?)",
|
||||
("801074.SI", "专用设备", "sw", "2026-09-09T10:00:00+08:00"),
|
||||
)
|
||||
|
||||
def tearDown(self) -> None:
|
||||
self.tmp.cleanup()
|
||||
|
||||
def test_rejects_same_numeric_code_from_different_taxonomy(self) -> None:
|
||||
wrong = {
|
||||
"ts_code": "801074.SI",
|
||||
"name": "托育服务",
|
||||
"change": -2.19,
|
||||
"quote_date": "20260909",
|
||||
"source": "eastmoney_sw",
|
||||
}
|
||||
with patch("datahub.realtime_serve.EastmoneyAdapter") as mocked:
|
||||
mocked.return_value.fetch_shenwan_quote.return_value = wrong
|
||||
with self.assertRaises(Exception) as ctx:
|
||||
fetch_sector_quote(self.db, "801074.SI", "20260909")
|
||||
self.assertIn("industry name mismatch", str(ctx.exception))
|
||||
|
||||
|
||||
class ServingIntradayDateTests(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.tmp = tempfile.TemporaryDirectory()
|
||||
|
||||
Reference in New Issue
Block a user