Files
ausboss-ComfyUI-AusBoss/tests/test_note_tile_nodes.py

40 lines
1.5 KiB
Python

"""The renderer identities keep the legacy data contract intact."""
import importlib.util
import json
from pathlib import Path
import unittest
ROOT = Path(__file__).resolve().parents[1]
def load(name):
spec = importlib.util.spec_from_file_location(name, ROOT / "nodes" / f"{name}.py")
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
class TileContractTests(unittest.TestCase):
def test_callout_preserves_storage_and_no_execution(self):
module = load("node_callout")
plain, tile = module.AusBossCallout, module.AusBossCalloutTile
self.assertEqual(plain.INPUT_TYPES(), tile.INPUT_TYPES())
self.assertEqual(tile.RETURN_TYPES, ())
self.assertFalse(getattr(tile, "OUTPUT_NODE", False))
self.assertEqual(tile().noop("exact\ntext"), ())
def test_note_defaults_are_independent_and_tile_is_explicit(self):
module = load("node_workflow_note")
plain, tile = module.AusBossWorkflowNote, module.AusBossWorkflowNoteTile
original = plain.INPUT_TYPES()
tile_inputs = tile.INPUT_TYPES()
self.assertEqual(list(original["required"]), list(tile_inputs["required"]))
self.assertEqual(json.loads(tile_inputs["required"]["note"][1]["default"])["layout"], "tile")
self.assertEqual(plain.INPUT_TYPES(), original)
self.assertEqual(tile.RETURN_TYPES, ())
self.assertFalse(getattr(tile, "OUTPUT_NODE", False))
if __name__ == "__main__":
unittest.main()