def test_should_not_merge_if_merge_is_not_explicit_set(tmpdir): """Should not merge if merge is not explicit set.""" settings_file_yaml = """ default: SOME_KEY: "value" SOME_LIST: - "item_1" - "item_2" - "item_3" other: SOME_KEY: "new_value" SOME_LIST: - "item_4" - "item_5" """ tmpdir.join("settings.yaml").write(settings_file_yaml) settings = LazySettings( environments=True, settings_files=["settings.yaml"], ) settings.reload() assert settings.SOME_KEY == "value" assert settings.SOME_LIST == ["item_1", "item_2", "item_3"] other_settings = settings.from_env("other") assert other_settings.SOME_KEY == "new_value" assert other_settings.SOME_LIST == ["item_4", "item_5"]
def test_empty_env(tmpdir): """Assert empty env is not crashing on load.""" settings_file_yaml = """ default: ~ """ tmpdir.join("settings.yaml").write(settings_file_yaml) settings = LazySettings() settings.reload()
def test_empty_env_from_file(tmpdir): """Assert empty env is not crashing on load.""" settings_file_yaml = """ default: foo: bar development: ~ """ tmpdir.join("settings.yaml").write(settings_file_yaml) settings = LazySettings(environments=True, settings_file="settings.yaml") settings.reload() assert settings.FOO == "bar"
def test_merge_unique_in_a_first_level(tmpdir): """Assert merge unique in a first level.""" settings_file_yaml = """ default: colors: "@merge_unique green,blue" non_exist: "@merge_unique item1,item2" """ tmpdir.join("settings.yaml").write(settings_file_yaml) settings = LazySettings( environments=True, settings_file="settings.yaml", COLORS=["red", "green"], ) settings.reload() assert settings.COLORS == ["red", "green", "blue"] assert settings.NON_EXIST == ["item1", "item2"]