整理配置和代码入口,增加部分测试。
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
from sync_state_machine.common.registry import DomainRegistry
|
||||
|
||||
|
||||
class RegistryLookupSchema(BaseModel):
|
||||
__test__ = False
|
||||
id: str
|
||||
|
||||
|
||||
class RegistryLookupNode:
|
||||
__test__ = False
|
||||
|
||||
|
||||
class RegistryLookupJsonlHandler:
|
||||
__test__ = False
|
||||
|
||||
|
||||
class RegistryLookupApiHandler:
|
||||
__test__ = False
|
||||
|
||||
|
||||
class RegistryLookupDbHandler:
|
||||
__test__ = False
|
||||
|
||||
|
||||
def test_registry_supports_unified_handler_lookup() -> None:
|
||||
node_type = "registry_lookup_demo"
|
||||
|
||||
if DomainRegistry.is_registered(node_type):
|
||||
reg = DomainRegistry.get_registration(node_type)
|
||||
reg.jsonl_handler_class = RegistryLookupJsonlHandler
|
||||
reg.api_handler_class = RegistryLookupApiHandler
|
||||
reg.db_handler_class = RegistryLookupDbHandler
|
||||
else:
|
||||
DomainRegistry.register(
|
||||
node_type=node_type,
|
||||
schema=RegistryLookupSchema,
|
||||
node_class=RegistryLookupNode,
|
||||
jsonl_handler_class=RegistryLookupJsonlHandler,
|
||||
api_handler_class=RegistryLookupApiHandler,
|
||||
db_handler_class=RegistryLookupDbHandler,
|
||||
)
|
||||
|
||||
assert DomainRegistry.get_handler(node_type, "jsonl") is RegistryLookupJsonlHandler
|
||||
assert DomainRegistry.get_handler(node_type, "api") is RegistryLookupApiHandler
|
||||
assert DomainRegistry.get_handler(node_type, "db") is RegistryLookupDbHandler
|
||||
Reference in New Issue
Block a user