Ejemplo n.º 1
0
    def test_peer_task(self):
        route_key = conf.PEER_QUEUE_NAME_FORMAT.format(amqp_key=conf.AMQP_KEY)

        service = PeerInnerService(conf.AMQP_TARGET,
                                   route_key,
                                   peer_service=None)
        service._callback_connection_close = lambda conn: None

        stub = PeerInnerStub(conf.AMQP_TARGET, route_key)
        stub._callback_connection_close = lambda conn: None

        async def _run():
            try:
                await service.connect(exclusive=True)
                await stub.connect()

                result = await stub.async_task().hello()
                self.assertEqual(result, 'peer_hello')

                bad_service = PeerInnerService(conf.AMQP_TARGET,
                                               route_key,
                                               peer_service=None)
                with self.assertRaises(ChannelClosed):
                    await bad_service.connect()

                with self.assertRaises(ChannelClosed):
                    await bad_service.connect(exclusive=True)
            finally:
                await service._connection.close()
                await stub._connection.close()

        loop = asyncio.get_event_loop()
        loop.run_until_complete(_run())
Ejemplo n.º 2
0
    async def create_peer_stub(self):
        from loopchain import configure as conf
        from loopchain.peer import PeerInnerStub

        queue_name = conf.PEER_QUEUE_NAME_FORMAT.format(amqp_key=self.amqp_key)
        self.peer_stub = PeerInnerStub(self.amqp_target, queue_name, conf.AMQP_USERNAME, conf.AMQP_PASSWORD)
        await self.peer_stub.connect(conf.AMQP_CONNECTION_ATTEMPS, conf.AMQP_RETRY_DELAY)
        return self.peer_stub