40 lines
1.3 KiB
Python
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()
|