tests for options added
This commit is contained in:
parent
3e4dd5019d
commit
8bdbfbf194
@ -197,6 +197,71 @@ def default_conf():
|
|||||||
return configuration
|
return configuration
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope="function")
|
||||||
|
def all_conf():
|
||||||
|
""" Returns validated configuration with all options """
|
||||||
|
configuration = {
|
||||||
|
"max_open_trades": 1,
|
||||||
|
"stake_currency": "BTC",
|
||||||
|
"stake_amount": 0.001,
|
||||||
|
"fiat_display_currency": "USD",
|
||||||
|
"ticker_interval": '5m',
|
||||||
|
"dry_run": True,
|
||||||
|
"minimal_roi": {
|
||||||
|
"40": 0.0,
|
||||||
|
"30": 0.01,
|
||||||
|
"20": 0.02,
|
||||||
|
"0": 0.04
|
||||||
|
},
|
||||||
|
"stoploss": -0.10,
|
||||||
|
"unfilledtimeout": {
|
||||||
|
"buy": 10,
|
||||||
|
"sell": 30
|
||||||
|
},
|
||||||
|
"bid_strategy": {
|
||||||
|
"ask_last_balance": 0.0,
|
||||||
|
"use_order_book": False,
|
||||||
|
"order_book_top": 1,
|
||||||
|
"check_depth_of_market": {
|
||||||
|
"enabled": False,
|
||||||
|
"bids_to_ask_delta": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ask_strategy": {
|
||||||
|
"use_order_book": False,
|
||||||
|
"order_book_min": 1,
|
||||||
|
"order_book_max": 1
|
||||||
|
},
|
||||||
|
"exchange": {
|
||||||
|
"name": "bittrex",
|
||||||
|
"sandbox": False,
|
||||||
|
"enabled": True,
|
||||||
|
"key": "key",
|
||||||
|
"secret": "secret",
|
||||||
|
"password": "password",
|
||||||
|
"pair_whitelist": [
|
||||||
|
"ETH/BTC",
|
||||||
|
"LTC/BTC",
|
||||||
|
"XRP/BTC",
|
||||||
|
"NEO/BTC"
|
||||||
|
],
|
||||||
|
"pair_blacklist": [
|
||||||
|
"DOGE/BTC",
|
||||||
|
"HOT/BTC",
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"telegram": {
|
||||||
|
"enabled": True,
|
||||||
|
"token": "token",
|
||||||
|
"chat_id": "0"
|
||||||
|
},
|
||||||
|
"initial_state": "running",
|
||||||
|
"db_url": "sqlite://",
|
||||||
|
"loglevel": logging.DEBUG,
|
||||||
|
}
|
||||||
|
return configuration
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def update():
|
def update():
|
||||||
_update = Update(0)
|
_update = Update(0)
|
||||||
|
@ -617,3 +617,86 @@ def test_validate_tsl(default_conf):
|
|||||||
default_conf['trailing_stop_positive_offset'] = 0.015
|
default_conf['trailing_stop_positive_offset'] = 0.015
|
||||||
Configuration(Namespace())
|
Configuration(Namespace())
|
||||||
configuration._validate_config_consistency(default_conf)
|
configuration._validate_config_consistency(default_conf)
|
||||||
|
|
||||||
|
|
||||||
|
# config['exchange'] subtree has required options in it
|
||||||
|
# so it cannot be omitted in the config
|
||||||
|
def test_load_config_default_exchange(all_conf) -> None:
|
||||||
|
del all_conf['exchange']
|
||||||
|
|
||||||
|
assert 'exchange' not in all_conf
|
||||||
|
|
||||||
|
with pytest.raises(ValidationError,
|
||||||
|
match=r'\'exchange\' is a required property'):
|
||||||
|
configuration = Configuration(Namespace())
|
||||||
|
configuration._validate_config_schema(all_conf)
|
||||||
|
### assert 'exchange' in all_conf
|
||||||
|
|
||||||
|
|
||||||
|
# config['exchange']['name'] option is required
|
||||||
|
# so it cannot be omitted in the config
|
||||||
|
def test_load_config_default_exchange_name(all_conf) -> None:
|
||||||
|
del all_conf['exchange']['name']
|
||||||
|
|
||||||
|
assert 'name' not in all_conf['exchange']
|
||||||
|
|
||||||
|
with pytest.raises(ValidationError,
|
||||||
|
match=r'\'name\' is a required property'):
|
||||||
|
configuration = Configuration(Namespace())
|
||||||
|
configuration._validate_config_schema(all_conf)
|
||||||
|
|
||||||
|
|
||||||
|
# config['exchange']['sandbox'] option has default value: False
|
||||||
|
# so it can be omitted in the config and the default value
|
||||||
|
# should be present in the config as the option value
|
||||||
|
def test_load_config_default_exchange_sandbox(all_conf) -> None:
|
||||||
|
del all_conf['exchange']['sandbox']
|
||||||
|
|
||||||
|
assert 'sandbox' not in all_conf['exchange']
|
||||||
|
|
||||||
|
configuration = Configuration(Namespace())
|
||||||
|
configuration._validate_config_schema(all_conf)
|
||||||
|
assert 'sandbox' in all_conf['exchange']
|
||||||
|
assert all_conf['exchange']['sandbox'] is False
|
||||||
|
|
||||||
|
|
||||||
|
# config['exchange']['key'] option has default value: ''
|
||||||
|
# so it can be omitted in the config and the default value
|
||||||
|
# should be present in the config as the option value
|
||||||
|
def test_load_config_default_exchange_key(all_conf) -> None:
|
||||||
|
del all_conf['exchange']['key']
|
||||||
|
|
||||||
|
assert 'key' not in all_conf['exchange']
|
||||||
|
|
||||||
|
configuration = Configuration(Namespace())
|
||||||
|
configuration._validate_config_schema(all_conf)
|
||||||
|
assert 'key' in all_conf['exchange']
|
||||||
|
assert all_conf['exchange']['key'] == ''
|
||||||
|
|
||||||
|
|
||||||
|
# config['exchange']['secret'] option has default value: ''
|
||||||
|
# so it can be omitted in the config and the default value
|
||||||
|
# should be present in the config as the option value
|
||||||
|
def test_load_config_default_exchange_secret(all_conf) -> None:
|
||||||
|
del all_conf['exchange']['secret']
|
||||||
|
|
||||||
|
assert 'secret' not in all_conf['exchange']
|
||||||
|
|
||||||
|
configuration = Configuration(Namespace())
|
||||||
|
configuration._validate_config_schema(all_conf)
|
||||||
|
assert 'secret' in all_conf['exchange']
|
||||||
|
assert all_conf['exchange']['secret'] == ''
|
||||||
|
|
||||||
|
|
||||||
|
# config['exchange']['password'] option has default value: ''
|
||||||
|
# so it can be omitted in the config and the default value
|
||||||
|
# should be present in the config as the option value
|
||||||
|
def test_load_config_default_exchange_password(all_conf) -> None:
|
||||||
|
del all_conf['exchange']['password']
|
||||||
|
|
||||||
|
assert 'password' not in all_conf['exchange']
|
||||||
|
|
||||||
|
configuration = Configuration(Namespace())
|
||||||
|
configuration._validate_config_schema(all_conf)
|
||||||
|
assert 'password' in all_conf['exchange']
|
||||||
|
assert all_conf['exchange']['password'] == ''
|
||||||
|
Loading…
Reference in New Issue
Block a user