예제 #1
0
def test_customized_loaders(env_config, ini_config):
    os.environ["ENVVAR"] = "Environment Variable Value"
    os.environ["ENVVAR2"] = "Foo"
    loaders = [EnvFile(env_config), Environment(), IniFile(ini_config)]
    assert getconf("ENVVAR", loaders=loaders) == "Must be overrided"
    assert getconf("ENVVAR2", loaders=loaders) == "Foo"
    assert getconf("ENVFILE", loaders=loaders) == "Environment File Value"
    assert getconf("INIFILE", loaders=loaders) == "INI File Value"
    del os.environ["ENVVAR"]
    del os.environ["ENVVAR2"]
예제 #2
0
def test_str_as_default_value():
    os.environ["STR"] = "1"
    assert getconf("STR", default="foo", loaders=[Environment()]) == "1"
예제 #3
0
def test_int_as_default_value():
    os.environ["INT"] = "1"
    assert getconf("INT", default=0, loaders=[Environment()]) == 1
예제 #4
0
def test_boolean_as_default_value():
    os.environ["BOOLEAN"] = "1"
    assert getconf("BOOLEAN", default=False, loaders=[Environment()]) == True
예제 #5
0
def test_none_default_value_identity_cast():
    os.environ["DEFAULT"] = "1"
    assert getconf("DEFAULT", default=None, loaders=[Environment()]) == "1"
예제 #6
0
def test_none_as_default_value():
    assert getconf("UNKNOWN", default=None, loaders=[Environment()]) is None
예제 #7
0
def test_fail_unknown_config_without_default_value():
    os.environ["ENVVAR"] = "Environment Variable Value"
    with pytest.raises(UnknownConfiguration):
        getconf("UNKNOWN", loaders=[Environment()])
예제 #8
0
def test_fail_invalid_cast_type():
    os.environ["INTEGER"] = "42"
    with pytest.raises(TypeError):
        getconf("INTEGER", cast="not callable", loaders=[Environment()])
예제 #9
0
def test_config_cast_value():
    os.environ["INTEGER"] = "42"
    assert getconf("INTEGER", cast=int, loaders=[Environment()]) == 42
예제 #10
0
def test_config_default_values():
    assert (getconf("DEFAULT",
                    default="Default Value",
                    loaders=[Environment()]) == "Default Value")