def test_os_environ_is_default_for_config_values(api_key): app = mock.MagicMock() os.environ["APD_SENSORS_API_KEY"] = api_key try: assert app.config.from_mapping.call_count == 0 set_up_config(None, to_configure=app) assert app.config.from_mapping.call_count == 1 assert app.config.from_mapping.call_args[0][0] == os.environ finally: del os.environ["APD_SENSORS_API_KEY"]
def subject(self, api_key): app = flask.Flask("testapp") app.register_blueprint(v10.version) set_up_config( { "APD_SENSORS_API_KEY": api_key, "APD_SENSORS_DEPLOYMENT_ID": "8f1b57faa04b430c81decbbeee9e300c", }, to_configure=app, ) return app
def test_os_environ_is_default_for_config_values(api_key): app = mock.MagicMock() os.environ["APD_SENSORS_API_KEY"] = api_key os.environ[ "APD_SENSORS_DEPLOYMENT_ID"] = "8f1b57faa04b430c81decbbeee9e300c" try: assert app.config.from_mapping.call_count == 0 set_up_config(None, to_configure=app) assert app.config.from_mapping.call_count == 1 assert app.config.from_mapping.call_args[0][0] == os.environ finally: del os.environ["APD_SENSORS_API_KEY"] del os.environ["APD_SENSORS_DEPLOYMENT_ID"]
def test_os_environ_is_default_for_config_values(api_key): app = mock.MagicMock() os.environ["APD_SENSORS_API_KEY"] = api_key os.environ["APD_SENSORS_DEPLOYMENT_ID"] = "8f1b57faa04b430c81decbbeee9e300c" try: assert app.config.from_mapping.call_count == 0 set_up_config(None, to_configure=app) assert app.config.from_mapping.call_count == 1 for key, value in os.environ.items(): # There may be keys in the config not from the environment assert app.config.from_mapping.call_args[0][0][key] == value finally: del os.environ["APD_SENSORS_API_KEY"] del os.environ["APD_SENSORS_DEPLOYMENT_ID"]
def run_server_in_thread(name: str, config: t.Dict[str, t.Any], port: int) -> t.Iterator[str]: # Create a new flask app and load in required code, to prevent config conflicts app = get_independent_flask_app(name) flask_app = set_up_config(config, app) server = wsgiref.simple_server.make_server("localhost", port, flask_app) with ThreadPoolExecutor() as pool: pool.submit(server.serve_forever) yield f"http://localhost:{port}/" server.shutdown()
def subject(self, api_key): app = flask.Flask("testapp") app.register_blueprint(v20.version) set_up_config({"APD_SENSORS_API_KEY": api_key}, to_configure=app) return app
def test_api_key_is_required_config_option(): app = mock.MagicMock() with pytest.raises(ValueError, match="Missing config variables: APD_SENSORS_API_KEY"): set_up_config({}, to_configure=app)
def test_deployment_id_is_required_config_option(): app = mock.MagicMock() with pytest.raises( ValueError, match="Missing config variables: APD_SENSORS_DEPLOYMENT_ID"): set_up_config({"APD_SENSORS_API_KEY": ""}, to_configure=app)