Add tests for lock endpoints
This commit is contained in:
@@ -1171,14 +1171,15 @@ def test_rpc_force_entry_wrong_mode(mocker, default_conf) -> None:
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("init_persistence")
|
@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)
|
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
|
||||||
rpc = RPC(freqtradebot)
|
rpc = RPC(freqtradebot)
|
||||||
pair = 'ETH/BTC'
|
pair = 'ETH/BTC'
|
||||||
|
|
||||||
PairLocks.lock_pair(pair, datetime.now(timezone.utc) + timedelta(minutes=4))
|
rpc._rpc_add_lock(pair, datetime.now(timezone.utc) + timedelta(minutes=4), '', '*')
|
||||||
PairLocks.lock_pair(pair, datetime.now(timezone.utc) + timedelta(minutes=5))
|
rpc._rpc_add_lock(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=10), '', '*')
|
||||||
|
|
||||||
locks = rpc._rpc_locks()
|
locks = rpc._rpc_locks()
|
||||||
assert locks['lock_count'] == 3
|
assert locks['lock_count'] == 3
|
||||||
locks1 = rpc._rpc_delete_lock(lockid=locks['locks'][0]['id'])
|
locks1 = rpc._rpc_delete_lock(lockid=locks['locks'][0]['id'])
|
||||||
|
|||||||
@@ -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.api_auth import create_token, get_user_from_token
|
||||||
from freqtrade.rpc.api_server.uvicorn_threaded import UvicornServer
|
from freqtrade.rpc.api_server.uvicorn_threaded import UvicornServer
|
||||||
from freqtrade.rpc.api_server.webserver_bgwork import ApiBG
|
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,
|
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)
|
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'] == 0
|
||||||
assert rc.json()['lock_count'] == len(rc.json()['locks'])
|
assert rc.json()['lock_count'] == len(rc.json()['locks'])
|
||||||
|
|
||||||
PairLocks.lock_pair('ETH/BTC', datetime.now(timezone.utc) + timedelta(minutes=4), 'randreason')
|
rc = client_post(client, f"{BASE_URI}/locks", [
|
||||||
PairLocks.lock_pair('XRP/BTC', datetime.now(timezone.utc) + timedelta(minutes=20), 'deadbeef')
|
{
|
||||||
|
"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")
|
rc = client_get(client, f"{BASE_URI}/locks")
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
|
|||||||
Reference in New Issue
Block a user