Ejemplo n.º 1
0
def cli(ctx, conn_host, database, username, password, port, host, verbose):
    """loqusdb: manage a local variant count database."""
    # configure root logger to print to STDERR
    loglevel = LEVELS.get(max(verbose, 1), "INFO")
    coloredlogs.install(level=loglevel)

    # mongo uri looks like:
    #mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
    uri = None
    if username and password:
        uri = "{0}{1}:{2}@{3}:{4}/{5}".format(conn_host, username, password,
                                              host, port, database)
        if password:
            pwd = '******'
        else:
            pwd = None
        logger.info('uri={0}{1}:{2}@{3}:{4}/{5}'.format(
            conn_host, username, pwd, host, port, database))

    adapter = MongoAdapter()
    adapter.connect(host=host, port=port, database=database, uri=uri)

    ctx.obj = {}
    ctx.obj['db'] = database
    ctx.obj['user'] = username
    ctx.obj['password'] = password
    ctx.obj['port'] = port
    ctx.obj['host'] = host
    ctx.obj['adapter'] = adapter
Ejemplo n.º 2
0
def cli(ctx, database, username, password, authdb, port, host, uri, verbose,
        config, test, genome_build):
    """loqusdb: manage a local variant count database."""
    loglevel = "INFO"
    if verbose:
        loglevel = "DEBUG"
    coloredlogs.install(level=loglevel)
    LOG.info("Running loqusdb version %s", __version__)

    configs = {}
    if config:
        try:
            configs = yaml.safe_load(config)
        except yaml.YAMLError as err:
            LOG.warning(err)
            ctx.abort()

    uri = configs.get('uri') or uri
    if test:
        uri = "mongomock://"
    try:
        client = get_client(
            host=configs.get('host') or host,
            port=configs.get('port') or port,
            username=configs.get('username') or username,
            password=configs.get('password') or password,
            authdb=authdb or database or 'loqusdb',
            uri=uri,
        )
    except DB_Error as err:
        LOG.warning(err)
        ctx.abort()

    database = configs.get('db_name') or database

    if not database:
        database = 'loqusdb'
        if uri:
            uri_info = uri_parser.parse_uri(uri)
            database = uri_info.get('database')

    adapter = MongoAdapter(client, db_name=database)

    genome_build = genome_build or configs.get('genome_build') or GRCH37

    ctx.obj = {}
    ctx.obj['db'] = database
    ctx.obj['user'] = username
    ctx.obj['password'] = password
    ctx.obj['port'] = port
    ctx.obj['host'] = host
    ctx.obj['adapter'] = adapter
    ctx.obj['version'] = __version__
    ctx.obj['genome_build'] = genome_build
Ejemplo n.º 3
0
def mongo_adapter(request, mongo_client):
    """Return a mongo adapter"""
    adapter = MongoAdapter()
    adapter.connect(database='test', client=mongo_client)
    return adapter
def test_init_app(mongo_client):
    app = FlaskApp()
    app.config['LOQUSDB_URI'] = "mongodb://localhost"
    adapter = MongoAdapter()
    adapter.init_app(app)
    assert True
Ejemplo n.º 5
0
def real_mongo_adapter(request, real_mongo_client):
    """Return a mongo adapter"""
    db_name = REAL_DATABASE
    adapter = MongoAdapter(real_mongo_client, db_name)

    return adapter
Ejemplo n.º 6
0
def mongo_adapter(request, mongo_client):
    """Return a mongo adapter"""
    db_name = TEST_DATABASE
    adapter = MongoAdapter(mongo_client, db_name)

    return adapter
Ejemplo n.º 7
0
def test_init_app(mongo_client):
    app = MockFlaskApp()
    adapter = MongoAdapter()
    adapter.init_app(app)
    assert adapter.db_name == app.config['MONGO_DBNAME']
Ejemplo n.º 8
0
def test_connect(mongo_client):
    adapter = MongoAdapter()
    db_name = 'test'
    adapter.connect(database=db_name, client=mongo_client)
    assert True
Ejemplo n.º 9
0
def test_connect_uri(mongo_client):
    adapter = MongoAdapter()
    uri = "{0}".format("mongodb://localhost")
    adapter.connect(uri=uri)
    assert True