Ejemplo n.º 1
0
def test_custom_config():
    config = Config()
    config.read(env_vars=False, env_files=False, config={
        'config': [f'{__name__}:_TEST_CONFIG'],
    })
    assert config.get('backends', 'custom', 'dsn') == 'config'
    assert config.keys('backends') == ['default', 'custom', 'mongo']
Ejemplo n.º 2
0
def config(ctx):
    config = Config()
    config.read()
    for key, value in sorted(config.getall(), key=operator.itemgetter(0)):
        *key, name = key
        name = len(key) * '  ' + name
        click.echo(f'{name:<20} {value}')
Ejemplo n.º 3
0
def test_custom_config_fron_environ():
    config = Config()
    config.read(env_files=False, env_vars={
        'SPINTA_CONFIG': f'{__name__}:_TEST_CONFIG',
    })
    assert config.get('backends', 'custom', 'dsn') == 'config'
    assert config.keys('backends') == ['default', 'custom', 'mongo']
Ejemplo n.º 4
0
def test_update_config_from_cli():
    config = Config()
    config.read(env_vars=False, env_files=False, cli_args=[
        'backends.default.backend=psycopg2',
        'backends.new.backend=psycopg2',
    ])
    assert config.get('backends', 'default', 'backend') == 'psycopg2'
    assert config.get('backends', 'new', 'backend') == 'psycopg2'
    assert config.keys('backends') == ['default', 'new']
Ejemplo n.º 5
0
def test_update_config_from_env():
    config = Config()
    config.read(env_files=False, env_vars={
        'SPINTA_BACKENDS': 'default,new',
        'SPINTA_BACKENDS_DEFAULT_BACKEND': 'psycopg2',
        'SPINTA_BACKENDS_NEW_BACKEND': 'psycopg2',
    })
    assert config.get('backends', 'default', 'backend') == 'psycopg2'
    assert config.get('backends', 'new', 'backend') == 'psycopg2'
    assert config.keys('backends') == ['default', 'new']
Ejemplo n.º 6
0
def test_update_config_from_env_file(tmpdir):
    envfile = tmpdir.join('.env')
    envfile.write(
        '# comment line\n'
        '\n'
        'SPINTA_BACKENDS=default,new\n'
        'SPINTA_BACKENDS_DEFAULT_BACKEND=foo\n'
        'SPINTA_BACKENDS_NEW_BACKEND=bar\n',
    )

    config = Config()
    config.read(env_vars=False, env_files=[str(envfile)])
    assert config.get('backends', 'default', 'backend') == 'foo'
    assert config.get('backends', 'new', 'backend') == 'bar'
    assert config.keys('backends') == ['default', 'new']
Ejemplo n.º 7
0
def test_remove_keys():
    config = Config()
    config.read(
        env_files=False,
        env_vars={
            'SPINTA_BACKENDS': 'one,two',
        },
        config={
            'backends': {
                'one': {'dsn': '1'},
                'two': {'dsn': '2'},
                'six': {'dsn': '6'},
                'ten': {'dsn': '0'},
            }
        },
    )
    assert config.keys('backends') == ['one', 'two']
Ejemplo n.º 8
0
def main(ctx, option):
    c = Config()
    c.read(cli_args=option)

    load_commands(c.get('commands', 'modules', cast=list))

    Context = c.get('components', 'core', 'context', cast=importstr)
    context = Context()
    config = context.set('config', components.Config())
    store = context.set('store', Store())

    commands.load(context, config, c)
    commands.check(context, config)
    commands.load(context, store, c)
    commands.check(context, store)

    ctx.ensure_object(dict)
    ctx.obj['context'] = context
Ejemplo n.º 9
0
def test_udpate_config():
    config = Config()
    config.read(env_vars=False, env_files=False, config={
        'components': {
            'nodes': {
                'new': 'component',
            },
        },
        'manifests': {
            'new': {
                'path': 'here',
            },
        },
    })

    assert config.get('components', 'nodes', 'new') == 'component'
    assert config.get('manifests', 'new', 'path') == 'here'
    assert config.keys('manifests') == ['default', 'new']
Ejemplo n.º 10
0
def test_custom_environment():
    config = Config()
    config.read(env_vars=False, env_files=False, config={
        'env': 'testing',
        'environments': {
            'testing': {
                'backends': {
                    'default': {
                        'dsn': 'foo',
                    },
                    'new': {
                        'dsn': 'bar',
                    },
                }
            }
        }
    })
    assert config.get('backends', 'default', 'dsn') == 'foo'
    assert config.get('backends', 'new', 'dsn') == 'bar'
    assert config.keys('backends') == ['default', 'new']
Ejemplo n.º 11
0
def config():
    config = Config()
    config.read({
        'env': 'test',
    })
    return config
Ejemplo n.º 12
0
from spinta.api import app, set_context
from spinta.commands import load, wait, prepare, check
from spinta.components import Store
from spinta.utils.commands import load_commands
from spinta import components
from spinta.config import Config
from spinta.auth import AuthorizationServer, ResourceProtector, BearerTokenValidator
from spinta.utils.imports import importstr

logging.basicConfig(
    level=logging.INFO,
    format='%(levelname)s: %(message)s',
)

c = Config()
c.read()

load_commands(c.get('commands', 'modules', cast=list))

Context = c.get('components', 'core', 'context', cast=importstr)
context = Context()
config = context.set('config', components.Config())
store = context.set('store', Store())

load(context, config, c)
check(context, config)
load(context, store, c)
check(context, store)

wait(context, store, c)