forked from megashurik/sentinel
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.
86 lines
2.4 KiB
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
|