diff --git a/freqtrade/data/btanalysis.py b/freqtrade/data/btanalysis.py index c5905acde..63a75e0af 100644 --- a/freqtrade/data/btanalysis.py +++ b/freqtrade/data/btanalysis.py @@ -184,7 +184,7 @@ def get_backtest_resultlist(dirname: Path): continue for s, v in metadata.items(): results.append({ - 'filename': filename.name, + 'filename': filename.stem, 'strategy': s, 'run_id': v['run_id'], 'backtest_start_time': v['backtest_start_time'], diff --git a/freqtrade/rpc/api_server/api_backtest.py b/freqtrade/rpc/api_server/api_backtest.py index 3fac83e1e..f3222a97b 100644 --- a/freqtrade/rpc/api_server/api_backtest.py +++ b/freqtrade/rpc/api_server/api_backtest.py @@ -247,7 +247,8 @@ def api_backtest_history(config=Depends(get_config)): def api_backtest_history_result(filename: str, strategy: str, config=Depends(get_config)): # Get backtest result history, read from metadata files bt_results_base: Path = config['user_data_dir'] / 'backtest_results' - fn = bt_results_base / filename + fn = (bt_results_base / filename).with_suffix('.json') + results: Dict[str, Any] = { 'metadata': {}, 'strategy': {}, @@ -271,7 +272,7 @@ def api_backtest_history_result(filename: str, strategy: str, config=Depends(get def api_delete_backtest_history_entry(file: str, config=Depends(get_config)): # Get backtest result history, read from metadata files bt_results_base: Path = config['user_data_dir'] / 'backtest_results' - file_abs = bt_results_base / file + file_abs = (bt_results_base / file).with_suffix('.json') # Ensure file is in backtest_results directory if not is_file_in_dir(file_abs, bt_results_base): raise HTTPException(status_code=404, detail="File not found.") diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index c37553f24..fa5492442 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -2000,7 +2000,7 @@ def test_api_backtest_history(botclient, mocker, testdatadir): result = rc.json() assert len(result) == 3 fn = result[0]['filename'] - assert fn == "backtest-result_multistrat.json" + assert fn == "backtest-result_multistrat" strategy = result[0]['strategy'] rc = client_get(client, f"{BASE_URI}/backtest/history/result?filename={fn}&strategy={strategy}") assert_response(rc)