Skip to content

Commit 69224d1

Browse files
committed
Fix unit tests
1 parent 40b9728 commit 69224d1

File tree

4 files changed

+29
-15
lines changed

4 files changed

+29
-15
lines changed

tests/test_api.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,16 @@ def gateway():
3232
@pytest.fixture
3333
def api(gateway, mock_command_rsp):
3434
async def mock_connect(config, api):
35+
transport = MagicMock()
36+
transport.close = MagicMock(
37+
side_effect=lambda: asyncio.get_running_loop().call_soon(
38+
gateway.connection_lost, None
39+
)
40+
)
41+
3542
gateway._api = api
36-
gateway.connection_made(MagicMock())
43+
gateway.connection_made(transport)
44+
3745
return gateway
3846

3947
with patch("zigpy_deconz.uart.connect", side_effect=mock_connect):
@@ -182,11 +190,11 @@ async def test_close(api):
182190
await api.connect()
183191

184192
uart = api._uart
185-
uart.close = MagicMock(wraps=uart.close)
193+
uart.disconnect = AsyncMock()
186194

187-
api.close()
195+
await api.disconnect()
188196
assert api._uart is None
189-
assert uart.close.call_count == 1
197+
assert uart.disconnect.call_count == 1
190198

191199

192200
def test_commands():
@@ -898,11 +906,9 @@ async def test_data_poller(api, mock_command_rsp):
898906

899907
# The task is cancelled on close
900908
task = api._data_poller_task
901-
api.close()
909+
await api.disconnect()
902910
assert api._data_poller_task is None
903-
904-
if sys.version_info >= (3, 11):
905-
assert task.cancelling()
911+
assert task.done()
906912

907913

908914
async def test_get_device_state(api, mock_command_rsp):

tests/test_application.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ async def test_connect_failure(app):
187187
with patch.object(application, "Deconz") as api_mock:
188188
api = api_mock.return_value = MagicMock()
189189
api.connect = AsyncMock(side_effect=RuntimeError("Broken"))
190+
api.disconnect = AsyncMock()
190191

191192
app._api = None
192193

@@ -195,16 +196,16 @@ async def test_connect_failure(app):
195196

196197
assert app._api is None
197198
api.connect.assert_called_once()
198-
api.close.assert_called_once()
199+
api.disconnect.assert_called_once()
199200

200201

201202
async def test_disconnect(app):
202-
api_close = app._api.close = MagicMock()
203+
api_disconnect = app._api.disconnect = AsyncMock()
203204

204205
await app.disconnect()
205206

206207
assert app._api is None
207-
assert api_close.call_count == 1
208+
assert api_disconnect.call_count == 1
208209

209210

210211
async def test_disconnect_no_api(app):

tests/test_uart.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
from unittest import mock
55

66
import pytest
7-
from zigpy.config import CONF_DEVICE_BAUDRATE, CONF_DEVICE_PATH
7+
from zigpy.config import (
8+
CONF_DEVICE_BAUDRATE,
9+
CONF_DEVICE_FLOW_CONTROL,
10+
CONF_DEVICE_PATH,
11+
)
812
import zigpy.serial
913

1014
from zigpy_deconz import uart
@@ -28,7 +32,12 @@ async def mock_conn(loop, protocol_factory, **kwargs):
2832
monkeypatch.setattr(zigpy.serial, "create_serial_connection", mock_conn)
2933

3034
await uart.connect(
31-
{CONF_DEVICE_PATH: "/dev/null", CONF_DEVICE_BAUDRATE: 115200}, api
35+
{
36+
CONF_DEVICE_PATH: "/dev/null",
37+
CONF_DEVICE_BAUDRATE: 115200,
38+
CONF_DEVICE_FLOW_CONTROL: None,
39+
},
40+
api,
3241
)
3342

3443

zigpy_deconz/api.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,8 +488,6 @@ async def disconnect(self):
488488
if self._uart is not None:
489489
await self._uart.disconnect()
490490
self._uart = None
491-
else:
492-
self._app.connection_lost(None)
493491

494492
self._app = None
495493

0 commit comments

Comments
 (0)