def test_settings_constructs(app_settings: ApplicationSettings): assert "vcs_url" in app_settings.public_dict() assert (app_settings.public_dict()["vcs_url"] == "[email protected]:ITISFoundation/osparc-simcore.git") assert "app_name" in app_settings.public_dict() assert "api_version" in app_settings.public_dict()
def test_settings_to_client_statics_plugins(mock_webserver_service_environment, monkeypatch): disable_plugins = {"WEBSERVER_EXPORTER", "WEBSERVER_SCICRUNCH"} for name in disable_plugins: monkeypatch.setenv(name, "null") monkeypatch.setenv("WEBSERVER_VERSION_CONTROL", "0") disable_plugins.add("WEBSERVER_VERSION_CONTROL") settings = ApplicationSettings() statics = settings.to_client_statics() print(json.dumps(statics, indent=1)) assert set(statics["pluginsDisabled"]) == disable_plugins
def test_settings_to_client_statics(app_settings: ApplicationSettings): statics = app_settings.to_client_statics() # can jsonify print(json.dumps(statics, indent=1)) # all key in camelcase assert all( key[0] == key[0].lower() and "_" not in key and key.lower() != key for key in statics.keys()), f"Got {list(statics.keys())}" # special alias assert statics["stackName"] == "master-simcore" assert not statics["pluginsDisabled"]
def test_settings_infered_from_default_tests_config( default_app_cfg: ConfigDict, monkeypatch_setenv_from_app_config: Callable): # TODO: use app_config_for_production_legacy envs = monkeypatch_setenv_from_app_config(default_app_cfg) assert envs == convert_to_environ_vars(default_app_cfg) settings = ApplicationSettings.create_from_envs() print("settings=\n", settings.json(indent=1, sort_keys=True)) infered_config = convert_to_app_config(settings) assert default_app_cfg == infered_config assert set(default_app_cfg.keys()) == set(infered_config.keys())
def test_avoid_sensitive_info_in_public(app_settings: ApplicationSettings): # avoids display of sensitive info assert not any("pass" in key for key in app_settings.public_dict().keys()) assert not any("token" in key for key in app_settings.public_dict().keys()) assert not any("secret" in key for key in app_settings.public_dict().keys())