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()
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 7
0
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()
Esempio n. 9
0
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
Esempio n. 10
0
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()
Esempio n. 12
0
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
Esempio n. 13
0
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
Esempio n. 14
0
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
Esempio n. 15
0
    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