Files
2026-10-04 11:00:22 +08:00

44 lines
2.3 KiB
Python

import math
import unittest
from plugin_loader import plugin
class RegistrationTests(unittest.TestCase):
def test_independent_nodes(self):
self.assertEqual(set(plugin.NODE_CLASS_MAPPINGS), {"ChickHideNode", "ChickSaveImage", "ChickRestoreImage", "NotifyMeNode"})
self.assertEqual(set(plugin.NODE_DISPLAY_NAME_MAPPINGS), set(plugin.NODE_CLASS_MAPPINGS))
def test_chick_node_is_independently_registered(self):
node = plugin.NODE_CLASS_MAPPINGS["ChickHideNode"]()
self.assertEqual(node.RETURN_NAMES, ("chick_image",))
schema = node.INPUT_TYPES()
self.assertEqual(set(schema["optional"]), {"images", "audio"})
self.assertEqual(list(schema["required"]), ["password", "title", "fps", "compress", "combine_video"])
self.assertEqual(schema["required"]["fps"][1]["default"], 16)
self.assertTrue(schema["required"]["combine_video"][1]["default"])
def test_private_saver_is_independently_registered(self):
node = plugin.NODE_CLASS_MAPPINGS["ChickSaveImage"]()
schema = node.INPUT_TYPES()
self.assertNotIn("prompt", schema.get("hidden", {}))
self.assertEqual(schema["hidden"]["extra_pnginfo"], "EXTRA_PNGINFO")
def test_notice_runs_on_every_queue(self):
node = plugin.NODE_CLASS_MAPPINGS["NotifyMeNode"]
self.assertTrue(math.isnan(node.IS_CHANGED()))
self.assertTrue(node.OUTPUT_NODE)
self.assertEqual(node.RETURN_TYPES, ("*",))
self.assertEqual(node.RETURN_NAMES, ("passthrough",))
schema = node.INPUT_TYPES()
self.assertEqual(set(schema["required"]), {"callback_url"})
self.assertEqual(schema["optional"]["msg"], ("STRING", {"forceInput": True}))
self.assertEqual(schema["optional"]["passthrough"], ("*", {"forceInput": True}))
self.assertNotIn("allow_localhost", schema["optional"])
self.assertEqual(schema["optional"]["id"][0], "STRING")
self.assertEqual(schema["optional"]["id"][1]["default"], "")
self.assertFalse(schema["optional"]["id"][1].get("forceInput", False))
widgets = [key for group in ("required", "optional") for key, field in schema[group].items()
if not field[1].get("forceInput", False)]
self.assertEqual(widgets, ["callback_url", "id"])