From fd955028a87a125cab94deea1b1e7f6c00c60765 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 31 May 2023 07:08:27 +0200 Subject: [PATCH] Update tests for new background method --- freqtrade/rpc/api_server/api_schemas.py | 2 ++ freqtrade/rpc/api_server/api_v1.py | 2 +- tests/rpc/test_rpc_apiserver.py | 30 ++++++++++++++++--------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/freqtrade/rpc/api_server/api_schemas.py b/freqtrade/rpc/api_server/api_schemas.py index 6ab848a50..c3f31b3c6 100644 --- a/freqtrade/rpc/api_server/api_schemas.py +++ b/freqtrade/rpc/api_server/api_schemas.py @@ -32,6 +32,8 @@ class BgJobStarted(StatusMsg): class BackgroundTaskStatus(BaseModel): + job_id: str + job_category: str status: str running: bool progress: Optional[float] diff --git a/freqtrade/rpc/api_server/api_v1.py b/freqtrade/rpc/api_server/api_v1.py index e9bc128ab..7fb4ee248 100644 --- a/freqtrade/rpc/api_server/api_v1.py +++ b/freqtrade/rpc/api_server/api_v1.py @@ -418,7 +418,7 @@ def background_job(jobid: str): return { 'job_id': jobid, - # 'type': job['job_type'], + 'job_category': job['category'], 'status': job['status'], 'running': job['is_running'], 'progress': job.get('progress'), diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index 115d9ddb2..476a8ff2d 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -1643,15 +1643,10 @@ def test_api_pairlists_evaluate(botclient, tmpdir): ftbot, client = botclient ftbot.config['user_data_dir'] = Path(tmpdir) - rc = client_get(client, f"{BASE_URI}/pairlists/evaluate") + rc = client_get(client, f"{BASE_URI}/pairlists/evaluate/randomJob") - assert_response(rc) - assert rc.json()['status'] == 'pending' - - ApiBG.pairlist_running = True - rc = client_get(client, f"{BASE_URI}/pairlists/evaluate") - assert_response(rc) - assert rc.json()['status'] == 'running' + assert_response(rc, 404) + assert rc.json()['detail'] == 'Job not found.' body = { "pairlists": [ @@ -1662,6 +1657,7 @@ def test_api_pairlists_evaluate(botclient, tmpdir): "stake_currency": "BTC" } # Fail, already running + ApiBG.pairlist_running = True rc = client_post(client, f"{BASE_URI}/pairlists/evaluate", body) assert_response(rc, 400) assert rc.json()['detail'] == 'Pairlist evaluation is already running.' @@ -1671,8 +1667,19 @@ def test_api_pairlists_evaluate(botclient, tmpdir): rc = client_post(client, f"{BASE_URI}/pairlists/evaluate", body) assert_response(rc) assert rc.json()['status'] == 'Pairlist evaluation started in background.' + job_id = rc.json()['job_id'] - rc = client_get(client, f"{BASE_URI}/pairlists/evaluate") + rc = client_get(client, f"{BASE_URI}/background/RandomJob") + assert_response(rc, 404) + assert rc.json()['detail'] == 'Job not found.' + + rc = client_get(client, f"{BASE_URI}/background/{job_id}") + assert_response(rc) + response = rc.json() + assert response['job_id'] == job_id + assert response['job_category'] == 'pairlist' + + rc = client_get(client, f"{BASE_URI}/pairlists/evaluate/{job_id}") assert_response(rc) response = rc.json() assert response['result']['whitelist'] == ['ETH/BTC', 'LTC/BTC', 'XRP/BTC', 'NEO/BTC',] @@ -1683,8 +1690,9 @@ def test_api_pairlists_evaluate(botclient, tmpdir): rc = client_post(client, f"{BASE_URI}/pairlists/evaluate", body) assert_response(rc) assert rc.json()['status'] == 'Pairlist evaluation started in background.' - rc = client_get(client, f"{BASE_URI}/pairlists/evaluate") - rc = client_get(client, f"{BASE_URI}/pairlists/evaluate") + job_id = rc.json()['job_id'] + + rc = client_get(client, f"{BASE_URI}/pairlists/evaluate/{job_id}") assert_response(rc) response = rc.json() assert response['result']['whitelist'] == ['ETH/BTC', 'LTC/BTC', ]