Fix tests for webserver mode
This commit is contained in:
parent
5c18c8726d
commit
edb8c4f0e5
@ -86,6 +86,14 @@ class ApiServer(RPCHandler):
|
|||||||
logger.info("Stopping API Server")
|
logger.info("Stopping API Server")
|
||||||
self._server.cleanup()
|
self._server.cleanup()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def shutdown(cls):
|
||||||
|
cls.__initialized = False
|
||||||
|
del cls.__instance
|
||||||
|
cls.__instance = None
|
||||||
|
cls._has_rpc = False
|
||||||
|
cls._rpc = None
|
||||||
|
|
||||||
def send_msg(self, msg: Dict[str, str]) -> None:
|
def send_msg(self, msg: Dict[str, str]) -> None:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -48,9 +48,13 @@ def botclient(default_conf, mocker):
|
|||||||
ftbot = get_patched_freqtradebot(mocker, default_conf)
|
ftbot = get_patched_freqtradebot(mocker, default_conf)
|
||||||
rpc = RPC(ftbot)
|
rpc = RPC(ftbot)
|
||||||
mocker.patch('freqtrade.rpc.api_server.ApiServer.start_api', MagicMock())
|
mocker.patch('freqtrade.rpc.api_server.ApiServer.start_api', MagicMock())
|
||||||
apiserver = ApiServer(rpc, default_conf)
|
try:
|
||||||
yield ftbot, TestClient(apiserver.app)
|
apiserver = ApiServer(default_conf)
|
||||||
# Cleanup ... ?
|
apiserver.add_rpc_handler(rpc)
|
||||||
|
yield ftbot, TestClient(apiserver.app)
|
||||||
|
# Cleanup ... ?
|
||||||
|
finally:
|
||||||
|
ApiServer.shutdown()
|
||||||
|
|
||||||
|
|
||||||
def client_post(client, url, data={}):
|
def client_post(client, url, data={}):
|
||||||
@ -235,8 +239,10 @@ def test_api__init__(default_conf, mocker):
|
|||||||
}})
|
}})
|
||||||
mocker.patch('freqtrade.rpc.telegram.Updater', MagicMock())
|
mocker.patch('freqtrade.rpc.telegram.Updater', MagicMock())
|
||||||
mocker.patch('freqtrade.rpc.api_server.webserver.ApiServer.start_api', MagicMock())
|
mocker.patch('freqtrade.rpc.api_server.webserver.ApiServer.start_api', MagicMock())
|
||||||
apiserver = ApiServer(RPC(get_patched_freqtradebot(mocker, default_conf)), default_conf)
|
apiserver = ApiServer(default_conf)
|
||||||
|
apiserver.add_rpc_handler(RPC(get_patched_freqtradebot(mocker, default_conf)))
|
||||||
assert apiserver._config == default_conf
|
assert apiserver._config == default_conf
|
||||||
|
ApiServer.shutdown()
|
||||||
|
|
||||||
|
|
||||||
def test_api_UvicornServer(mocker):
|
def test_api_UvicornServer(mocker):
|
||||||
@ -301,7 +307,8 @@ def test_api_run(default_conf, mocker, caplog):
|
|||||||
server_mock = MagicMock()
|
server_mock = MagicMock()
|
||||||
mocker.patch('freqtrade.rpc.api_server.webserver.UvicornServer', server_mock)
|
mocker.patch('freqtrade.rpc.api_server.webserver.UvicornServer', server_mock)
|
||||||
|
|
||||||
apiserver = ApiServer(RPC(get_patched_freqtradebot(mocker, default_conf)), default_conf)
|
apiserver = ApiServer(default_conf)
|
||||||
|
apiserver.add_rpc_handler(RPC(get_patched_freqtradebot(mocker, default_conf)))
|
||||||
|
|
||||||
assert server_mock.call_count == 1
|
assert server_mock.call_count == 1
|
||||||
assert apiserver._config == default_conf
|
assert apiserver._config == default_conf
|
||||||
@ -344,6 +351,7 @@ def test_api_run(default_conf, mocker, caplog):
|
|||||||
MagicMock(side_effect=Exception))
|
MagicMock(side_effect=Exception))
|
||||||
apiserver.start_api()
|
apiserver.start_api()
|
||||||
assert log_has("Api server failed to start.", caplog)
|
assert log_has("Api server failed to start.", caplog)
|
||||||
|
ApiServer.shutdown()
|
||||||
|
|
||||||
|
|
||||||
def test_api_cleanup(default_conf, mocker, caplog):
|
def test_api_cleanup(default_conf, mocker, caplog):
|
||||||
@ -359,11 +367,13 @@ def test_api_cleanup(default_conf, mocker, caplog):
|
|||||||
server_mock.cleanup = MagicMock()
|
server_mock.cleanup = MagicMock()
|
||||||
mocker.patch('freqtrade.rpc.api_server.webserver.UvicornServer', server_mock)
|
mocker.patch('freqtrade.rpc.api_server.webserver.UvicornServer', server_mock)
|
||||||
|
|
||||||
apiserver = ApiServer(RPC(get_patched_freqtradebot(mocker, default_conf)), default_conf)
|
apiserver = ApiServer(default_conf)
|
||||||
|
apiserver.add_rpc_handler(RPC(get_patched_freqtradebot(mocker, default_conf)))
|
||||||
|
|
||||||
apiserver.cleanup()
|
apiserver.cleanup()
|
||||||
assert apiserver._server.cleanup.call_count == 1
|
assert apiserver._server.cleanup.call_count == 1
|
||||||
assert log_has("Stopping API Server", caplog)
|
assert log_has("Stopping API Server", caplog)
|
||||||
|
ApiServer.shutdown()
|
||||||
|
|
||||||
|
|
||||||
def test_api_reloadconf(botclient):
|
def test_api_reloadconf(botclient):
|
||||||
|
Loading…
Reference in New Issue
Block a user