Files

40 lines
1.3 KiB
Python

import unittest
import importlib
from pathlib import Path
import sys
ROOT_DIR = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT_DIR.parent))
PLUGIN_INIT = importlib.import_module(ROOT_DIR.name)
class TestNodeRegistration(unittest.TestCase):
def test_all_nodes_are_registered(self):
expected_keys = {
"TextListProduct",
"TextListProductWithSingleA",
"TextListProductWithSingleB",
"TextListProductWithSingleBoth",
"ProductedString",
"PromptPairConcat",
"MultilineStringToList",
"StringsToList",
"TextListToSequence",
}
self.assertEqual(set(PLUGIN_INIT.NODE_CLASS_MAPPINGS.keys()), expected_keys)
self.assertEqual(
set(PLUGIN_INIT.NODE_DISPLAY_NAME_MAPPINGS.keys()), expected_keys
)
def test_registered_nodes_expose_required_comfyui_attributes(self):
for key, node_class in PLUGIN_INIT.NODE_CLASS_MAPPINGS.items():
self.assertTrue(hasattr(node_class, "INPUT_TYPES"), key)
self.assertTrue(hasattr(node_class, "RETURN_TYPES"), key)
self.assertTrue(hasattr(node_class, "FUNCTION"), key)
self.assertTrue(hasattr(node_class, "CATEGORY"), key)
if __name__ == "__main__":
unittest.main()