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.')
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()
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)
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))
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
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'}
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
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'}
def _run_init(): bdb = bigchaindb.BigchainDB() schema.init_database(connection=bdb.connection)
def _run_init(): bdb = bigchaindb.BigchainDB() schema.init_database(connection=bdb.connection)