def server(request, loop, port_manager, monkeypatch): """A GNS3 server""" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) for module in MODULES: instance = module.instance() instance.port_manager = port_manager host = "localhost" # We try multiple time. Because on Travis test can fail when because the port is taken by someone else for i in range(0, 5): port = _get_unused_port() try: srv = loop.create_server(app.make_handler(), host, port) srv = loop.run_until_complete(srv) except OSError: pass else: break def tear_down(): for module in MODULES: instance = module.instance() monkeypatch.setattr( 'gns3server.modules.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) srv.close() srv.wait_closed() request.addfinalizer(tear_down) return Query(loop, host=host, port=port)
def http_server(request, loop, port_manager, monkeypatch, controller): """A GNS3 server""" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) host = "127.0.0.1" # We try multiple time. Because on Travis test can fail when because the port is taken by someone else for i in range(0, 5): port = _get_unused_port() try: srv = loop.create_server(app.make_handler(), host, port) srv = loop.run_until_complete(srv) except OSError: pass else: break yield (host, port) loop.run_until_complete(controller.stop()) for module in MODULES: instance = module.instance() monkeypatch.setattr( 'gns3server.compute.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) srv.close() srv.wait_closed()
def server(request, loop, port_manager, monkeypatch): """A GNS3 server""" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) for module in MODULES: instance = module.instance() instance.port_manager = port_manager host = "localhost" # We try multiple time. Because on Travis test can fail when because the port is taken by someone else for i in range(0, 5): port = _get_unused_port() try: srv = loop.create_server(app.make_handler(), host, port) srv = loop.run_until_complete(srv) except OSError: pass else: break def tear_down(): for module in MODULES: instance = module.instance() monkeypatch.setattr('gns3server.modules.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) srv.close() srv.wait_closed() request.addfinalizer(tear_down) return Query(loop, host=host, port=port)
async def http_client(aiohttp_client): app = web.Application() app['websockets'] = weakref.WeakSet() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) return await aiohttp_client(app)
def http_server(request, loop, port_manager, monkeypatch, controller): """A GNS3 server""" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) host = "127.0.0.1" # We try multiple time. Because on Travis test can fail when because the port is taken by someone else for i in range(0, 5): port = _get_unused_port() try: srv = loop.create_server(app.make_handler(), host, port) srv = loop.run_until_complete(srv) except OSError: pass else: break yield (host, port) loop.run_until_complete(controller.stop()) for module in MODULES: instance = module.instance() monkeypatch.setattr('gns3server.compute.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) srv.close() srv.wait_closed()
def server(request, loop, port_manager, monkeypatch): """A GNS3 server""" port = _get_unused_port() host = "localhost" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) for module in MODULES: instance = module.instance() instance.port_manager = port_manager srv = loop.create_server(app.make_handler(), host, port) srv = loop.run_until_complete(srv) def tear_down(): for module in MODULES: instance = module.instance() monkeypatch.setattr( 'gns3server.modules.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) srv.close() srv.wait_closed() request.addfinalizer(tear_down) return Query(loop, host=host, port=port)
async def client(aiohttp_client): """ Return an helper allowing you to call the server without any prefix """ app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) return await aiohttp_client(app)
def http_server(request, loop, port_manager, monkeypatch, controller): """A GNS3 server""" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) # Keep a list of active websocket connections app['websockets'] = weakref.WeakSet() host = "127.0.0.1" # We try multiple time. Because on Travis test can fail when because the port is taken by someone else for i in range(0, 5): port = _get_unused_port() try: runner = web.AppRunner(app) loop.run_until_complete(runner.setup()) site = web.TCPSite(runner, host, port) loop.run_until_complete(site.start()) except OSError: pass else: break yield (host, port) # close websocket connections for ws in set(app['websockets']): loop.run_until_complete( ws.close(code=aiohttp.WSCloseCode.GOING_AWAY, message='Server shutdown')) loop.run_until_complete(controller.stop()) for module in MODULES: instance = module.instance() monkeypatch.setattr( 'gns3server.compute.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) loop.run_until_complete(runner.cleanup())
def http_server(request, loop, port_manager, monkeypatch, controller): """A GNS3 server""" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) # Keep a list of active websocket connections app['websockets'] = weakref.WeakSet() host = "127.0.0.1" # We try multiple time. Because on Travis test can fail when because the port is taken by someone else for i in range(0, 5): port = _get_unused_port() try: runner = web.AppRunner(app) loop.run_until_complete(runner.setup()) site = web.TCPSite(runner, host, port) loop.run_until_complete(site.start()) except OSError: pass else: break yield (host, port) # close websocket connections for ws in set(app['websockets']): loop.run_until_complete(ws.close(code=aiohttp.WSCloseCode.GOING_AWAY, message='Server shutdown')) loop.run_until_complete(controller.stop()) for module in MODULES: instance = module.instance() monkeypatch.setattr('gns3server.compute.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) loop.run_until_complete(runner.cleanup())
def server(request, loop, port_manager, monkeypatch): """A GNS3 server""" port = _get_unused_port() host = "localhost" app = web.Application() for method, route, handler in Route.get_routes(): app.router.add_route(method, route, handler) for module in MODULES: instance = module.instance() instance.port_manager = port_manager srv = loop.create_server(app.make_handler(), host, port) srv = loop.run_until_complete(srv) def tear_down(): for module in MODULES: instance = module.instance() monkeypatch.setattr('gns3server.modules.virtualbox.virtualbox_vm.VirtualBoxVM.close', lambda self: True) loop.run_until_complete(instance.unload()) srv.close() srv.wait_closed() request.addfinalizer(tear_down) return Query(loop, host=host, port=port)