From 23c3757c7ab91fbbae7f04ad29c61aaead09877c Mon Sep 17 00:00:00 2001 From: xmatthias Date: Sat, 23 Dec 2023 08:04:51 +0000 Subject: [PATCH 1/5] chore: update pre-commit hooks --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8929d0e5a..fa8253a69 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,7 +9,7 @@ repos: # stages: [push] - repo: https://github.com/pre-commit/mirrors-mypy - rev: "v1.7.1" + rev: "v1.8.0" hooks: - id: mypy exclude: build_helpers From 3cb4b1065682855edb29f13bdfda8b95ed2ec488 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 23 Dec 2023 09:08:55 +0100 Subject: [PATCH 2/5] Specify python version for pre-commit update --- .github/workflows/pre-commit-update.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml index 3762195d0..9a6d5bfe2 100644 --- a/.github/workflows/pre-commit-update.yml +++ b/.github/workflows/pre-commit-update.yml @@ -17,6 +17,9 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: Install pre-commit run: pip install pre-commit From 63e652619f1bed8c5f85fe34b79ac13c928c409e Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 23 Dec 2023 09:11:40 +0100 Subject: [PATCH 3/5] Bump mypy to 1.8.0 --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 32e2cf4f9..d6da8f08f 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,7 +8,7 @@ coveralls==3.3.1 ruff==0.1.8 -mypy==1.7.1 +mypy==1.8.0 pre-commit==3.6.0 pytest==7.4.3 pytest-asyncio==0.21.1 From 18dd9cf803c951b8209ee2f86995711cbac2f291 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 23 Dec 2023 09:47:33 +0100 Subject: [PATCH 4/5] Use a trade for test that actually has an open stop order --- tests/rpc/test_rpc_apiserver.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index 17b0399d9..9957ebdb0 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -728,7 +728,6 @@ def test_api_delete_trade(botclient, mocker, fee, markets, is_short): ftbot.strategy.order_types['stoploss_on_exchange'] = True trades = Trade.session.scalars(select(Trade)).all() - trades[1].stoploss_order_id = '1234' Trade.commit() assert len(trades) > 2 @@ -745,9 +744,9 @@ def test_api_delete_trade(botclient, mocker, fee, markets, is_short): assert cancel_mock.call_count == 0 assert len(trades) - 1 == len(Trade.session.scalars(select(Trade)).all()) - rc = client_delete(client, f"{BASE_URI}/trades/2") + rc = client_delete(client, f"{BASE_URI}/trades/5") assert_response(rc) - assert rc.json()['result_msg'] == 'Deleted trade 2. Closed 1 open orders.' + assert rc.json()['result_msg'] == 'Deleted trade 5. Closed 1 open orders.' assert len(trades) - 2 == len(Trade.session.scalars(select(Trade)).all()) assert stoploss_mock.call_count == 1 From 4769b50709c1774235ee5931b6866dfaaf5d6c0f Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 23 Dec 2023 09:50:42 +0100 Subject: [PATCH 5/5] Fix RPC tests --- tests/rpc/test_rpc.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/rpc/test_rpc.py b/tests/rpc/test_rpc.py index 7ea9dae89..785efc522 100644 --- a/tests/rpc/test_rpc.py +++ b/tests/rpc/test_rpc.py @@ -9,7 +9,7 @@ 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 Trade +from freqtrade.persistence import Order, Trade from freqtrade.persistence.pairlock_middleware import PairLocks from freqtrade.rpc import RPC, RPCException from freqtrade.rpc.fiat_convert import CryptoToFiatConverter @@ -355,8 +355,18 @@ def test_rpc_delete_trade(mocker, default_conf, fee, markets, caplog, is_short): rpc._rpc_delete('200') trades = Trade.session.scalars(select(Trade)).all() - trades[1].stoploss_order_id = '1234' - trades[2].stoploss_order_id = '1234' + trades[2].stoploss_order_id = '102' + trades[2].orders.append( + Order( + ft_order_side='stoploss', + ft_pair=trades[2].pair, + ft_is_open=True, + ft_amount=trades[2].amount, + ft_price=trades[2].stop_loss, + order_id='102', + status='open', + ) + ) assert len(trades) > 2 res = rpc._rpc_delete('1') @@ -369,7 +379,7 @@ def test_rpc_delete_trade(mocker, default_conf, fee, markets, caplog, is_short): cancel_mock.reset_mock() stoploss_mock.reset_mock() - res = rpc._rpc_delete('2') + res = rpc._rpc_delete('5') assert isinstance(res, dict) assert stoploss_mock.call_count == 1 assert res['cancel_order_count'] == 1