更新了部分测试

This commit is contained in:
strepsiades
2026-03-24 09:25:37 +08:00
parent b51ed0175b
commit 7d92b3f1fe
19 changed files with 115 additions and 200 deletions
@@ -67,7 +67,7 @@ class CopyDataPipeline:
supported_types = []
for handler_class in JSONL_HANDLERS:
handler = handler_class(self.source_datasource)
self.source_datasource.register_handler(handler)
self.source_datasource.add_handler(handler)
supported_types.append(handler.node_type)
self._owns_source = True
self._supported_types = supported_types
@@ -82,7 +82,7 @@ class CopyDataPipeline:
self.target_datasource = JsonlDataSource(dir_path=Path(target_dir), read_only=False)
# 自动注册所有 JSONL handlers
for handler_class in JSONL_HANDLERS:
self.target_datasource.register_handler(handler_class(self.target_datasource))
self.target_datasource.add_handler(handler_class(self.target_datasource))
self._owns_target = True
else:
raise ValueError("Must provide either target_datasource or target_dir")
@@ -228,7 +228,7 @@ class CopyDataPipeline:
handler_class = DomainRegistry.get_jsonl_handler(node_type)
if handler_class:
handler = handler_class(datasource)
datasource.register_handler(handler)
datasource.add_handler(handler)
def _print_summary(self):
"""打印执行摘要"""
+6 -6
View File
@@ -151,14 +151,14 @@ async def _initialize_datasource(datasource, *, endpoint_name: str) -> None:
ensure_builtin_datasource_types_registered()
def _register_handlers_for_endpoint(
def _add_handlers_for_endpoint(
*,
datasource,
ds_config: DataSourceConfig,
node_types: List[str],
) -> None:
for node_type in node_types:
datasource.register_handler(
datasource.add_handler(
_create_handler(
node_type=node_type,
ds_config=ds_config,
@@ -167,18 +167,18 @@ def _register_handlers_for_endpoint(
)
def _register_handlers(
def _add_handlers(
config: PipelineRunConfig,
local_ds,
remote_ds,
all_types: List[str],
) -> None:
_register_handlers_for_endpoint(
_add_handlers_for_endpoint(
datasource=local_ds,
ds_config=config.local_datasource,
node_types=all_types,
)
_register_handlers_for_endpoint(
_add_handlers_for_endpoint(
datasource=remote_ds,
ds_config=config.remote_datasource,
node_types=all_types,
@@ -320,7 +320,7 @@ async def create_pipeline_from_config(
project_root=_project_root(),
)
await _initialize_datasource(remote_ds, endpoint_name="remote")
_register_handlers(config, local_ds, remote_ds, all_types)
_add_handlers(config, local_ds, remote_ds, all_types)
local_collection, remote_collection, binding_manager = _build_collections_and_bindings(
persistence=persistence,
@@ -172,15 +172,6 @@ class FullSyncPipeline:
self._logger.error(f"❌ Strategy failed but pipeline continues: {node_type} | {type(exc).__name__}: {exc}")
continue
@staticmethod
def _is_noop_strategy(strategy: BaseSyncStrategy[Any]) -> bool:
cfg = strategy.config
return (
cfg.local_orphan_action == OrphanAction.NONE
and cfg.remote_orphan_action == OrphanAction.NONE
and cfg.update_direction == UpdateDirection.NONE
)
async def phase_bootstrap(self) -> None:
await self._load_persistence_state()
self._logger.info("✅ Bootstrap: persistence loaded")