def test_define_from_path_dynamic():
    c = Config()
    c._define_from_path([
        'foo value=bar validator=tests.test_config.double',
    ])
    assert c.foo == 'barbar'
    c.foo = 'akk'
    assert c.foo == 'akkakk'
def test_define_from_path():
    c = Config()
    c._define_from_path([
        'foo value=bar',
        'bar value=10 validator=int',
        'foobar',
    ])
    assert c.foo == 'bar'
    assert c.bar == 10
    assert c.foobar is None
def test_load_undefined():
    c = Config()
    with pytest.raises(KeyError):
        c._load(['a=b'])
def test_get_fail(key):
    c = Config()
    with pytest.raises(KeyError):
        c._get(key)
def test_dot(define, key, expect):
    c = Config()
    c._define_from_path([define])
    v = eval('c.{}'.format(key))
    assert v == expect
def test_bracket(define, key, expect):
    c = Config()
    c._define_from_path([define])
    access = ''.join("['{}']".format(k) for k in key.split('.'))
    access = 'c{}'.format(access)
    assert eval(access) == expect
def test_get(define, key, expect):
    c = Config([define])
    assert c._get(key) == expect
def cfg():
    return Config(['foo value=bar'])
def test_as_dict(value, expected):
    cfg = Config(value)
    assert cfg._as_dict == expected
示例#10
0
def test_repr(value, expected):
    cfg = Config(value)
    assert str(cfg) == expected
示例#11
0
def test_load_relaxed():
    cfg = Config()
    cfg._load(['foo=123', 'foo=234', '#foo=345'], relaxed=True)
    assert cfg.foo == '234'