bigchaindb/tests/conftest.py

71 lines
1.6 KiB
Python
Raw Normal View History

2016-02-10 19:55:33 +01:00
"""
Fixtures and setup / teardown functions
Tasks:
1. setup test database before starting the tests
2. delete test database after running the tests
"""
import os
import copy
2016-02-10 19:55:33 +01:00
import pytest
DB_NAME = 'bigchain_test_{}'.format(os.getpid())
2016-04-07 17:05:57 +02:00
CONFIG = {
'database': {
'name': DB_NAME
},
'keypair': {
2016-03-31 15:10:43 +02:00
'private': '31Lb1ZGKTyHnmVK3LUMrAUrPNfd4sE2YyBt3UA4A25aA',
'public': '4XYfCbabAWVUCbjTmRTFEu2sc3dFEdkse4r6X498B1s8'
}
}
# Test user. inputs will be created for this user. Cryptography Keys
USER_SIGNING_KEY = '8eJ8q9ZQpReWyQT5aFCiwtZ5wDZC4eDnCen88p3tQ6ie'
USER_VERIFYING_KEY = 'JEAkEJqLbbgDRAtMm8YAjGp759Aq2qTn9eaEHUj2XePE'
2016-02-10 19:55:33 +01:00
# We need this function to avoid loading an existing
# conf file located in the home of the user running
# the tests. If it's too aggressive we can change it
# later.
@pytest.fixture(scope='function', autouse=True)
def ignore_local_config_file(monkeypatch):
def mock_file_config(filename=None):
raise FileNotFoundError()
monkeypatch.setattr('bigchaindb.config_utils.file_config', mock_file_config)
2016-04-12 16:23:09 +02:00
@pytest.fixture(scope='function', autouse=True)
def restore_config(request, node_config):
from bigchaindb import config_utils
2016-04-14 10:55:07 +02:00
config_utils.set_config(node_config)
@pytest.fixture(scope='module')
def node_config():
2016-04-07 17:05:57 +02:00
return copy.deepcopy(CONFIG)
@pytest.fixture
2016-04-06 16:21:35 +02:00
def user_sk():
return USER_SIGNING_KEY
@pytest.fixture
2016-04-06 16:21:35 +02:00
def user_vk():
return USER_VERIFYING_KEY
2016-02-24 02:38:30 +01:00
@pytest.fixture
def b(request, node_config):
restore_config(request, node_config)
2016-02-24 02:38:30 +01:00
from bigchaindb import Bigchain
return Bigchain()