""" 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 import pytest DB_NAME = 'bigchain_test_{}'.format(os.getpid()) CONFIG = { 'database': { 'name': DB_NAME }, 'keypair': { 'private': '31Lb1ZGKTyHnmVK3LUMrAUrPNfd4sE2YyBt3UA4A25aA', 'public': '4XYfCbabAWVUCbjTmRTFEu2sc3dFEdkse4r6X498B1s8' } } # Test user. inputs will be created for this user. Cryptography Keys USER_PRIVATE_KEY = '8eJ8q9ZQpReWyQT5aFCiwtZ5wDZC4eDnCen88p3tQ6ie' USER_PUBLIC_KEY = 'JEAkEJqLbbgDRAtMm8YAjGp759Aq2qTn9eaEHUj2XePE' @pytest.fixture def restore_config(request, node_config): from bigchaindb import config_utils config_utils.dict_config(node_config) @pytest.fixture(scope='module') def node_config(): return copy.deepcopy(CONFIG) @pytest.fixture def user_private_key(): return USER_PRIVATE_KEY @pytest.fixture def user_public_key(): return USER_PUBLIC_KEY @pytest.fixture def b(request, node_config): restore_config(request, node_config) from bigchaindb import Bigchain return Bigchain()