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)