async def test_context_manager_already_closed_on_exit(self): async with aiorabbit.connect(os.environ['RABBITMQ_URI'], loop=self.loop) as client_: self.assertFalse(client_.is_closed) client_._state = client.STATE_CLOSED self.assertTrue(client_.is_closed) async with aiorabbit.connect(os.environ['RABBITMQ_URI'], loop=self.loop) as client_: self.assertFalse(client_.is_closed) self.assertTrue(client_.is_closed)
async def test_context_manager_exception(self): async with aiorabbit.connect(os.environ['RABBITMQ_URI'], loop=self.loop) as client_: await client_.confirm_select() with self.assertRaises(RuntimeError): await client_.confirm_select() self.assertEqual(client_._state, client.STATE_CLOSED)
async def consume_messages(): async with aiorabbit.connect(self.rabbitmq_url) as rabbitmq: async for message in rabbitmq.consume(self.queue): messages.remove(message.body) await rabbitmq.basic_ack(message.delivery_tag) if not messages: rabbitmq._on_disconnected(None)
async def consume_messages(): async with aiorabbit.connect(self.rabbitmq_url) as rabbitmq: async for message in rabbitmq.consume(self.queue): messages.remove(message.body) await rabbitmq.basic_ack(message.delivery_tag) if not messages: rabbitmq._on_remote_close(599, 'Test Close')
async def test_context_manager_open(self): async with aiorabbit.connect(os.environ['RABBITMQ_URI'], loop=self.loop) as client_: await client_.confirm_select() self.assertEqual(client_._state, client.STATE_CONFIRM_SELECTOK_RECEIVED) self.assertEqual(client_._state, client.STATE_CLOSED)
async def test_context_manager_remote_close(self): async with aiorabbit.connect(os.environ['RABBITMQ_URI'], loop=self.loop) as client_: LOGGER.debug('Sending admin shutdown frame') client_._on_frame(0, commands.Connection.Close(200, 'Admin Shutdown')) while not client_.is_closed: await asyncio.sleep(0.1) self.assertEqual(client_._state, client.STATE_CLOSED)
async def test_consume(self): messages = await self.rmq_setup() async with aiorabbit.connect(self.rabbitmq_url) as rabbitmq: async for message in rabbitmq.consume(self.queue): messages.remove(message.body) await rabbitmq.basic_ack(message.delivery_tag) if not messages: break msgs, _consumers = await self.client.queue_declare(self.queue) self.assertEqual(msgs, 0)