Files
KOFiblto-ComfyUI-SaturnNodes/tests/test_decision_node.py
T

39 lines
1.2 KiB
Python

import os
import sys
import unittest
import threading
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import test_helper
from nodes.decision_node import DecisionManager, SaturnDecision
class TestDecisionNode(unittest.TestCase):
def setUp(self):
self.node = SaturnDecision()
def test_decision_manager_register_and_trigger(self):
uid = "test_decision_123"
event = threading.Event()
DecisionManager.register_wait(uid, event)
self.assertIn(uid, DecisionManager._waiting_events)
triggered = DecisionManager.trigger_action(uid, "cancel")
self.assertTrue(triggered)
self.assertTrue(event.is_set())
action = DecisionManager.get_action(uid)
self.assertEqual(action, "cancel")
self.assertNotIn(uid, DecisionManager._waiting_events)
def test_decision_disabled_mode(self):
res = self.node.decide(disable=True, send_os_notification=False, timeout=-1, unique_id="disabled_node")
self.assertEqual(res, (False,))
def test_decision_manager_unknown_id_default(self):
action = DecisionManager.get_action("non_existent_id")
self.assertEqual(action, "continue")
if __name__ == "__main__":
unittest.main()