Adds additional unit tests to tools

This commit is contained in:
Sergi Delgado Segura
2019-10-11 20:54:31 +01:00
parent 98c27f6013
commit 6baa059431
3 changed files with 42 additions and 7 deletions

View File

@@ -1,9 +1,44 @@
from pisa.tools import check_txid_format
import pytest
from time import sleep
from multiprocessing import Process
from pisa import logging
from pisa.tools import check_txid_format
from test.simulator.bitcoind_sim import run_simulator
from pisa.tools import can_connect_to_bitcoind, in_correct_network
logging.getLogger().disabled = True
@pytest.fixture(autouse=True, scope='session')
def run_bitcoind():
bitcoind_process = Process(target=run_simulator)
bitcoind_process.start()
# It takes a little bit of time to start the API (otherwise the requests are sent too early and they fail)
sleep(0.1)
return bitcoind_process
def test_in_correct_network():
# The simulator runs as if it was regtest, so every other network should fail
assert in_correct_network('mainnet') is False
assert in_correct_network('testnet') is False
assert in_correct_network('regtest') is True
def test_can_connect_to_bitcoind():
assert can_connect_to_bitcoind() is True
def test_can_connect_to_bitcoind_bitcoin_not_running(run_bitcoind):
# Kill the simulator thread and test the check fails
run_bitcoind.kill()
assert can_connect_to_bitcoind() is False
def test_check_txid_format():
assert(check_txid_format(None) is False)
assert(check_txid_format("") is False)