Skip to content

Commit

Permalink
Fix unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
puddly committed Nov 16, 2023
1 parent 23c0766 commit a55def7
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 40 deletions.
51 changes: 11 additions & 40 deletions tests/test_application.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import zigpy.application
import zigpy.config
import zigpy.device
from zigpy.types import EUI64, Channels
from zigpy.types import EUI64, Channels, KeyData
import zigpy.zdo.types as zdo_t

from zigpy_deconz import types as t
Expand Down Expand Up @@ -222,26 +222,26 @@ async def test_disconnect_close_error(app):


async def test_permit_with_link_key(app):
with patch.object(app._api, "write_parameter"):
await app.permit_with_link_key(
node=t.EUI64.convert("00:11:22:33:44:55:66:77"),
install_code=t.KeyData.convert(
"aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd"
),
)
app._api.write_parameter = AsyncMock()
app.permit = AsyncMock()

await app.permit_with_link_key(
node=t.EUI64.convert("00:11:22:33:44:55:66:77"),
link_key=KeyData.convert("aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd"),
)

assert app._api.write_parameter.mock_calls == [
mock.call(
deconz_api.NetworkParameter.link_key,
deconz_api.LinkKey(
ieee=t.EUI64.convert("00:11:22:33:44:55:66:77"),
key=t.KeyData.convert(
"aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd"
),
key=KeyData.convert("aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd:aa:bb:cc:dd"),
),
)
]

assert app.permit.mock_calls == [mock.call(mock.ANY)]


async def test_deconz_dev_add_to_group(app, nwk, device_path):
group = MagicMock()
Expand Down Expand Up @@ -552,35 +552,6 @@ async def read_param(param_id, index):
)


@patch("zigpy_deconz.zigbee.application.asyncio.sleep", new_callable=AsyncMock)
@patch(
"zigpy_deconz.zigbee.application.ControllerApplication.initialize",
side_effect=[RuntimeError(), None],
)
@patch(
"zigpy_deconz.zigbee.application.ControllerApplication.connect",
side_effect=[RuntimeError(), None, None],
)
async def test_reconnect(mock_connect, mock_initialize, mock_sleep, app):
assert app._reconnect_task is None
app.connection_lost(RuntimeError())

assert app._reconnect_task is not None
await app._reconnect_task

assert mock_connect.call_count == 3
assert mock_initialize.call_count == 2


async def test_disconnect_during_reconnect(app):
assert app._reconnect_task is None
app.connection_lost(RuntimeError())
await asyncio.sleep(0)
await app.disconnect()

assert app._reconnect_task is None


async def test_reset_network_info(app):
app.form_network = AsyncMock()
await app.reset_network_info()
Expand Down
1 change: 1 addition & 0 deletions zigpy_deconz/zigbee/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ async def permit_with_link_key(self, node: t.EUI64, link_key: t.KeyData, time_s=
NetworkParameter.link_key,
LinkKey(ieee=node, key=link_key),
)
await self.permit(time_s)

async def start_network(self):
await self.register_endpoints()
Expand Down

0 comments on commit a55def7

Please sign in to comment.