ComfyUI/tests/test_adapter.py

52 lines
1.4 KiB
Python

import os
import sys
from pathlib import Path
repo_root = Path(__file__).resolve().parents[1]
pyisolate_root = repo_root.parent / "pyisolate"
if pyisolate_root.exists():
sys.path.insert(0, str(pyisolate_root))
from comfy.isolation.adapter import ComfyUIAdapter
from pyisolate._internal.serialization_registry import SerializerRegistry
def test_identifier():
adapter = ComfyUIAdapter()
assert adapter.identifier == "comfyui"
def test_get_path_config_valid():
adapter = ComfyUIAdapter()
path = os.path.join("/opt", "ComfyUI", "custom_nodes", "demo")
cfg = adapter.get_path_config(path)
assert cfg is not None
assert cfg["preferred_root"].endswith("ComfyUI")
assert "custom_nodes" in cfg["additional_paths"][0]
def test_get_path_config_invalid():
adapter = ComfyUIAdapter()
assert adapter.get_path_config("/random/path") is None
def test_provide_rpc_services():
adapter = ComfyUIAdapter()
services = adapter.provide_rpc_services()
names = {s.__name__ for s in services}
assert "PromptServerService" in names
assert "FolderPathsProxy" in names
def test_register_serializers():
adapter = ComfyUIAdapter()
registry = SerializerRegistry.get_instance()
registry.clear()
adapter.register_serializers(registry)
assert registry.has_handler("ModelPatcher")
assert registry.has_handler("CLIP")
assert registry.has_handler("VAE")
registry.clear()