def test_connection_close(self): client = yield from connect(AMQP_URL, loop=self.loop) # type: Connection routing_key = self.get_random_name() channel = yield from client.channel() # type: Channel exchange = yield from channel.declare_exchange('direct', auto_delete=True) try: with self.assertRaises(aio_pika.exceptions.ChannelClosed): msg = Message(bytes(shortuuid.uuid(), 'utf-8')) msg.delivery_mode = 8 yield from exchange.publish(msg, routing_key) channel = yield from client.channel() exchange = yield from channel.declare_exchange('direct', auto_delete=True) finally: yield from exchange.delete() yield from wait((client.close(), client.closing), loop=self.loop)
async def test_connection_close(self): client = await self.create_connection() routing_key = self.get_random_name() channel = await client.channel() # type: aio_pika.Channel exchange = await channel.declare_exchange('direct', auto_delete=True) try: with pytest.raises(aio_pika.exceptions.ChannelClosed): msg = Message(bytes(shortuuid.uuid(), 'utf-8')) msg.delivery_mode = 8 await exchange.publish(msg, routing_key) channel = await client.channel() exchange = await channel.declare_exchange('direct', auto_delete=True) finally: await exchange.delete() await wait((client.close(), client.closing), loop=self.loop)
async def test_connection_close( self, connection: aio_pika.Connection, declare_exchange: Callable ): routing_key = get_random_name() channel = await self.create_channel(connection) exchange = await declare_exchange( "direct", auto_delete=True, channel=channel, ) try: with pytest.raises(aio_pika.exceptions.ChannelPreconditionFailed): msg = Message(bytes(shortuuid.uuid(), "utf-8")) msg.delivery_mode = 8 await exchange.publish(msg, routing_key) channel = await self.create_channel(connection) exchange = await declare_exchange( "direct", auto_delete=True, channel=channel, ) finally: await exchange.delete()