コード例 #1
0
ファイル: rpc_test.py プロジェクト: wabu/aiozmq
        def go():
            port = find_unused_port()

            tr, pr = yield from self.loop.create_zmq_connection(
                lambda: Protocol(self.loop), zmq.DEALER,
                bind='tcp://127.0.0.1:{}'.format(port))

            client = yield from aiozmq.rpc.connect_rpc(
                connect='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([struct.pack('=HHLd?', 1, 2, 3, 4, True),
                          b'bad_answer'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(
                    ([mock.ANY, b'bad_answer'],),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)

            client.close()
            tr.close()
コード例 #2
0
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                with self.assertRaises(asyncio.TimeoutError):
                    t0 = time.monotonic()
                    with client.with_timeout(0.1) as timedout:
                        yield from timedout.call.slow_call()
                    t1 = time.monotonic()
                    self.assertTrue(0.08 <= t1 - t0 <= 0.12, t1 - t0)

                t0 = time.monotonic()
                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()
                t1 = time.monotonic()
                self.assertTrue(0.08 <= t1 - t0 <= 0.12, t1 - t0)

                ret = yield from self.err_queue.get()
                # TODO: make a test for several unexpected calls
                # This test should to do that but result is a bit suspicious
                # self.assertEqual(1, self.err_queue.qsize())
                self.assertEqual(logging.DEBUG, ret.levelno)
                self.assertEqual(
                    "The future for request #%08x "
                    "has been cancelled, "
                    "skip the received result.", ret.msg)
                self.assertEqual((1, ), ret.args)
                self.assertIsNone(ret.exc_info)
コード例 #3
0
ファイル: rpc_test.py プロジェクト: TadLeonard/aiozmq
        def go():
            port = find_unused_port()

            tr, pr = yield from create_zmq_connection(
                lambda: Protocol(self.loop), zmq.DEALER,
                bind='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            client = yield from aiozmq.rpc.connect_rpc(
                connect='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([struct.pack('=HHLd?', 1, 2, 3, 4, True),
                          b'bad_answer'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(
                    ([mock.ANY, b'bad_answer'],),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)

            client.close()
            tr.close()
コード例 #4
0
ファイル: rpc_test.py プロジェクト: dudarev/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                with self.assertRaises(asyncio.TimeoutError):
                    t0 = time.monotonic()
                    with client.with_timeout(0.1) as timedout:
                        yield from timedout.call.slow_call()
                    t1 = time.monotonic()
                    self.assertTrue(0.08 <= t1-t0 <= 0.12, t1-t0)

                t0 = time.monotonic()
                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()
                t1 = time.monotonic()
                self.assertTrue(0.08 <= t1-t0 <= 0.12, t1-t0)

                ret = yield from self.err_queue.get()
                # TODO: make a test for several unexpected calls
                # This test should to do that but result is a bit suspicious
                # self.assertEqual(1, self.err_queue.qsize())
                self.assertEqual(logging.DEBUG, ret.levelno)
                self.assertEqual("The future for request #%08x "
                                 "has been cancelled, "
                                 "skip the received result.", ret.msg)
                self.assertEqual((1,), ret.args)
                self.assertIsNone(ret.exc_info)
コード例 #5
0
ファイル: rpc_test.py プロジェクト: zmqwang/aiozmq
        def go():
            port = find_unused_port()
            server = yield from aiozmq.rpc.serve_rpc(
                MyHandler(self.loop),
                bind='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)
            tr, pr = yield from create_zmq_connection(
                lambda: Protocol(self.loop),
                zmq.DEALER,
                connect='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([
                    struct.pack('=HHLd', 1, 2, 3, 4),
                    msgpack.packb((1, 2)), b'bad_kwargs'
                ])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(
                    ([mock.ANY, mock.ANY, mock.ANY, b'bad_kwargs'], ),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)

            self.assertTrue(pr.received.empty())
            server.close()
コード例 #6
0
ファイル: rpc_test.py プロジェクト: zmqwang/aiozmq
        def go():
            port = find_unused_port()
            tr, pr = yield from create_zmq_connection(
                lambda: Protocol(self.loop),
                zmq.DEALER,
                bind='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            client = yield from aiozmq.rpc.connect_rpc(
                connect='tcp://127.0.0.1:{}'.format(port), loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([
                    struct.pack('=HHLd?', 1, 2, 34435, 4, True),
                    msgpack.packb((1, 2))
                ])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Unknown answer id: %d (%d %d %f %d) -> %s",
                                 ret.msg)
                self.assertEqual((mock.ANY, 1, 2, 4.0, True, (1, 2)), ret.args)
                self.assertIsNone(ret.exc_info)

            client.close()
コード例 #7
0
ファイル: rpc_test.py プロジェクト: TadLeonard/aiozmq
        def go():
            port = find_unused_port()
            tr, pr = yield from create_zmq_connection(
                lambda: Protocol(self.loop), zmq.DEALER,
                bind='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            client = yield from aiozmq.rpc.connect_rpc(
                connect='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([struct.pack('=HHLd?', 1, 2, 34435, 4, True),
                          msgpack.packb((1, 2))])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Unknown answer id: %d (%d %d %f %d) -> %s",
                                 ret.msg)
                self.assertEqual(
                    (mock.ANY, 1, 2, 4.0, True, (1, 2)),
                    ret.args)
                self.assertIsNone(ret.exc_info)

            client.close()
コード例 #8
0
ファイル: rpc_test.py プロジェクト: TadLeonard/aiozmq
        def go():
            port = find_unused_port()
            server = yield from aiozmq.rpc.serve_rpc(
                MyHandler(self.loop),
                bind='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)
            tr, pr = yield from create_zmq_connection(
                lambda: Protocol(self.loop), zmq.DEALER,
                connect='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([struct.pack('=HHLd', 1, 2, 3, 4),
                          msgpack.packb((1, 2)), b'bad_kwargs'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(
                    ([mock.ANY, mock.ANY, mock.ANY, b'bad_kwargs'],),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)

            self.assertTrue(pr.received.empty())
            server.close()
コード例 #9
0
        async def go():
            port = find_unused_port()
            server = await aiozmq.rpc.serve_rpc(
                MyHandler(self.loop),
                bind="tcp://127.0.0.1:{}".format(port),
            )
            tr, pr = await create_zmq_connection(
                lambda: Protocol(self.loop),
                zmq.DEALER,
                connect="tcp://127.0.0.1:{}".format(port),
            )

            with log_hook("aiozmq.rpc", self.err_queue):
                tr.write([
                    struct.pack("=HHLd", 1, 2, 3, 4),
                    msgpack.packb((1, 2)),
                    b"bad_kwargs",
                ])

                ret = await self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(
                    ([mock.ANY, mock.ANY, mock.ANY, b"bad_kwargs"], ),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)

            self.assertTrue(pr.received.empty())
            server.close()
コード例 #10
0
ファイル: rpc_pipeline_test.py プロジェクト: himikof/aiozmq
        def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                yield from client.notify.bad_handler()

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("Call to %r caused error: %r", ret.msg)
                self.assertEqual(("bad_handler", mock.ANY), ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #11
0
        async def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                await client.publish("my-topic").bad.method(1, 2)

                ret = await self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("Call to %r caused error: %r", ret.msg)
                self.assertEqual(("bad.method", mock.ANY), ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #12
0
ファイル: rpc_pipeline_test.py プロジェクト: yutiansut/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.notify.bad_handler()

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("Call to %r caused error: %r", ret.msg)
                self.assertEqual(('bad_handler', mock.ANY), ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #13
0
ファイル: rpc_pipeline_test.py プロジェクト: himikof/aiozmq
        def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                yield from client.notify.func_error()

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("An exception from method %r " "call occurred.\n" "args = %s\nkwargs = %s\n", ret.msg)
                self.assertEqual(("func_error", "()", "{}"), ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #14
0
        async def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                await client.notify.bad_handler()

                ret = await self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("Call to %r caused error: %r", ret.msg)
                self.assertEqual(("bad_handler", mock.ANY), ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #15
0
ファイル: rpc_pubsub_test.py プロジェクト: himikof/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.publish('my-topic').bad.method(1, 2)

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("Call to %r caused error: %r", ret.msg)
                self.assertEqual(('bad.method', mock.ANY),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #16
0
ファイル: rpc_pubsub_test.py プロジェクト: wabu/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.publish('my-topic').bad.method(1, 2)

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("Call to %r caused error: %r", ret.msg)
                self.assertEqual(('bad.method', mock.ANY),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #17
0
ファイル: rpc_pipeline_test.py プロジェクト: himikof/aiozmq
        def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                yield from client.notify.suspicious(1)
                ret = yield from self.queue.get()
                self.assertEqual(1, ret)

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.WARNING, ret.levelno)
                self.assertEqual("Pipeline handler %r returned not None", ret.msg)
                self.assertEqual(("suspicious",), ret.args)
                self.assertIsNone(ret.exc_info)
コード例 #18
0
        async def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                await client.notify.suspicious(1)
                ret = await self.queue.get()
                self.assertEqual(1, ret)

                ret = await self.err_queue.get()
                self.assertEqual(logging.WARNING, ret.levelno)
                self.assertEqual("Pipeline handler %r returned not None", ret.msg)
                self.assertEqual(("suspicious",), ret.args)
                self.assertIsNone(ret.exc_info)
コード例 #19
0
ファイル: rpc_test.py プロジェクト: TadLeonard/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                with self.assertRaises(asyncio.TimeoutError):
                    with client.with_timeout(0.1) as timedout:
                        yield from timedout.call.slow_call()

                t0 = time.monotonic()
                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()
                t1 = time.monotonic()
                self.assertTrue(0.08 <= t1-t0 <= 0.12, t1-t0)
コード例 #20
0
ファイル: rpc_pubsub_test.py プロジェクト: wabu/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.publish('my-topic').func_raise_error()

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual('An exception from method %r call occurred.\n'
                                 'args = %s\nkwargs = %s\n', ret.msg)
                self.assertEqual(('func_raise_error', '()', '{}'),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #21
0
ファイル: rpc_test.py プロジェクト: zmqwang/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                with self.assertRaises(asyncio.TimeoutError):
                    with client.with_timeout(0.1) as timedout:
                        yield from timedout.call.slow_call()

                t0 = time.monotonic()
                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()
                t1 = time.monotonic()
                self.assertTrue(0.08 <= t1 - t0 <= 0.12, t1 - t0)
コード例 #22
0
ファイル: rpc_pubsub_test.py プロジェクト: himikof/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.publish('my-topic').func_raise_error()

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual('An exception from method %r call occurred.\n'
                                 'args = %s\nkwargs = %s\n', ret.msg)
                self.assertEqual(('func_raise_error', '()', '{}'),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #23
0
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.notify.suspicious(1)
                ret = yield from self.queue.get()
                self.assertEqual(1, ret)

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.WARNING, ret.levelno)
                self.assertEqual('Pipeline handler %r returned not None',
                                 ret.msg)
                self.assertEqual(('suspicious',), ret.args)
                self.assertIsNone(ret.exc_info)
コード例 #24
0
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.notify.func_error()

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("An exception from method %r "
                                 "call has been occurred.\n"
                                 "args = %s\nkwargs = %s\n", ret.msg)
                self.assertEqual(('func_error', '()', '{}'),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #25
0
ファイル: rpc_pubsub_test.py プロジェクト: himikof/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.publish('topic').suspicious(1)
                ret = yield from self.queue.get()
                self.assertEqual(2, ret)

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.WARNING, ret.levelno)
                self.assertEqual('PubSub handler %r returned not None',
                                 ret.msg)
                self.assertEqual(('suspicious',), ret.args)
                self.assertIsNone(ret.exc_info)
コード例 #26
0
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                yield from client.notify.func_error()

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual("An exception %r from method %r "
                                 "call occurred.\n"
                                 "args = %s\nkwargs = %s\n", ret.msg)
                self.assertEqual((mock.ANY, 'func_error', '()', '{}'),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #27
0
        async def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                await client.publish("my-topic").func_raise_error()

                ret = await self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual(
                    "An exception %r from method %r call occurred.\n"
                    "args = %s\nkwargs = %s\n",
                    ret.msg,
                )
                self.assertEqual((mock.ANY, "func_raise_error", "()", "{}"),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #28
0
ファイル: rpc_test.py プロジェクト: zmqwang/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                with self.assertRaises(RuntimeError) as exc:
                    yield from client.call.exc(1)
                self.assertEqual(('bad arg', 1), exc.exception.args)

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual(
                    'An exception %r from method %r '
                    'call occurred.\n'
                    'args = %s\nkwargs = %s\n', ret.msg)
                self.assertEqual((mock.ANY, 'exc', '(1,)', '{}'), ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #29
0
ファイル: rpc_test.py プロジェクト: TadLeonard/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):
                with self.assertRaises(RuntimeError) as exc:
                    yield from client.call.exc(1)
                self.assertEqual(('bad arg', 1), exc.exception.args)

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual('An exception %r from method %r '
                                 'call occurred.\n'
                                 'args = %s\nkwargs = %s\n', ret.msg)
                self.assertEqual(
                    (mock.ANY, 'exc', '(1,)', '{}'),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #30
0
        async def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):
                with self.assertRaises(RuntimeError) as exc:
                    await client.call.exc(1)
                self.assertEqual(("bad arg", 1), exc.exception.args)

                ret = await self.err_queue.get()
                self.assertEqual(logging.ERROR, ret.levelno)
                self.assertEqual(
                    "An exception %r from method %r "
                    "call occurred.\n"
                    "args = %s\nkwargs = %s\n",
                    ret.msg,
                )
                self.assertEqual((mock.ANY, "exc", "(1,)", "{}"), ret.args)
                self.assertIsNotNone(ret.exc_info)
コード例 #31
0
ファイル: rpc_test.py プロジェクト: zmqwang/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):

                ret = yield from client.call.func(1)
                self.assertEqual(2, ret)

                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()

                ret = yield from client.call.func(2)
                self.assertEqual(3, ret)

                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()

                ret = yield from client.call.func(3)
                self.assertEqual(4, ret)
コード例 #32
0
ファイル: rpc_test.py プロジェクト: TadLeonard/aiozmq
        def communicate():
            with log_hook('aiozmq.rpc', self.err_queue):

                ret = yield from client.call.func(1)
                self.assertEqual(2, ret)

                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()

                ret = yield from client.call.func(2)
                self.assertEqual(3, ret)

                with self.assertRaises(asyncio.TimeoutError):
                    yield from client.with_timeout(0.1).call.slow_call()

                ret = yield from client.call.func(3)
                self.assertEqual(4, ret)
コード例 #33
0
        async def communicate():
            with log_hook("aiozmq.rpc", self.err_queue):

                ret = await client.call.func(1)
                self.assertEqual(2, ret)

                with self.assertRaises(asyncio.TimeoutError):
                    await client.with_timeout(0.1).call.slow_call()

                await asyncio.sleep(0.3)

                ret = await client.call.func(2)
                self.assertEqual(3, ret)

                with self.assertRaises(asyncio.TimeoutError):
                    await client.with_timeout(0.1).call.slow_call()

                ret = await client.call.func(3)
                self.assertEqual(4, ret)
コード例 #34
0
        def go():
            tr, pr = yield from self.loop.create_zmq_connection(
                lambda: Protocol(self.loop),
                zmq.DEALER,
                bind='tcp://127.0.0.1:{}'.format(port))

            client = yield from aiozmq.rpc.connect_rpc(
                connect='tcp://127.0.0.1:{}'.format(port), loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([b'invalid', b'structure'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(((b'invalid', b'structure'), ), ret.args)
                self.assertIsNotNone(ret.exc_info)

            client.close()
コード例 #35
0
        async def go():
            port = find_unused_port()
            tr, pr = await create_zmq_connection(
                lambda: Protocol(self.loop),
                zmq.DEALER,
                bind="tcp://127.0.0.1:{}".format(port),
            )

            client = await aiozmq.rpc.connect_rpc(
                connect="tcp://127.0.0.1:{}".format(port))

            with log_hook("aiozmq.rpc", self.err_queue):
                tr.write([b"invalid", b"structure"])

                ret = await self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(([b"invalid", b"structure"], ), ret.args)
                self.assertIsNotNone(ret.exc_info)

            client.close()
コード例 #36
0
ファイル: rpc_test.py プロジェクト: himikof/aiozmq
        def go():
            tr, pr = yield from self.loop.create_zmq_connection(
                lambda: Protocol(self.loop), zmq.DEALER,
                bind='inproc://test')

            client = yield from aiozmq.rpc.connect_rpc(
                connect='inproc://test',
                loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([b'invalid', b'structure'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(
                    ([b'invalid', b'structure'],),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)

            client.close()
コード例 #37
0
ファイル: rpc_test.py プロジェクト: dudarev/aiozmq
        def go():
            server = yield from aiozmq.rpc.serve_rpc(
                MyHandler(self.loop),
                bind='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)
            tr, pr = yield from self.loop.create_zmq_connection(
                lambda: Protocol(self.loop), zmq.DEALER,
                connect='tcp://127.0.0.1:{}'.format(port))

            yield from asyncio.sleep(0.001, loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([b'invalid', b'structure'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(((mock.ANY, b'invalid', b'structure'),),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)

            self.assertTrue(pr.received.empty())
            server.close()
コード例 #38
0
ファイル: rpc_test.py プロジェクト: himikof/aiozmq
        def go():
            server = yield from aiozmq.rpc.serve_rpc(
                MyHandler(self.loop),
                bind='inproc://test',
                loop=self.loop)
            tr, pr = yield from self.loop.create_zmq_connection(
                lambda: Protocol(self.loop), zmq.DEALER,
                connect='inproc://test')

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([struct.pack('=HHLd', 1, 2, 3, 4),
                          b'bad args', b'bad_kwargs'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(
                    ([mock.ANY, mock.ANY, b'bad args', b'bad_kwargs'],),
                    ret.args)
                self.assertIsNotNone(ret.exc_info)

            self.assertTrue(pr.received.empty())
            server.close()
コード例 #39
0
        def go():
            server = yield from aiozmq.rpc.serve_rpc(
                MyHandler(self.loop),
                bind='tcp://127.0.0.1:{}'.format(port),
                loop=self.loop)
            tr, pr = yield from self.loop.create_zmq_connection(
                lambda: Protocol(self.loop),
                zmq.DEALER,
                connect='tcp://127.0.0.1:{}'.format(port))

            yield from asyncio.sleep(0.001, loop=self.loop)

            with log_hook('aiozmq.rpc', self.err_queue):
                tr.write([b'invalid', b'structure'])

                ret = yield from self.err_queue.get()
                self.assertEqual(logging.CRITICAL, ret.levelno)
                self.assertEqual("Cannot unpack %r", ret.msg)
                self.assertEqual(((mock.ANY, b'invalid', b'structure'), ),
                                 ret.args)
                self.assertIsNotNone(ret.exc_info)

            self.assertTrue(pr.received.empty())
            server.close()