def test_removeHandler(): m = Manager() m.start() method = m.addHandler(on_foo) waiter = pytest.WaitEvent(m, "foo") x = m.fire(foo()) waiter.wait() s = x.value assert s == "Hello World!" m.removeHandler(method) waiter = pytest.WaitEvent(m, "foo") x = m.fire(foo()) waiter.wait() assert x.value is None assert on_foo not in dir(m) assert "foo" not in m._handlers m.stop()
def transmit(action, data, account=AccountMock()): """Fire an event and listen for a reply""" profile = ProfileMock() user = User(account, profile, useruuid) client = Client(None, None, clientuuid, useruuid) m.start() events = { 'put': put, 'get': get, 'delete': delete, 'change': change, 'getlist': getlist, 'search': search, 'subscribe': subscribe, 'unsubscribe': unsubscribe } waiter = pytest.WaitEvent(m, "send", "isomer-web") m.fire(events[action](user, action, data, client), "isomer-web") result = waiter.wait() packet = result.packet assert packet['component'] == 'isomer.events.objectmanager' return packet
def webapp(request): webapp = WebApp() if hasattr(request.module, "application"): from circuits.web.wsgi import Gateway application = getattr(request.module, "application") Gateway({"/": application}).register(webapp) Root = getattr(request.module, "Root", None) if Root is not None: Root().register(webapp) if request.config.option.verbose: Debugger().register(webapp) waiter = pytest.WaitEvent(webapp, "ready") webapp.start() assert waiter.wait() def finalizer(): webapp.fire(close(), webapp.server) webapp.stop() request.addfinalizer(finalizer) return webapp
def transmit(event_in, channel_in, event_out, channel_out): waiter = pytest.WaitEvent(m, event_in, channel_in) m.fire(event_out, channel_out) result = waiter.wait() return result
def webclient(request, webapp): webclient = WebClient(webapp.server.base) waiter = pytest.WaitEvent(webclient, "ready", channel=webclient.channel) webclient.register(webapp) assert waiter.wait() webclient.fire(Connect(), webclient) waiter = pytest.WaitEvent(webclient, "connected", channel=webclient.channel) assert waiter.wait() def finalizer(): webclient.unregister() request.addfinalizer(finalizer) return webclient
def transmit(event_in, channel_in, event_out, channel_out, timeout): """Fire an event and listen for a reply""" waiter = pytest.WaitEvent(m, event_in, channel_in, timeout=timeout) m.fire(event_out, channel_out) result = waiter.wait() return result
def webclient(request, webapp): webclient = WebClient() waiter = pytest.WaitEvent(webclient, "ready", channel=webclient.channel) webclient.register(webapp) assert waiter.wait() def finalizer(): webclient.unregister() request.addfinalizer(finalizer) return webclient
def test_addHandler(): m = Manager() m.start() m.addHandler(on_foo) waiter = pytest.WaitEvent(m, "foo") x = m.fire(foo()) waiter.wait() s = x.value assert s == "Hello World!" m.stop()
def get_schemata(action, data): user = User(None, None, useruuid) client = Client(None, None, clientuuid, useruuid) m.start() events = {'get': get, 'all': all, 'configuration': configuration} waiter = pytest.WaitEvent(m, 'send', "hfosweb") m.fire(events[action](user, action, data, client), "hfosweb") result = waiter.wait() packet = result.packet return packet
def test_createuser(): class createuser_event(): def __init__(self): self.username = '******' self.password = '******' self.clientuuid = std_uuid() self.sock = None m.start() waiter = pytest.WaitEvent(m, 'authentication', 'auth') auth.createuser(createuser_event()) result = waiter.wait() assert type(result) == authentication
def test(apps): server = Server(0) Gateway(apps).register(server) waiter = pytest.WaitEvent(server, "ready") server.start() waiter.wait() f = urlopen(server.http.base) s = f.read() assert s == b"Hello World!" f = urlopen("{0:s}/foobar/".format(server.http.base)) s = f.read() assert s == b"FooBar!" server.stop()
def worker(request): worker = Worker() def finalizer(): worker.stop() request.addfinalizer(finalizer) if request.config.option.verbose: from circuits import Debugger Debugger().register(worker) waiter = pytest.WaitEvent(worker, "started") worker.start() assert waiter.wait() return worker
def transmit(action, data, account=AccountMock()): profile = ProfileMock() user = User(account, profile, useruuid) client = Client(None, None, clientuuid, useruuid) m.start() events = { 'put': put, 'get': get, 'list': list, } waiter = pytest.WaitEvent(m, "send", "hfosweb") m.fire(events[action](user, action, data, client), "hfosweb") result = waiter.wait() packet = result.packet assert packet['component'] == 'hfos.ui.configurator' return packet
def transmit(action, data, account=AccountMock()): """Fire an event and listen for a reply""" profile = ProfileMock() user = User(account, profile, user_uuid) client = Client(None, None, client_uuid, user_uuid) m.start() events = { "put": put, "get": get, "getlist": getlist, } waiter = pytest.WaitEvent(m, "send", "isomer-web") m.fire(events[action](user, action, data, client), "isomer-web") result = waiter.wait() packet = result.packet assert packet["component"] == "isomer.ui.configurator" return packet
def __call__(self, method, path, body=None, headers={}): waiter = pytest.WaitEvent(self, "response", channel=self.channel) self.fire(request(method, path, body, headers)) assert waiter.wait() return self.response