fix(HEL-356): complete Shenwan industry signal

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
总管
2026-09-09 17:59:58 +08:00
co-authored by multica-agent
parent c3881af708
commit 88411efa1c
7 changed files with 151 additions and 18 deletions
@@ -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()