You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sentinel/test/unit/test_dash_config.py

86 lines
2.4 KiB

import pytest
import os
import sys
import re
os.environ['SENTINEL_CONFIG'] = os.path.normpath(os.path.join(os.path.dirname(__file__), '../test_sentinel.conf'))
os.environ['SENTINEL_ENV'] = 'test'
sys.path.append(os.path.normpath(os.path.join(os.path.dirname(__file__), '../../lib')))
import config
#from dash_config import DashConfig
from sib_config import SibcoinConfig
@pytest.fixture
def dash_conf(**kwargs):
defaults = {
'rpcuser': 'dashrpc',
'rpcpassword': 'EwJeV3fZTyTVozdECF627BkBMnNDwQaVLakG3A4wXYyk',
'rpcport': 29241,
}
# merge kwargs into defaults
for (key, value) in kwargs.items():
defaults[key] = value
conf = """# basic settings
testnet=1 # TESTNET
server=1
rpcuser={rpcuser}
rpcpassword={rpcpassword}
rpcallowip=127.0.0.1
rpcport={rpcport}
""".format(**defaults)
return conf
def test_get_rpc_creds():
dash_config = dash_conf()
creds = SibcoinConfig.get_rpc_creds(dash_config, 'testnet')
for key in ('user', 'password', 'port'):
assert key in creds
assert creds.get('user') == 'dashrpc'
assert creds.get('password') == 'EwJeV3fZTyTVozdECF627BkBMnNDwQaVLakG3A4wXYyk'
assert creds.get('port') == 29241
dash_config = dash_conf(rpcpassword='s00pers33kr1t', rpcport=8000)
creds = SibcoinConfig.get_rpc_creds(dash_config, 'testnet')
for key in ('user', 'password', 'port'):
assert key in creds
assert creds.get('user') == 'dashrpc'
assert creds.get('password') == 's00pers33kr1t'
assert creds.get('port') == 8000
no_port_specified = re.sub('\nrpcport=.*?\n', '\n', dash_conf(), re.M)
creds = SibcoinConfig.get_rpc_creds(no_port_specified, 'testnet')
for key in ('user', 'password', 'port'):
assert key in creds
assert creds.get('user') == 'dashrpc'
assert creds.get('password') == 'EwJeV3fZTyTVozdECF627BkBMnNDwQaVLakG3A4wXYyk'
assert creds.get('port') == 11944
def test_slurp_config_file():
import tempfile
dash_config = """# basic settings
#testnet=1 # TESTNET
server=1
printtoconsole=1
txindex=1 # enable transaction index
"""
expected_stripped_config = """server=1
printtoconsole=1
txindex=1 # enable transaction index
"""
with tempfile.NamedTemporaryFile(mode='w') as temp:
temp.write(dash_config)
temp.flush()
conf = SibcoinConfig.slurp_config_file(temp.name)
assert conf == expected_stripped_config