Skip to content

Commit f4c2aa7

Browse files
committed
Fix unit test relying on _get_or_discover_device returning None
1 parent 91f8321 commit f4c2aa7

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

tests/application/test_zigpy_callbacks.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,20 @@
1010
from ..conftest import FORMED_DEVICES, CoroutineMock
1111

1212

13-
def awaitable_mock(return_value):
13+
def awaitable_mock(*, return_value=None, side_effect=None):
14+
assert (return_value or side_effect) and not (return_value and side_effect)
15+
1416
mock_called = asyncio.get_running_loop().create_future()
1517

16-
def side_effect(*args, **kwargs):
18+
def side_effect_(*args, **kwargs):
1719
mock_called.set_result((args, kwargs))
1820

19-
return return_value
21+
if return_value is not None:
22+
return return_value
23+
else:
24+
raise side_effect
2025

21-
return mock_called, CoroutineMock(side_effect=side_effect)
26+
return mock_called, CoroutineMock(side_effect=side_effect_)
2227

2328

2429
@pytest.mark.parametrize("device", FORMED_DEVICES)
@@ -45,7 +50,7 @@ async def test_on_zdo_relays_message_callback_unknown(
4550
app, znp_server = make_application(server_cls=device)
4651
await app.startup(auto_form=False)
4752

48-
discover_called, discover_mock = awaitable_mock(return_value=None)
53+
discover_called, discover_mock = awaitable_mock(side_effect=KeyError())
4954
mocker.patch.object(app, "_get_or_discover_device", new=discover_mock)
5055

5156
caplog.set_level(logging.WARNING)
@@ -183,7 +188,7 @@ async def test_on_af_message_callback(device, make_application, mocker):
183188
app.get_device.reset_mock()
184189

185190
# Message from an unknown device
186-
discover_called, discover_mock = awaitable_mock(return_value=None)
191+
discover_called, discover_mock = awaitable_mock(side_effect=KeyError())
187192
mocker.patch.object(app, "_get_or_discover_device", new=discover_mock)
188193

189194
znp_server.send(af_message)

0 commit comments

Comments
 (0)