def client( loop, aiohttp_client, app_config, ## waits until swarm with *_services are up ): assert app_config["rest"]["version"] == API_VERSION app_config["storage"]["enabled"] = False app_config["main"]["testing"] = True pprint(app_config) # fake config app = create_safe_application() app[APP_CONFIG_KEY] = app_config pprint(app_config) setup_db(app) setup_session(app) setup_security(app) setup_rest(app) setup_login(app) setup_projects(app) setup_computation(app) yield loop.run_until_complete( aiohttp_client( app, server_kwargs={ "port": app_config["main"]["port"], "host": app_config["main"]["host"], }, ))
def client(loop, aiohttp_client, app_cfg, postgres_service, mock_orphaned_services): cfg = deepcopy(app_cfg) assert cfg["rest"]["version"] == API_VERSION assert cfg["rest"]["enabled"] cfg["db"]["init_tables"] = True # inits postgres_service cfg["projects"]["enabled"] = True cfg["director"]["enabled"] = True cfg[config.CONFIG_SECTION_NAME][ "garbage_collection_interval_seconds"] = GARBAGE_COLLECTOR_INTERVAL # increase speed of garbage collection # fake config app = create_safe_application(cfg) # activates only security+restAPI sub-modules setup_db(app) setup_session(app) setup_security(app) setup_rest(app) setup_login(app) setup_users(app) setup_sockets(app) setup_projects(app) setup_director(app) assert setup_resource_manager(app) yield loop.run_until_complete( aiohttp_client( app, server_kwargs={ "port": cfg["main"]["port"], "host": cfg["main"]["host"] }, ))
def client( loop, aiohttp_client, app_config, ## waits until swarm with *_services are up rabbit_service: RabbitConfig, ## waits until rabbit is responsive postgres_db: sa.engine.Engine, ): assert app_config["rest"]["version"] == API_VERSION app_config["storage"]["enabled"] = False # fake config app = create_safe_application() app[APP_CONFIG_KEY] = app_config setup_db(app) setup_session(app) setup_security(app) setup_rest(app) setup_login(app) setup_projects(app) setup_computation(app) setup_director_v2(app) setup_socketio(app) setup_resource_manager(app) yield loop.run_until_complete( aiohttp_client( app, server_kwargs={ "port": app_config["main"]["port"], "host": app_config["main"]["host"], }, ))
def client(loop, aiohttp_client, aiohttp_unused_port, api_specs_dir, fake_db): app = web.Application() server_kwargs = {'port': aiohttp_unused_port(), 'host': 'localhost'} # fake config app[APP_CONFIG_KEY] = { "main": server_kwargs, "rest": { "version": "v0", "location": str(api_specs_dir / API_VERSION / "openapi.yaml") }, "db": { "enabled": False }, # inits postgres_service, "projects": { "location": str(api_specs_dir / API_VERSION / "components/schemas/project-v0.0.1.json") } } setup_db(app) setup_session(app) setup_rest(app, debug=True) setup_projects( app, enable_fake_data=False, # no fake data disable_login=True) yield loop.run_until_complete( aiohttp_client(app, server_kwargs=server_kwargs))
def client(loop, aiohttp_client, app_cfg, postgres_service, qx_client_outdir, monkeypatch): # def client(loop, aiohttp_client, app_cfg, qx_client_outdir, monkeypatch): # <<<< FOR DEVELOPMENT. DO NOT REMOVE. cfg = deepcopy(app_cfg) cfg["db"][ "init_tables"] = True # inits tables of postgres_service upon startup cfg["projects"]["enabled"] = True cfg["storage"]["enabled"] = False cfg["rabbit"]["enabled"] = False app = create_safe_application(cfg) setup_statics(app) setup_db(app) setup_session(app) setup_security(app) setup_rest(app) # TODO: why should we need this?? setup_login(app) setup_users(app) assert setup_projects(app), "Shall not skip this setup" assert setup_studies_access(app), "Shall not skip this setup" # server and client yield loop.run_until_complete( aiohttp_client( app, server_kwargs={ "port": cfg["main"]["port"], "host": cfg["main"]["host"] }, ))
def client(loop, aiohttp_client, app_cfg, postgres_db, qx_client_outdir, mocks_on_projects_api): cfg = deepcopy(app_cfg) cfg["projects"]["enabled"] = True cfg["storage"]["enabled"] = False cfg["rabbit"]["enabled"] = False cfg["main"]["client_outdir"] = qx_client_outdir app = create_safe_application(cfg) setup_settings(app) setup_statics(app) setup_db(app) setup_session(app) setup_security(app) setup_rest(app) # TODO: why should we need this?? setup_login(app) setup_users(app) setup_products(app) assert setup_projects(app), "Shall not skip this setup" assert setup_studies_access(app), "Shall not skip this setup" # server and client yield loop.run_until_complete( aiohttp_client( app, server_kwargs={ "port": cfg["main"]["port"], "host": cfg["main"]["host"] }, ))
def client( loop, mock_orphaned_services, aiohttp_client, app_config, ## waits until swarm with *_services are up ): assert app_config["rest"]["version"] == API_VERSION app_config["main"]["testing"] = True app_config["db"]["init_tables"] = True app_config["storage"]["enabled"] = False app_config["rabbit"]["enabled"] = False pprint(app_config) app = create_safe_application(app_config) setup_db(app) setup_session(app) setup_security(app) setup_rest(app) setup_login(app) setup_resource_manager(app) assert setup_projects(app) yield loop.run_until_complete( aiohttp_client( app, server_kwargs={ "port": app_config["main"]["port"], "host": app_config["main"]["host"], }, ))
def client( loop, aiohttp_client, app_config, postgres_with_template_db, mock_orphaned_services ): cfg = deepcopy(app_config) assert cfg["rest"]["version"] == API_VERSION assert cfg["rest"]["enabled"] cfg["projects"]["enabled"] = True cfg["director"]["enabled"] = True cfg["resource_manager"][ "garbage_collection_interval_seconds" ] = GARBAGE_COLLECTOR_INTERVAL # increase speed of garbage collection cfg["resource_manager"][ "resource_deletion_timeout_seconds" ] = SERVICE_DELETION_DELAY # reduce deletion delay # fake config app = create_safe_application(cfg) # activates only security+restAPI sub-modules setup_db(app) setup_session(app) setup_security(app) setup_rest(app) setup_login(app) setup_users(app) setup_socketio(app) setup_projects(app) setup_director(app) setup_director_v2(app) assert setup_resource_manager(app) yield loop.run_until_complete( aiohttp_client( app, server_kwargs={"port": cfg["main"]["port"], "host": cfg["main"]["host"]}, ) )
def webserver_service(loop, docker_stack, aiohttp_server, aiohttp_unused_port, api_specs_dir, app_config): port = app_config["main"]["port"] = aiohttp_unused_port() app_config['main']['host'] = '127.0.0.1' assert app_config["rest"]["version"] == API_VERSION assert API_VERSION in app_config["rest"]["location"] app_config['storage']['enabled'] = False app_config['rabbit']['enabled'] = False app = web.Application() app[APP_CONFIG_KEY] = app_config setup_db(app) setup_session(app) setup_security(app) setup_rest(app, debug=True) setup_login(app) setup_projects( app, enable_fake_data=False, # no fake data disable_login=False) yield loop.run_until_complete(aiohttp_server(app, port=port))
def client( loop, aiohttp_client, app_config, ## waits until swarm with *_services are up rabbit_config: Config, rabbit_service, ## waits until rabbit is responsive ): assert app_config["rest"]["version"] == API_VERSION app_config["storage"]["enabled"] = False app_config["db"]["init_tables"] = True # inits postgres_service app_config[CONFIG_SECTION_NAME] = rabbit_config.dict() # fake config app = create_safe_application() app[APP_CONFIG_KEY] = app_config setup_db(app) setup_session(app) setup_security(app) setup_rest(app) setup_login(app) setup_projects(app) setup_computation(app) setup_sockets(app) setup_resource_manager(app) yield loop.run_until_complete( aiohttp_client( app, server_kwargs={ "port": app_config["main"]["port"], "host": app_config["main"]["host"], }, ) )
def client( loop, aiohttp_client, app_cfg, postgres_service, mocked_director_subsystem, mock_orphaned_services, ): # def client(loop, aiohttp_client, app_cfg): # <<<< FOR DEVELOPMENT. DO NOT REMOVE. # config app cfg = deepcopy(app_cfg) port = cfg["main"]["port"] cfg["db"]["init_tables"] = True # inits tables of postgres_service upon startup cfg["projects"]["enabled"] = True cfg["director"]["enabled"] = True cfg["resource_manager"][ "garbage_collection_interval_seconds" ] = 3 # increase speed of garbage collection cfg["resource_manager"][ "resource_deletion_timeout_seconds" ] = 3 # reduce deletion delay app = create_safe_application(cfg) # setup app setup_db(app) setup_session(app) setup_security(app) setup_rest(app) setup_login(app) # needed for login_utils fixtures setup_resource_manager(app) setup_sockets(app) setup_director(app) setup_tags(app) assert setup_projects(app) # server and client yield loop.run_until_complete( aiohttp_client(app, server_kwargs={"port": port, "host": "localhost"}) )