refactor: 管线写入依赖解耦——pipeline_write 直接 import
bzzoiro_events / bzzoiro_standings / bzzoiro_stats 直接 import src.data.pipeline_write(_write_raw_event/_write_lineage/_safe_write_ingest_failure), 删除 bzzoiro.py 门面中的 pipeline_write 转发胶水。 保留 fetch_*/_fetch_json_async/REQUEST_INTERVAL 经 bz. 门面调用(测试 monkeypatch 入口); 测试 best-effort 改为 patch 管线模块自身命名空间(from-import 绑定语义)。 函数语义与「失败不拖垮主流程」不变;source_record_id/transform_name 约定不变。 全量测试 270 通过。
This commit is contained in:
@@ -255,11 +255,14 @@ class TestEventsBronzeOnUpdate:
|
||||
|
||||
class TestEventsBronzeIsBestEffort:
|
||||
async def test_bronze_write_failure_does_not_break_ingest(self, monkeypatch):
|
||||
import src.data.bzzoiro_events as bz_events
|
||||
|
||||
async def _boom(*args, **kwargs):
|
||||
raise RuntimeError("infra down")
|
||||
|
||||
monkeypatch.setattr(bz, "_write_raw_event", _boom)
|
||||
monkeypatch.setattr(bz, "_write_lineage", _boom)
|
||||
# Bronze 写入助手直接 import 到 bzzoiro_events 命名空间,需 patch 该处
|
||||
monkeypatch.setattr(bz_events, "_write_raw_event", _boom)
|
||||
monkeypatch.setattr(bz_events, "_write_lineage", _boom)
|
||||
_patch_fetch(monkeypatch, [_event()])
|
||||
db = _FakeDB()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user