test: remove edge tests

pull/11867/head
Matthias 10 months ago
parent c53c70d597
commit 301d85ef4f

@ -297,24 +297,6 @@ def patch_whitelist(mocker, conf) -> None:
)
def patch_edge(mocker) -> None:
# "ETH/BTC",
# "LTC/BTC",
# "XRP/BTC",
# "NEO/BTC"
mocker.patch(
"freqtrade.edge.Edge._cached_pairs",
mocker.PropertyMock(
return_value={
"NEO/BTC": PairInfo(-0.20, 0.66, 3.71, 0.50, 1.71, 10, 25),
"LTC/BTC": PairInfo(-0.21, 0.66, 3.71, 0.50, 1.71, 11, 20),
}
),
)
mocker.patch("freqtrade.edge.Edge.calculate", MagicMock(return_value=True))
# Functions for recurrent object patching

@ -43,7 +43,6 @@ from tests.conftest import (
get_patched_worker,
log_has,
log_has_re,
patch_edge,
patch_exchange,
patch_get_signal,
patch_wallet,

@ -16,7 +16,6 @@ from tests.conftest import (
get_patched_freqtradebot,
log_has,
log_has_re,
patch_edge,
patch_exchange,
patch_get_signal,
patch_whitelist,

@ -18,12 +18,10 @@ from freqtrade.data.btanalysis import (
load_backtest_data,
load_backtest_stats,
)
from freqtrade.edge import PairInfo
from freqtrade.enums import ExitType
from freqtrade.optimize.optimize_reports import (
generate_backtest_stats,
generate_daily_stats,
generate_edge_table,
generate_pair_metrics,
generate_periodic_breakdown_stats,
generate_strategy_comparison,
@ -646,15 +644,6 @@ def test_text_table_strategy(testdatadir, capsys):
)
def test_generate_edge_table(capsys):
results = {}
results["ETH/BTC"] = PairInfo(-0.01, 0.60, 2, 1, 3, 10, 60)
generate_edge_table(results)
text = capsys.readouterr().out
assert re.search(r".* ETH/BTC .*", text)
assert re.search(r".* Risk Reward Ratio .* Required Risk Reward .* Expectancy .*", text)
def test_generate_periodic_breakdown_stats(testdatadir):
filename = testdatadir / "backtest_results/backtest-result.json"
bt_data = load_backtest_data(filename).to_dict(orient="records")

@ -6,7 +6,6 @@ import pytest
from numpy import isnan
from sqlalchemy import select
from freqtrade.edge import PairInfo
from freqtrade.enums import SignalDirection, State, TradingMode
from freqtrade.exceptions import ExchangeError, InvalidOrderException, TemporaryError
from freqtrade.persistence import Order, Trade
@ -1393,36 +1392,6 @@ def test_rpc_blacklist(mocker, default_conf) -> None:
assert isinstance(ret["errors"], dict)
def test_rpc_edge_disabled(mocker, default_conf) -> None:
mocker.patch("freqtrade.rpc.telegram.Telegram", MagicMock())
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
rpc = RPC(freqtradebot)
with pytest.raises(RPCException, match=r"Edge is not enabled."):
rpc._rpc_edge()
def test_rpc_edge_enabled(mocker, edge_conf) -> None:
mocker.patch("freqtrade.rpc.telegram.Telegram", MagicMock())
mocker.patch(
"freqtrade.edge.Edge._cached_pairs",
mocker.PropertyMock(
return_value={
"E/F": PairInfo(-0.02, 0.66, 3.71, 0.50, 1.71, 10, 60),
}
),
)
freqtradebot = get_patched_freqtradebot(mocker, edge_conf)
rpc = RPC(freqtradebot)
ret = rpc._rpc_edge()
assert len(ret) == 1
assert ret[0]["Pair"] == "E/F"
assert ret[0]["Winrate"] == 0.66
assert ret[0]["Expectancy"] == 1.71
assert ret[0]["Stoploss"] == -0.02
def test_rpc_health(mocker, default_conf) -> None:
mocker.patch("freqtrade.rpc.telegram.Telegram", MagicMock())

@ -21,7 +21,6 @@ from telegram.error import BadRequest, NetworkError, TelegramError
from freqtrade import __version__
from freqtrade.constants import CANCEL_REASON
from freqtrade.edge import PairInfo
from freqtrade.enums import (
ExitType,
MarketDirection,
@ -171,7 +170,7 @@ def test_telegram_init(default_conf, mocker, caplog) -> None:
"['reload_conf', 'reload_config'], ['show_conf', 'show_config'], "
"['pause', 'stopbuy', 'stopentry'], ['whitelist'], ['blacklist'], "
"['bl_delete', 'blacklist_delete'], "
"['logs'], ['edge'], ['health'], ['help'], ['version'], ['marketdir'], "
"['logs'], ['health'], ['help'], ['version'], ['marketdir'], "
"['order'], ['list_custom_data'], ['tg_info']]"
)
@ -1952,40 +1951,6 @@ async def test_telegram_logs(default_conf, update, mocker) -> None:
assert msg_mock.call_count >= 2
async def test_edge_disabled(default_conf, update, mocker) -> None:
telegram, _, msg_mock = get_telegram_testobject(mocker, default_conf)
await telegram._edge(update=update, context=MagicMock())
assert msg_mock.call_count == 1
assert "Edge is not enabled." in msg_mock.call_args_list[0][0][0]
async def test_edge_enabled(edge_conf, update, mocker) -> None:
mocker.patch(
"freqtrade.edge.Edge._cached_pairs",
mocker.PropertyMock(
return_value={
"E/F": PairInfo(-0.01, 0.66, 3.71, 0.50, 1.71, 10, 60),
}
),
)
telegram, _, msg_mock = get_telegram_testobject(mocker, edge_conf)
await telegram._edge(update=update, context=MagicMock())
assert msg_mock.call_count == 1
assert "<b>Edge only validated following pairs:</b>\n<pre>" in msg_mock.call_args_list[0][0][0]
assert "Pair Winrate Expectancy Stoploss" in msg_mock.call_args_list[0][0][0]
msg_mock.reset_mock()
mocker.patch("freqtrade.edge.Edge._cached_pairs", mocker.PropertyMock(return_value={}))
await telegram._edge(update=update, context=MagicMock())
assert msg_mock.call_count == 1
assert "<b>Edge only validated following pairs:</b>" in msg_mock.call_args_list[0][0][0]
assert "Winrate" not in msg_mock.call_args_list[0][0][0]
@pytest.mark.parametrize(
"is_short,regex_pattern",
[(True, r"now[ ]*XRP\/BTC \(#3\) -1.00% \("), (False, r"now[ ]*XRP\/BTC \(#3\) 1.00% \(")],

Loading…
Cancel
Save