From f4074d29604b0f712eb428bdd293f1d63664588c Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 30 Mar 2024 14:30:00 +0100 Subject: [PATCH] Add tests for lock endpoints --- tests/rpc/test_rpc.py | 9 +++++---- tests/rpc/test_rpc_apiserver.py | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/tests/rpc/test_rpc.py b/tests/rpc/test_rpc.py index 0bf39fab7..e074dc984 100644 --- a/tests/rpc/test_rpc.py +++ b/tests/rpc/test_rpc.py @@ -1171,14 +1171,15 @@ def test_rpc_force_entry_wrong_mode(mocker, default_conf) -> None: @pytest.mark.usefixtures("init_persistence") -def test_rpc_delete_lock(mocker, default_conf): +def test_rpc_add_and_delete_lock(mocker, default_conf): freqtradebot = get_patched_freqtradebot(mocker, default_conf) rpc = RPC(freqtradebot) pair = 'ETH/BTC' - PairLocks.lock_pair(pair, datetime.now(timezone.utc) + timedelta(minutes=4)) - PairLocks.lock_pair(pair, datetime.now(timezone.utc) + timedelta(minutes=5)) - PairLocks.lock_pair(pair, datetime.now(timezone.utc) + timedelta(minutes=10)) + rpc._rpc_add_lock(pair, datetime.now(timezone.utc) + timedelta(minutes=4), '', '*') + rpc._rpc_add_lock(pair, datetime.now(timezone.utc) + timedelta(minutes=5), '', '*') + rpc._rpc_add_lock(pair, datetime.now(timezone.utc) + timedelta(minutes=10), '', '*') + locks = rpc._rpc_locks() assert locks['lock_count'] == 3 locks1 = rpc._rpc_delete_lock(lockid=locks['locks'][0]['id']) diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index 1e008d98e..2fc3ee133 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -29,6 +29,7 @@ from freqtrade.rpc.api_server import ApiServer from freqtrade.rpc.api_server.api_auth import create_token, get_user_from_token from freqtrade.rpc.api_server.uvicorn_threaded import UvicornServer from freqtrade.rpc.api_server.webserver_bgwork import ApiBG +from freqtrade.util.datetime_helpers import format_date from tests.conftest import (CURRENT_TEST_STRATEGY, EXMS, create_mock_trades, get_mock_coro, get_patched_freqtradebot, log_has, log_has_re, patch_get_signal) @@ -553,8 +554,19 @@ def test_api_locks(botclient): assert rc.json()['lock_count'] == 0 assert rc.json()['lock_count'] == len(rc.json()['locks']) - PairLocks.lock_pair('ETH/BTC', datetime.now(timezone.utc) + timedelta(minutes=4), 'randreason') - PairLocks.lock_pair('XRP/BTC', datetime.now(timezone.utc) + timedelta(minutes=20), 'deadbeef') + rc = client_post(client, f"{BASE_URI}/locks", [ + { + "pair": "ETH/BTC", + "until": f"{format_date(datetime.now(timezone.utc) + timedelta(minutes=4))}Z", + "reason": "randreason" + }, { + "pair": "XRP/BTC", + "until": f"{format_date(datetime.now(timezone.utc) + timedelta(minutes=20))}Z", + "reason": "deadbeef" + } + ]) + assert_response(rc) + assert rc.json()['lock_count'] == 2 rc = client_get(client, f"{BASE_URI}/locks") assert_response(rc)