From 29dcc870521893d5292522185f280b4e01c7cae8 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Tue, 23 Jul 2013 17:20:05 +0100 Subject: [PATCH] Add test code for the rabbit driver These are just a couple of silly sample scripts. Proper unit tests will follow. Change-Id: I6f27ae071c7e6f96059fd665d1163c89227833b9 --- doc/messaging/test-rabbit-client.py | 39 ++++++++++++++++++++++ doc/messaging/test-rabbit-server.py | 52 +++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 doc/messaging/test-rabbit-client.py create mode 100644 doc/messaging/test-rabbit-server.py diff --git a/doc/messaging/test-rabbit-client.py b/doc/messaging/test-rabbit-client.py new file mode 100644 index 000000000..4fe9eb22a --- /dev/null +++ b/doc/messaging/test-rabbit-client.py @@ -0,0 +1,39 @@ +import eventlet + +eventlet.monkey_patch(os=False) + +import logging +import socket + +from oslo.config import cfg + +from oslo import messaging + +_opts = [ + cfg.StrOpt('host', default=socket.gethostname()), +] + +CONF = cfg.CONF +CONF.register_opts(_opts) + +LOG = logging.getLogger('client') + +logging.basicConfig(level=logging.DEBUG) + +CONF() +CONF.log_opt_values(LOG, logging.DEBUG) + +class Client(object): + + def __init__(self, transport): + target = messaging.Target(topic='topic') + self._client = messaging.RPCClient(transport, target) + super(Client, self).__init__() + + def ping(self, ctxt): + return self._client.call(ctxt, 'ping') + +transport = messaging.get_transport(CONF, 'rabbit:///test') + +client = Client(transport) +print client.ping({}) diff --git a/doc/messaging/test-rabbit-server.py b/doc/messaging/test-rabbit-server.py new file mode 100644 index 000000000..ff67c00ab --- /dev/null +++ b/doc/messaging/test-rabbit-server.py @@ -0,0 +1,52 @@ + +import eventlet + +eventlet.monkey_patch(os=False) + +import logging +import socket + +from oslo.config import cfg + +from oslo import messaging + +_opts = [ + cfg.StrOpt('host', default=socket.gethostname()), +] + +CONF = cfg.CONF +CONF.register_opts(_opts) + +LOG = logging.getLogger('server') + +CONF() +CONF.log_opt_values(LOG, logging.DEBUG) + +logging.basicConfig(level=logging.DEBUG) + +class Server(object): + + def __init__(self, transport): + self.target = messaging.Target(topic='topic', + server=transport.conf.host) + self._server = messaging.get_rpc_server(transport, + self.target, + [self], + executor='eventlet') + super(Server, self).__init__() + + def start(self): + self._server.start() + + def wait(self): + self._server.wait() + + def ping(self, ctxt): + LOG.info("PING") + return 'ping' + +transport = messaging.get_transport(CONF, 'rabbit:///test') + +server = Server(transport) +server.start() +server.wait()