Implement errorhandling for /trade endpoint
This commit is contained in:
parent
fc78246bbc
commit
aeb81f90ff
@ -90,7 +90,10 @@ def trades(limit: int = 0, rpc: RPC = Depends(get_rpc)):
|
|||||||
|
|
||||||
@router.get('/trade/{tradeid}', response_model=OpenTradeSchema, tags=['info', 'trading'])
|
@router.get('/trade/{tradeid}', response_model=OpenTradeSchema, tags=['info', 'trading'])
|
||||||
def trade(tradeid: int = 0, rpc: RPC = Depends(get_rpc)):
|
def trade(tradeid: int = 0, rpc: RPC = Depends(get_rpc)):
|
||||||
return rpc._rpc_trade_status([tradeid])[0]
|
try:
|
||||||
|
return rpc._rpc_trade_status([tradeid])[0]
|
||||||
|
except (RPCException, KeyError):
|
||||||
|
raise HTTPException(status_code=404, detail='Trade not found.')
|
||||||
|
|
||||||
|
|
||||||
@router.delete('/trades/{tradeid}', response_model=DeleteTrade, tags=['info', 'trading'])
|
@router.delete('/trades/{tradeid}', response_model=DeleteTrade, tags=['info', 'trading'])
|
||||||
|
@ -522,6 +522,26 @@ def test_api_trades(botclient, mocker, fee, markets):
|
|||||||
assert rc.json()['trades_count'] == 1
|
assert rc.json()['trades_count'] == 1
|
||||||
|
|
||||||
|
|
||||||
|
def test_api_trade_single(botclient, mocker, fee, ticker, markets):
|
||||||
|
ftbot, client = botclient
|
||||||
|
patch_get_signal(ftbot, (True, False))
|
||||||
|
mocker.patch.multiple(
|
||||||
|
'freqtrade.exchange.Exchange',
|
||||||
|
markets=PropertyMock(return_value=markets),
|
||||||
|
fetch_ticker=ticker,
|
||||||
|
)
|
||||||
|
rc = client_get(client, f"{BASE_URI}/trade/3")
|
||||||
|
assert_response(rc, 404)
|
||||||
|
assert rc.json()['detail'] == 'Trade not found.'
|
||||||
|
|
||||||
|
create_mock_trades(fee)
|
||||||
|
Trade.query.session.flush()
|
||||||
|
|
||||||
|
rc = client_get(client, f"{BASE_URI}/trade/3")
|
||||||
|
assert_response(rc)
|
||||||
|
assert rc.json()['trade_id'] == 3
|
||||||
|
|
||||||
|
|
||||||
def test_api_delete_trade(botclient, mocker, fee, markets):
|
def test_api_delete_trade(botclient, mocker, fee, markets):
|
||||||
ftbot, client = botclient
|
ftbot, client = botclient
|
||||||
patch_get_signal(ftbot, (True, False))
|
patch_get_signal(ftbot, (True, False))
|
||||||
|
Loading…
Reference in New Issue
Block a user