예제 #1
0
def test_list_value_assignment_list(env):
    econfig.register(name='MY_CONFIGURATION', destination='foo.bar[0].foo.bar')
    os.environ['MY_CONFIGURATION'] = 'foobar'
    errors, settings = econfig.parse()
    assert len(errors) == 0
    assert len(settings['foo']['bar']) == 1
    assert settings['foo']['bar'][0]['foo']['bar'] == 'foobar'
예제 #2
0
def test_list_append_addressing(env):
    econfig.register(name='MY_CONFIGURATION', destination='foo.bar[]')
    os.environ['MY_CONFIGURATION'] = 'foobar'
    errors, settings = econfig.parse()
    assert len(errors) == 0
    assert len(settings['foo']['bar']) == 1
    assert settings['foo']['bar'][0] == 'foobar'
예제 #3
0
def test_format_options(env):
    econfig.register(name='MY_CONFIGURATION_1', destination='foo')
    econfig.register(name='MY_CONFIGURATION_2',
                     destination='bar',
                     type=econfig.types.when_exists({'foo': 'bar'}))

    formatting = econfig.format_options()
    assert "<when_exists: {'foo': 'bar'}>" in formatting
예제 #4
0
def test_parse_json(env):
    econfig.register(name='MY_CONFIGURATION',
                     type=econfig.types.json,
                     destination='foo.bar')
    os.environ['MY_CONFIGURATION'] = '{"foo": "bar"}'
    errors, settings = econfig.parse()
    assert len(errors) == 0
    assert settings['foo']['bar']['foo'] == 'bar'
예제 #5
0
def test_parse_error(env):
    econfig.register(name='MY_CONFIGURATION',
                     type=econfig.types.int,
                     destination='foo.bar')
    os.environ['MY_CONFIGURATION'] = 'hello'
    errors, settings = econfig.parse()
    assert len(errors) == 1
    assert 'foo' not in settings
예제 #6
0
def test_when_exists(env):
    econfig.register(name='MY_CONFIGURATION',
                     destination='foo',
                     type=econfig.types.when_exists({'foo': 'bar'}))
    econfig.register(name='MY_CONFIGURATION_MISSING',
                     destination='bar',
                     type=econfig.types.when_exists({'foo': 'bar'}))
    os.environ['MY_CONFIGURATION'] = 'foobar'
    errors, settings = econfig.parse()
    assert len(errors) == 0
    assert settings['foo'] == {'foo': 'bar'}
    assert 'bar' not in settings