def test_load_environment_with_prefix_strips_out_prefix(self, mock_environment): settings = Settings(env_prefix="PREFIX_") settings.load_env() with pytest.raises(AttributeError): settings.PREFIX_DEBUG assert settings.DEBUG is True
def test_override_keys_function_does_not_return_list_or_set_raises_warning(self, mock_environment, mocker): settings = Settings("PREFIX_", "OVERRIDE_", override_keys_function) mocker.patch.object(settings, "override_keys_function") settings.override_keys_function.return_value = "KEY1, KEY2" settings.load_env() with pytest.warns(UnsupportedSetTypeWarning): assert settings.HASH == {"dict": "test"} assert settings.DEBUG is True
def test_missing_missing_override_key_from_callable_raises_warning(self, mock_environment, mocker): settings = Settings("PREFIX_", "OVERRIDE_", override_keys_function) mocker.patch.object(settings, "override_keys_function") settings.override_keys_function.return_value = ["MISSING_KEY"] settings.load_env() with pytest.warns(MissingOverrideKeysWarning): assert settings.DEBUG is True settings.override_keys_function.return_value = [] assert settings.HASH == {"dict": "test"} assert settings.DEBUG is True