diff --git a/test/pisa/unit/conftest.py b/test/pisa/unit/conftest.py index 4ff9028..6616611 100644 --- a/test/pisa/unit/conftest.py +++ b/test/pisa/unit/conftest.py @@ -15,6 +15,7 @@ from pisa.responder import TransactionTracker from pisa.watcher import Watcher from pisa.tools import bitcoin_cli from pisa.db_manager import DBManager +from pisa.chain_monitor import ChainMonitor from common.appointment import Appointment from bitcoind_mock.utils import sha256d @@ -50,6 +51,17 @@ def db_manager(): rmtree("test_db") +@pytest.fixture(scope="module") +def chain_monitor(): + chain_monitor = ChainMonitor() + chain_monitor.monitor_chain() + + yield chain_monitor + + chain_monitor.terminate = True + generate_block() + + def generate_keypair(): client_sk = ec.generate_private_key(ec.SECP256K1, default_backend()) client_pk = client_sk.public_key() diff --git a/test/pisa/unit/test_api.py b/test/pisa/unit/test_api.py index b6ca968..1e1d4ef 100644 --- a/test/pisa/unit/test_api.py +++ b/test/pisa/unit/test_api.py @@ -31,7 +31,7 @@ locator_dispute_tx_map = {} @pytest.fixture(scope="module") -def run_api(db_manager): +def run_api(db_manager, chain_monitor): sk, pk = generate_keypair() sk_der = sk.private_bytes( encoding=serialization.Encoding.DER, @@ -39,9 +39,6 @@ def run_api(db_manager): encryption_algorithm=serialization.NoEncryption(), ) - chain_monitor = ChainMonitor() - chain_monitor.monitor_chain() - watcher = Watcher(db_manager, chain_monitor, sk_der) chain_monitor.attach_watcher(watcher.block_queue, watcher.asleep) chain_monitor.attach_responder(watcher.responder.block_queue, watcher.responder.asleep) diff --git a/test/pisa/unit/test_responder.py b/test/pisa/unit/test_responder.py index d515ff7..b5f5949 100644 --- a/test/pisa/unit/test_responder.py +++ b/test/pisa/unit/test_responder.py @@ -19,14 +19,6 @@ from bitcoind_mock.transaction import TX from test.pisa.unit.conftest import generate_block, generate_blocks, get_random_value_hex -@pytest.fixture(scope="module") -def chain_monitor(): - chain_monitor = ChainMonitor() - chain_monitor.monitor_chain() - - return chain_monitor - - @pytest.fixture(scope="module") def responder(db_manager, chain_monitor): responder = Responder(db_manager, chain_monitor) diff --git a/test/pisa/unit/test_watcher.py b/test/pisa/unit/test_watcher.py index 2b2c0cb..80dd396 100644 --- a/test/pisa/unit/test_watcher.py +++ b/test/pisa/unit/test_watcher.py @@ -27,14 +27,6 @@ sk_der = signing_key.private_bytes( ) -@pytest.fixture(scope="module") -def chain_monitor(): - chain_monitor = ChainMonitor() - chain_monitor.monitor_chain() - - return chain_monitor - - @pytest.fixture(scope="module") def watcher(db_manager, chain_monitor): watcher = Watcher(db_manager, chain_monitor, sk_der)