Update setup_database fixture to changes in #953

This commit is contained in:
Brett Sun 2016-12-16 14:16:14 +01:00
parent 56feefe3f4
commit d4ba1ff1c8

View File

@ -10,7 +10,6 @@ import os
import copy import copy
import pytest import pytest
import rethinkdb as r
from bigchaindb.common import crypto from bigchaindb.common import crypto
@ -138,54 +137,35 @@ def structurally_valid_vote():
@pytest.fixture @pytest.fixture
def setup_database(request, restore_config, node_config): def setup_database(request, restore_config, node_config):
from bigchaindb.backend import connect, schema from bigchaindb.backend import connect, schema
from bigchaindb.common.exceptions import DatabaseAlreadyExists from bigchaindb.common.exceptions import DatabaseDoesNotExist
print('Initializing test db') print('Initializing test db')
db_name = node_config['database']['name'] db_name = node_config['database']['name']
conn = connect() conn = connect()
if conn.run(r.db_list().contains(db_name)):
conn.run(r.db_drop(db_name))
try: try:
schema.init_database() schema.drop_database(conn, db_name)
except DatabaseAlreadyExists: except DatabaseDoesNotExist:
print('Database already exists.') pass
schema.init_database(conn)
print('Finishing init database') print('Finishing init database')
def fin(): def fin():
print('Deleting `{}` database'.format(db_name))
conn = connect() conn = connect()
print('Deleting `{}` database'.format(db_name))
try: try:
conn.run(r.db_drop(db_name)) schema.drop_database(conn, db_name)
except r.ReqlOpFailedError as e: except DatabaseDoesNotExist:
if e.message != 'Database `{}` does not exist.'.format(db_name): pass
raise
print('Finished deleting `{}`'.format(db_name)) print('Finished deleting `{}`'.format(db_name))
request.addfinalizer(fin) request.addfinalizer(fin)
@pytest.fixture @pytest.fixture
def cleanup_tables(request, node_config): def inputs(user_pk, setup_database):
db_name = node_config['database']['name']
def fin():
from bigchaindb.backend import connect
conn = connect()
try:
conn.run(r.db(db_name).table('bigchain').delete())
conn.run(r.db(db_name).table('backlog').delete())
conn.run(r.db(db_name).table('votes').delete())
except r.ReqlOpFailedError as e:
if e.message != 'Database `{}` does not exist.'.format(db_name):
raise
request.addfinalizer(fin)
@pytest.fixture
def inputs(user_pk, cleanup_tables, setup_database):
from bigchaindb import Bigchain from bigchaindb import Bigchain
from bigchaindb.models import Transaction from bigchaindb.models import Transaction
from bigchaindb.common.exceptions import GenesisBlockAlreadyExistsError from bigchaindb.common.exceptions import GenesisBlockAlreadyExistsError
@ -213,7 +193,7 @@ def inputs(user_pk, cleanup_tables, setup_database):
@pytest.fixture @pytest.fixture
def inputs_shared(user_pk, user2_pk): def inputs_shared(user_pk, user2_pk, setup_database):
from bigchaindb import Bigchain from bigchaindb import Bigchain
from bigchaindb.models import Transaction from bigchaindb.models import Transaction
from bigchaindb.common.exceptions import GenesisBlockAlreadyExistsError from bigchaindb.common.exceptions import GenesisBlockAlreadyExistsError