def test_subscribe(self): board = MessageBoard(self.loop) expected_topic = Topic.parse('a:b:c') expected_args = (1, 2, 3) expected_kwargs = {'kwarg': True} def subscriber(topic, *args, **kwargs): self.called = True self.assertEqual(topic, expected_topic) self.assertEqual(args, expected_args) self.assertEqual(kwargs, expected_kwargs) self.loop.stop() board.subscribe(expected_topic, subscriber) board.publish(expected_topic, *expected_args, **expected_kwargs) self.loop.run_forever() self.assertTrue(self.called)
def test_parse(self): actual = Topic.parse('a:b:c') expected = Topic('c', parent=Topic('b', parent=Topic('a'))) self.assertEqual(actual, expected)