def setUp(self): self.loop = asyncio_glib.GLibEventLoop() self.loop.set_debug(True) self.loop.add_signal_handler(signal.SIGINT, self.loop.stop) self.config = config.Config() self.bus = messagebus.MessageBus(self.loop) self.amix = audiomix.AudioMix(self.config, self.bus, self.loop)
def test_send_with_no_consumers(self): bus = messagebus.MessageBus(self.loop) async def post_then_close(): await bus.post(MessageOne()) await bus.close() task = self.loop.create_task(post_then_close()) self.loop.run_until_complete(task) task.done()
def setUp(self): self.loop = asyncio_glib.GLibEventLoop() self.loop.add_signal_handler(signal.SIGINT, self.loop.stop) self.bus = messagebus.MessageBus(self.loop) self.config = config.Config() self.config.read_string(""" [server] host = 127.0.0.1 """) self.server = avsource.AVSourceServer(self.config, self.bus, self.loop)
def setUp(self): self.loop = asyncio.SelectorEventLoop() self.bus = messagebus.MessageBus(self.loop) self.config = config.Config() self.config.read_string(""" [server] host = 127.0.0.1 """) self.server = control.ControlServer(self.config, self.bus, self.create_initial_messages, self.loop) self.initial_messages = []
def test_consumers_receive_filtered_messages(self): bus = messagebus.MessageBus(self.loop) consumer1_messages = [] async def consumer1(queue): while True: consumer1_messages.append(await queue.get()) queue.task_done() bus.add_consumer(MessageOne, consumer1) consumer2_messages = [] async def consumer2(queue): while True: consumer2_messages.append(await queue.get()) queue.task_done() bus.add_consumer(MessageTwo, consumer2) # Accept any messagebus.Message subclass consumer3_messages = [] async def consumer3(queue): while True: consumer3_messages.append(await queue.get()) queue.task_done() bus.add_consumer(BaseMessage, consumer3) # Accept the two message types consumer4_messages = [] async def consumer4(queue): while True: consumer4_messages.append(await queue.get()) queue.task_done() bus.add_consumer((MessageOne, MessageTwo), consumer4) message1 = MessageOne() message2 = MessageTwo() async def post_then_close(): await bus.post(message1) await bus.post(message2) await bus.close() task = self.loop.create_task(post_then_close()) self.loop.run_until_complete(task) task.done() self.assertEqual(consumer1_messages, [message1]) self.assertEqual(consumer2_messages, [message2]) self.assertEqual(consumer3_messages, [message1, message2]) self.assertEqual(consumer4_messages, [message1, message2])