def test_messaging(self): hub = MessageHub(context=self.context) hub.start() queue = MessageQueue.from_hub(hub, topics=["A", ]) queue.start() hub.send_message("A", {"a": 1}) self.assertEqual(queue.get_message(timeout=10), ("A", {"a": 1})) queue.kill(block=True, timeout=10) hub.kill(block=True, timeout=10)
def test_subscriptions(self): hub = MessageHub(context=self.context) hub.start() queue = MessageQueue.from_hub(hub, topics=["A", ]) queue.start() queue.subscribe("B") hub.send_message("B", {"b": 1}) hub.send_message("C", {"c": 1}) hub.send_message("A", {"a": 1}) self.assertEqual(queue.get_message(timeout=10), ("B", {"b": 1})) self.assertEqual(queue.get_message(timeout=10), ("A", {"a": 1})) queue.kill(block=True, timeout=10) hub.kill(block=True, timeout=10)