Skip to content

Commit f109d08

Browse files
committed
tests: add test for exchange_ws cleanup error
1 parent 6b96d4d commit f109d08

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

tests/exchange/test_exchange_ws.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import asyncio
22
import threading
3+
from datetime import timedelta
34
from time import sleep
45
from unittest.mock import AsyncMock, MagicMock
56

67
from freqtrade.enums import CandleType
78
from freqtrade.exchange.exchange_ws import ExchangeWS
9+
from ft_client.test_client.test_rest_client import log_has_re
810

911

1012
def test_exchangews_init(mocker):
@@ -27,6 +29,23 @@ def test_exchangews_init(mocker):
2729
exchange_ws.cleanup()
2830

2931

32+
def test_exchangews_cleanup_error(mocker, caplog):
33+
config = MagicMock()
34+
ccxt_object = MagicMock()
35+
ccxt_object.close = AsyncMock(side_effect=Exception("Test"))
36+
mocker.patch("freqtrade.exchange.exchange_ws.ExchangeWS._start_forever", MagicMock())
37+
38+
exchange_ws = ExchangeWS(config, ccxt_object)
39+
patch_eventloop_threading(exchange_ws)
40+
41+
sleep(0.1)
42+
exchange_ws.reset_connections()
43+
44+
assert log_has_re("Exception in _cleanup_async", caplog)
45+
46+
exchange_ws.cleanup()
47+
48+
3049
def patch_eventloop_threading(exchange):
3150
is_init = False
3251

0 commit comments

Comments
 (0)