Improve some tests
This commit is contained in:
parent
9ee1d88355
commit
e23898d17b
@ -156,7 +156,6 @@ class WhitelistResponse(BaseModel):
|
|||||||
method: List[str]
|
method: List[str]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class DeleteTrade(BaseModel):
|
class DeleteTrade(BaseModel):
|
||||||
cancel_order_count: int
|
cancel_order_count: int
|
||||||
result: str
|
result: str
|
||||||
|
@ -19,17 +19,19 @@ router = APIRouter()
|
|||||||
|
|
||||||
@router_public.get('/ping', response_model=Ping)
|
@router_public.get('/ping', response_model=Ping)
|
||||||
def ping():
|
def ping():
|
||||||
"""simple ping version"""
|
"""simple ping"""
|
||||||
return {"status": "pong"}
|
return {"status": "pong"}
|
||||||
|
|
||||||
|
|
||||||
@router.get('/version', response_model=Version, tags=['info'])
|
@router.get('/version', response_model=Version, tags=['info'])
|
||||||
def version():
|
def version():
|
||||||
|
""" Bot Version info"""
|
||||||
return {"version": __version__}
|
return {"version": __version__}
|
||||||
|
|
||||||
|
|
||||||
@router.get('/balance', response_model=Balances, tags=['info'])
|
@router.get('/balance', response_model=Balances, tags=['info'])
|
||||||
def balance(rpc: RPC = Depends(get_rpc), config=Depends(get_config)):
|
def balance(rpc: RPC = Depends(get_rpc), config=Depends(get_config)):
|
||||||
|
"""Account Balances"""
|
||||||
return rpc._rpc_balance(config['stake_currency'], config.get('fiat_display_currency', ''),)
|
return rpc._rpc_balance(config['stake_currency'], config.get('fiat_display_currency', ''),)
|
||||||
|
|
||||||
|
|
||||||
@ -71,7 +73,7 @@ def status(rpc: RPC = Depends(get_rpc)):
|
|||||||
|
|
||||||
|
|
||||||
# TODO: Missing response model
|
# TODO: Missing response model
|
||||||
@router.get('/trades', tags=['info'])
|
@router.get('/trades', tags=['info', 'trading'])
|
||||||
def trades(limit: Optional[int] = 0, rpc: RPC = Depends(get_rpc)):
|
def trades(limit: Optional[int] = 0, rpc: RPC = Depends(get_rpc)):
|
||||||
return rpc._rpc_trade_history(limit)
|
return rpc._rpc_trade_history(limit)
|
||||||
|
|
||||||
|
@ -80,10 +80,7 @@ def test_api_not_found(botclient):
|
|||||||
|
|
||||||
rc = client_post(client, f"{BASE_URI}/invalid_url")
|
rc = client_post(client, f"{BASE_URI}/invalid_url")
|
||||||
assert_response(rc, 404)
|
assert_response(rc, 404)
|
||||||
assert rc.json() == {"status": "error",
|
assert rc.json() == {"detail": "Not Found"}
|
||||||
"reason": f"There's no API call for http://localhost{BASE_URI}/invalid_url.",
|
|
||||||
"code": 404
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def test_api_unauthorized(botclient):
|
def test_api_unauthorized(botclient):
|
||||||
@ -137,13 +134,12 @@ def test_api_token_refresh(botclient):
|
|||||||
rc = client_post(client, f"{BASE_URI}/token/login")
|
rc = client_post(client, f"{BASE_URI}/token/login")
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
rc = client.post(f"{BASE_URI}/token/refresh",
|
rc = client.post(f"{BASE_URI}/token/refresh",
|
||||||
content_type="application/json",
|
|
||||||
data=None,
|
data=None,
|
||||||
headers={'Authorization': f'Bearer {rc.json["refresh_token"]}',
|
headers={'Authorization': f'Bearer {rc.json()["refresh_token"]}',
|
||||||
'Origin': 'http://example.com'})
|
'Origin': 'http://example.com'})
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
assert 'access_token' in rc.json
|
assert 'access_token' in rc.json()
|
||||||
assert 'refresh_token' not in rc.json
|
assert 'refresh_token' not in rc.json()
|
||||||
|
|
||||||
|
|
||||||
def test_api_stop_workflow(botclient):
|
def test_api_stop_workflow(botclient):
|
||||||
@ -151,24 +147,24 @@ def test_api_stop_workflow(botclient):
|
|||||||
assert ftbot.state == State.RUNNING
|
assert ftbot.state == State.RUNNING
|
||||||
rc = client_post(client, f"{BASE_URI}/stop")
|
rc = client_post(client, f"{BASE_URI}/stop")
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
assert rc.json == {'status': 'stopping trader ...'}
|
assert rc.json() == {'status': 'stopping trader ...'}
|
||||||
assert ftbot.state == State.STOPPED
|
assert ftbot.state == State.STOPPED
|
||||||
|
|
||||||
# Stop bot again
|
# Stop bot again
|
||||||
rc = client_post(client, f"{BASE_URI}/stop")
|
rc = client_post(client, f"{BASE_URI}/stop")
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
assert rc.json == {'status': 'already stopped'}
|
assert rc.json() == {'status': 'already stopped'}
|
||||||
|
|
||||||
# Start bot
|
# Start bot
|
||||||
rc = client_post(client, f"{BASE_URI}/start")
|
rc = client_post(client, f"{BASE_URI}/start")
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
assert rc.json == {'status': 'starting trader ...'}
|
assert rc.json() == {'status': 'starting trader ...'}
|
||||||
assert ftbot.state == State.RUNNING
|
assert ftbot.state == State.RUNNING
|
||||||
|
|
||||||
# Call start again
|
# Call start again
|
||||||
rc = client_post(client, f"{BASE_URI}/start")
|
rc = client_post(client, f"{BASE_URI}/start")
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
assert rc.json == {'status': 'already running'}
|
assert rc.json() == {'status': 'already running'}
|
||||||
|
|
||||||
|
|
||||||
def test_api__init__(default_conf, mocker):
|
def test_api__init__(default_conf, mocker):
|
||||||
@ -182,7 +178,7 @@ def test_api__init__(default_conf, mocker):
|
|||||||
"password": "testPass",
|
"password": "testPass",
|
||||||
}})
|
}})
|
||||||
mocker.patch('freqtrade.rpc.telegram.Updater', MagicMock())
|
mocker.patch('freqtrade.rpc.telegram.Updater', MagicMock())
|
||||||
mocker.patch('freqtrade.rpc.api_server.ApiServer.run', MagicMock())
|
mocker.patch('freqtrade.rpc.api_server2.webserver.ApiServer.start_api', MagicMock())
|
||||||
apiserver = ApiServer(RPC(get_patched_freqtradebot(mocker, default_conf)), default_conf)
|
apiserver = ApiServer(RPC(get_patched_freqtradebot(mocker, default_conf)), default_conf)
|
||||||
assert apiserver._config == default_conf
|
assert apiserver._config == default_conf
|
||||||
|
|
||||||
@ -255,7 +251,7 @@ def test_api_cleanup(default_conf, mocker, caplog):
|
|||||||
mocker.patch('freqtrade.rpc.api_server.make_server', MagicMock())
|
mocker.patch('freqtrade.rpc.api_server.make_server', MagicMock())
|
||||||
|
|
||||||
apiserver = ApiServer(RPC(get_patched_freqtradebot(mocker, default_conf)), default_conf)
|
apiserver = ApiServer(RPC(get_patched_freqtradebot(mocker, default_conf)), default_conf)
|
||||||
apiserver.run()
|
apiserver.run_api()
|
||||||
stop_mock = MagicMock()
|
stop_mock = MagicMock()
|
||||||
stop_mock.shutdown = MagicMock()
|
stop_mock.shutdown = MagicMock()
|
||||||
apiserver.srv = stop_mock
|
apiserver.srv = stop_mock
|
||||||
@ -655,6 +651,7 @@ def test_api_status(botclient, mocker, ticker, fee, markets):
|
|||||||
trades = Trade.get_open_trades()
|
trades = Trade.get_open_trades()
|
||||||
trades[0].open_order_id = None
|
trades[0].open_order_id = None
|
||||||
ftbot.exit_positions(trades)
|
ftbot.exit_positions(trades)
|
||||||
|
Trade.session.flush()
|
||||||
|
|
||||||
rc = client_get(client, f"{BASE_URI}/status")
|
rc = client_get(client, f"{BASE_URI}/status")
|
||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
|
Loading…
Reference in New Issue
Block a user