Exemplo n.º 1
0
def test_settings_only_saves_non_default_values(tmp_path):
    settings = SettingsManager(tmp_path, save_to_disk=False)
    all_data = settings._to_dict(safe=True)
    with open(tmp_path / SettingsManager._FILENAME, "w") as fh:
        fh.write(safe_dump(all_data))

    settings = SettingsManager(tmp_path, save_to_disk=True)
    settings._save()

    with open(tmp_path / SettingsManager._FILENAME) as fh:
        data = safe_load(fh.read())

    assert all_data.keys() == data.keys()
    assert all_data != data
Exemplo n.º 2
0
def test_settings_env_variables_do_not_write_to_disk(tmp_path, monkeypatch):
    data = """
appearance:
  theme: light
"""
    with open(tmp_path / SettingsManager._FILENAME, "w") as fh:
        fh.write(data)

    value = 'dark'
    monkeypatch.setenv('NAPARI_THEME', value)
    settings = SettingsManager(tmp_path, save_to_disk=True)
    settings._save()
    with open(tmp_path / SettingsManager._FILENAME) as fh:
        saved_data = fh.read()

    model_values = settings._to_dict(safe=True)
    saved_values = safe_load(saved_data)

    assert model_values["appearance"]["theme"] == value
    assert saved_values.get("appearance", {}).get("theme", "") == ""