Fix some tests, don't default to freqtrade/strategy for imports
This commit is contained in:
parent
1634297685
commit
d91b9d1253
@ -28,7 +28,9 @@ class IResolver:
|
|||||||
def build_search_paths(cls, config: Dict[str, Any], user_subdir: Optional[str] = None,
|
def build_search_paths(cls, config: Dict[str, Any], user_subdir: Optional[str] = None,
|
||||||
extra_dir: Optional[str] = None) -> List[Path]:
|
extra_dir: Optional[str] = None) -> List[Path]:
|
||||||
|
|
||||||
abs_paths: List[Path] = [cls.initial_search_path]
|
abs_paths: List[Path] = []
|
||||||
|
if cls.initial_search_path:
|
||||||
|
abs_paths.append(cls.initial_search_path)
|
||||||
|
|
||||||
if user_subdir:
|
if user_subdir:
|
||||||
abs_paths.insert(0, config['user_data_dir'].joinpath(user_subdir))
|
abs_paths.insert(0, config['user_data_dir'].joinpath(user_subdir))
|
||||||
|
@ -27,7 +27,7 @@ class StrategyResolver(IResolver):
|
|||||||
object_type = IStrategy
|
object_type = IStrategy
|
||||||
object_type_str = "Strategy"
|
object_type_str = "Strategy"
|
||||||
user_subdir = USERPATH_STRATEGIES
|
user_subdir = USERPATH_STRATEGIES
|
||||||
initial_search_path = Path(__file__).parent.parent.joinpath('strategy').resolve()
|
initial_search_path = None
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def load_strategy(config: Dict[str, Any] = None) -> IStrategy:
|
def load_strategy(config: Dict[str, Any] = None) -> IStrategy:
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
import logging
|
import logging
|
||||||
import warnings
|
import warnings
|
||||||
from base64 import urlsafe_b64encode
|
from base64 import urlsafe_b64encode
|
||||||
from os import path
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@ -15,7 +14,7 @@ from tests.conftest import log_has, log_has_re
|
|||||||
|
|
||||||
|
|
||||||
def test_search_strategy():
|
def test_search_strategy():
|
||||||
default_location = Path(__file__).parent.parent.joinpath('strategy').resolve()
|
default_location = Path(__file__).parent / 'strats'
|
||||||
|
|
||||||
s, _ = StrategyResolver._search_object(
|
s, _ = StrategyResolver._search_object(
|
||||||
directory=default_location,
|
directory=default_location,
|
||||||
@ -72,13 +71,12 @@ def test_load_strategy_base64(result, caplog, default_conf):
|
|||||||
def test_load_strategy_invalid_directory(result, caplog, default_conf):
|
def test_load_strategy_invalid_directory(result, caplog, default_conf):
|
||||||
default_conf['strategy'] = 'DefaultStrategy'
|
default_conf['strategy'] = 'DefaultStrategy'
|
||||||
extra_dir = Path.cwd() / 'some/path'
|
extra_dir = Path.cwd() / 'some/path'
|
||||||
strategy = StrategyResolver._load_strategy('DefaultStrategy', config=default_conf,
|
with pytest.raises(OperationalException):
|
||||||
|
StrategyResolver._load_strategy('DefaultStrategy', config=default_conf,
|
||||||
extra_dir=extra_dir)
|
extra_dir=extra_dir)
|
||||||
|
|
||||||
assert log_has_re(r'Path .*' + r'some.*path.*' + r'.* does not exist', caplog)
|
assert log_has_re(r'Path .*' + r'some.*path.*' + r'.* does not exist', caplog)
|
||||||
|
|
||||||
assert 'rsi' in strategy.advise_indicators(result, {'pair': 'ETH/BTC'})
|
|
||||||
|
|
||||||
|
|
||||||
def test_load_not_found_strategy(default_conf):
|
def test_load_not_found_strategy(default_conf):
|
||||||
default_conf['strategy'] = 'NotFoundStrategy'
|
default_conf['strategy'] = 'NotFoundStrategy'
|
||||||
|
@ -212,6 +212,7 @@ def test_load_config_file_exception(mocker) -> None:
|
|||||||
|
|
||||||
|
|
||||||
def test_load_config(default_conf, mocker) -> None:
|
def test_load_config(default_conf, mocker) -> None:
|
||||||
|
del default_conf['strategy_path']
|
||||||
patched_configuration_load_config_file(mocker, default_conf)
|
patched_configuration_load_config_file(mocker, default_conf)
|
||||||
|
|
||||||
args = Arguments(['trade']).get_parsed_arg()
|
args = Arguments(['trade']).get_parsed_arg()
|
||||||
|
Loading…
Reference in New Issue
Block a user