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
示例#2
0
    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
示例#3
0
    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