Пример #1
0
def _run_init():
    # Try to access the keypair, throws an exception if it does not exist
    b = bigchaindb.Bigchain()

    schema.init_database(connection=b.connection)

    b.create_genesis_block()
    logger.info('Genesis block created.')
Пример #2
0
def test_init_database_is_graceful_if_db_exists():
    import bigchaindb
    from bigchaindb import backend
    from bigchaindb.backend.schema import init_database

    conn = backend.connect()
    dbname = bigchaindb.config['database']['name']

    # The db is set up by the fixtures
    assert dbname in conn.conn.database_names()

    init_database()
Пример #3
0
def dummy_db(request):
    from bigchaindb.backend import connect

    conn = connect()
    dbname = request.fixturename
    xdist_suffix = getattr(request.config, 'slaveinput', {}).get('slaveid')
    if xdist_suffix:
        dbname = '{}_{}'.format(dbname, xdist_suffix)

    _drop_db(conn, dbname)  # make sure we start with a clean DB
    schema.init_database(conn, dbname)
    yield dbname

    _drop_db(conn, dbname)
Пример #4
0
def _setup_database(_configure_bigchaindb):
    from bigchaindb import config
    from bigchaindb.backend import connect
    print('Initializing test db')
    dbname = config['database']['name']
    conn = connect()

    _drop_db(conn, dbname)
    schema.init_database(conn)
    print('Finishing init database')

    yield

    print('Deleting `{}` database'.format(dbname))
    conn = connect()
    _drop_db(conn, dbname)

    print('Finished deleting `{}`'.format(dbname))
Пример #5
0
def dummy_db(request):
    from bigchaindb.backend import connect, schema
    from bigchaindb.common.exceptions import (DatabaseDoesNotExist,
                                              DatabaseAlreadyExists)
    conn = connect()
    dbname = request.fixturename
    xdist_suffix = getattr(request.config, 'slaveinput', {}).get('slaveid')
    if xdist_suffix:
        dbname = '{}_{}'.format(dbname, xdist_suffix)
    try:
        schema.init_database(conn, dbname)
    except DatabaseAlreadyExists:
        schema.drop_database(conn, dbname)
        schema.init_database(conn, dbname)
    yield dbname
    try:
        schema.drop_database(conn, dbname)
    except DatabaseDoesNotExist:
        pass
Пример #6
0
def test_init_creates_db_tables_and_indexes():
    import bigchaindb
    from bigchaindb import backend
    from bigchaindb.backend.schema import init_database

    conn = backend.connect()
    dbname = bigchaindb.config['database']['name']

    # the db is set up by the fixture so we need to remove it
    conn.conn.drop_database(dbname)

    init_database()

    collection_names = conn.conn[dbname].collection_names()
    assert set(collection_names) == {
        'transactions', 'assets', 'metadata', 'blocks', 'utxos', 'pre_commit',
        'validators', 'elections', 'abci_chains',
    }

    indexes = conn.conn[dbname]['assets'].index_information().keys()
    assert set(indexes) == {'_id_', 'asset_id', 'text'}

    indexes = conn.conn[dbname]['transactions'].index_information().keys()
    assert set(indexes) == {
            '_id_', 'transaction_id', 'asset_id', 'outputs', 'inputs'}

    indexes = conn.conn[dbname]['blocks'].index_information().keys()
    assert set(indexes) == {'_id_', 'height'}

    indexes = conn.conn[dbname]['utxos'].index_information().keys()
    assert set(indexes) == {'_id_', 'utxo'}

    indexes = conn.conn[dbname]['pre_commit'].index_information().keys()
    assert set(indexes) == {'_id_', 'pre_commit_id'}

    indexes = conn.conn[dbname]['validators'].index_information().keys()
    assert set(indexes) == {'_id_', 'height'}

    indexes = conn.conn[dbname]['abci_chains'].index_information().keys()
    assert set(indexes) == {'_id_', 'height', 'chain_id'}

    indexes = conn.conn[dbname]['elections'].index_information().keys()
    assert set(indexes) == {'_id_', 'election_id'}
Пример #7
0
def test_init_creates_db_tables_and_indexes():
    from bigchaindb.backend.schema import init_database
    conn = backend.connect()
    dbname = bigchaindb.config['database']['name']

    # The db is set up by fixtures so we need to remove it
    conn.run(r.db_drop(dbname))

    init_database()

    assert conn.run(r.db_list().contains(dbname)) is True

    assert conn.run(r.db(dbname).table_list().contains('backlog', 'bigchain')) is True

    assert conn.run(r.db(dbname).table('bigchain').index_list().contains(
        'block_timestamp')) is True

    assert conn.run(r.db(dbname).table('backlog').index_list().contains(
        'assignee__transaction_timestamp')) is True
Пример #8
0
def test_init_creates_db_tables_and_indexes():
    import bigchaindb
    from bigchaindb import backend
    from bigchaindb.backend.schema import init_database

    conn = backend.connect()
    dbname = bigchaindb.config['database']['name']

    # the db is set up by the fixture so we need to remove it
    conn.conn.drop_database(dbname)

    init_database()

    collection_names = conn.conn[dbname].collection_names()
    assert set(collection_names) == {
        'transactions', 'assets', 'metadata', 'blocks', 'utxos', 'pre_commit',
        'validators'
    }

    indexes = conn.conn[dbname]['assets'].index_information().keys()
    assert set(indexes) == {'_id_', 'asset_id', 'text'}

    indexes = conn.conn[dbname]['transactions'].index_information().keys()
    assert set(indexes) == {
        '_id_', 'transaction_id', 'asset_id', 'outputs', 'inputs'
    }

    indexes = conn.conn[dbname]['blocks'].index_information().keys()
    assert set(indexes) == {'_id_', 'height'}

    indexes = conn.conn[dbname]['utxos'].index_information().keys()
    assert set(indexes) == {'_id_', 'utxo'}

    indexes = conn.conn[dbname]['pre_commit'].index_information().keys()
    assert set(indexes) == {'_id_', 'pre_commit_id'}

    indexes = conn.conn[dbname]['validators'].index_information().keys()
    assert set(indexes) == {'_id_', 'height', 'election_id'}
Пример #9
0
def _run_init():
    bdb = bigchaindb.BigchainDB()

    schema.init_database(connection=bdb.connection)
Пример #10
0
def _run_init():
    bdb = bigchaindb.BigchainDB()

    schema.init_database(connection=bdb.connection)