Esempio n. 1
0
def test_expression_cannot_be_indirectly_recursive():
    args = {
        'foo': '${bar}',
        'bar': '${bing}',
        'bing': '${baz}',
        'baz': '${foo}'
    }
    cfg = Registry().add(args)
    with pytest.raises(Exception):
        cfg.resolve()
Esempio n. 2
0
def test_registry_updated_with_new_dict_adds_those_items():
    items = {'a': 10}
    reg = Registry().add(items)
    newitems = {'a': 20, 'b': 100}
    reg.add(newitems)
    assert reg.resolve()['a'] == newitems['a']
    assert reg.resolve()['b'] == newitems['b']
Esempio n. 3
0
def test_expression_cannot_be_reflective():
    args = {'foo': '${bar}', 'bar': '${foo}'}
    cfg = Registry().add(args)
    with pytest.raises(Exception):
        cfg.resolve()
Esempio n. 4
0
def test_keys_sent_with_separation_char_are_retrieved_with_usual_selection():
    items = {'a': {'foo.bar': 100}}
    reg = Registry().add(items)
    assert reg.resolve()['a']['foo.bar'] == items['a']['foo.bar']
    assert reg.resolve().a.foo.bar == items['a']['foo.bar']
Esempio n. 5
0
def test_using_keys_containing_key_separation_char_appear_as_keys():
    items = {'foo.bar': 100}
    reg = Registry().add(items)
    assert reg.resolve()['foo']['bar'] == items['foo.bar']