From 2b0945f1baedbdb1073f2e63b8ec9cab1b362442 Mon Sep 17 00:00:00 2001 From: Sergi Delgado Segura Date: Mon, 23 Dec 2019 06:43:54 +0100 Subject: [PATCH] Updates tests with external bitcoind mock --- test/pisa/unit/conftest.py | 17 ++++++++++++----- test/pisa/unit/test_carrier.py | 4 ++-- test/pisa/unit/test_responder.py | 4 ++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/test/pisa/unit/conftest.py b/test/pisa/unit/conftest.py index d8b6438..1b22612 100644 --- a/test/pisa/unit/conftest.py +++ b/test/pisa/unit/conftest.py @@ -1,3 +1,4 @@ +import json import pytest import random import requests @@ -17,9 +18,10 @@ from pisa.tools import bitcoin_cli from pisa.db_manager import DBManager from common.appointment import Appointment -from test.simulator.utils import sha256d -from test.simulator.transaction import TX -from test.simulator.bitcoind_sim import run_simulator, HOST, PORT +from bitcoind_mock.utils import sha256d +from bitcoind_mock.transaction import TX +from bitcoind_mock.bitcoind import BitcoindMock +from bitcoind_mock.conf import BTC_RPC_HOST, BTC_RPC_PORT from common.constants import LOCATOR_LEN_HEX from common.cryptographer import Cryptographer @@ -27,7 +29,7 @@ from common.cryptographer import Cryptographer @pytest.fixture(scope="session") def run_bitcoind(): - bitcoind_thread = Thread(target=run_simulator, kwargs={"mode": "event", "verbose": False}) + bitcoind_thread = Thread(target=BitcoindMock().run, kwargs={"mode": "event", "verbose": True}) bitcoind_thread.daemon = True bitcoind_thread.start() @@ -63,7 +65,7 @@ def get_random_value_hex(nbytes): def generate_block(): - requests.post(url="http://{}:{}/generate".format(HOST, PORT), timeout=5) + requests.post(url="http://{}:{}/generate".format(BTC_RPC_HOST, BTC_RPC_PORT), timeout=5) sleep(0.5) @@ -72,6 +74,11 @@ def generate_blocks(n): generate_block() +def fork(block_hash): + fork_endpoint = "http://{}:{}/fork".format(BTC_RPC_HOST, BTC_RPC_PORT) + requests.post(fork_endpoint, json={"parent": block_hash}) + + def generate_dummy_appointment_data(real_height=True, start_time_offset=5, end_time_offset=30): if real_height: current_height = bitcoin_cli().getblockcount() diff --git a/test/pisa/unit/test_carrier.py b/test/pisa/unit/test_carrier.py index 32fc370..a44c806 100644 --- a/test/pisa/unit/test_carrier.py +++ b/test/pisa/unit/test_carrier.py @@ -1,8 +1,8 @@ import pytest from pisa.carrier import Carrier -from test.simulator.utils import sha256d -from test.simulator.transaction import TX +from bitcoind_mock.utils import sha256d +from bitcoind_mock.transaction import TX from test.pisa.unit.conftest import generate_blocks, get_random_value_hex from pisa.rpc_errors import RPC_VERIFY_ALREADY_IN_CHAIN, RPC_DESERIALIZATION_ERROR diff --git a/test/pisa/unit/test_responder.py b/test/pisa/unit/test_responder.py index bbcf40a..a9e99da 100644 --- a/test/pisa/unit/test_responder.py +++ b/test/pisa/unit/test_responder.py @@ -15,8 +15,8 @@ from pisa.tools import bitcoin_cli from common.constants import LOCATOR_LEN_HEX from common.tools import check_sha256_hex_format -from test.simulator.utils import sha256d -from test.simulator.bitcoind_sim import TX +from bitcoind_mock.utils import sha256d +from bitcoind_mock.transaction import TX from test.pisa.unit.conftest import generate_block, generate_blocks, get_random_value_hex