From 1f997fcd58c3bccd96f746c198e80197fcf4237e Mon Sep 17 00:00:00 2001 From: jan iversen Date: Mon, 13 Sep 2021 06:16:48 +0200 Subject: [PATCH] Update pymodbus fixtures to use autospec (#55686) --- tests/components/modbus/conftest.py | 23 ++++++++++++++++++----- tests/components/modbus/test_init.py | 6 ++++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/tests/components/modbus/conftest.py b/tests/components/modbus/conftest.py index 7942a8193b3..bd2ed9f7778 100644 --- a/tests/components/modbus/conftest.py +++ b/tests/components/modbus/conftest.py @@ -39,12 +39,17 @@ def mock_pymodbus(): """Mock pymodbus.""" mock_pb = mock.MagicMock() with mock.patch( - "homeassistant.components.modbus.modbus.ModbusTcpClient", return_value=mock_pb + "homeassistant.components.modbus.modbus.ModbusTcpClient", + return_value=mock_pb, + autospec=True, ), mock.patch( "homeassistant.components.modbus.modbus.ModbusSerialClient", return_value=mock_pb, + autospec=True, ), mock.patch( - "homeassistant.components.modbus.modbus.ModbusUdpClient", return_value=mock_pb + "homeassistant.components.modbus.modbus.ModbusUdpClient", + return_value=mock_pb, + autospec=True, ): yield mock_pb @@ -96,10 +101,16 @@ async def mock_modbus( } mock_pb = mock.MagicMock() with mock.patch( - "homeassistant.components.modbus.modbus.ModbusTcpClient", return_value=mock_pb + "homeassistant.components.modbus.modbus.ModbusTcpClient", + return_value=mock_pb, + autospec=True, ): now = dt_util.utcnow() - with mock.patch("homeassistant.helpers.event.dt_util.utcnow", return_value=now): + with mock.patch( + "homeassistant.helpers.event.dt_util.utcnow", + return_value=now, + autospec=True, + ): result = await async_setup_component(hass, DOMAIN, config) assert result or not check_config_loaded await hass.async_block_till_done() @@ -131,7 +142,9 @@ async def mock_pymodbus_return(hass, register_words, mock_modbus): async def mock_do_cycle(hass, mock_pymodbus_exception, mock_pymodbus_return): """Trigger update call with time_changed event.""" now = dt_util.utcnow() + timedelta(seconds=90) - with mock.patch("homeassistant.helpers.event.dt_util.utcnow", return_value=now): + with mock.patch( + "homeassistant.helpers.event.dt_util.utcnow", return_value=now, autospec=True + ): async_fire_time_changed(hass, now) await hass.async_block_till_done() diff --git a/tests/components/modbus/test_init.py b/tests/components/modbus/test_init.py index 5bc94b2df41..3ae271467ca 100644 --- a/tests/components/modbus/test_init.py +++ b/tests/components/modbus/test_init.py @@ -602,7 +602,7 @@ async def test_pymodbus_constructor_fail(hass, caplog): ] } with mock.patch( - "homeassistant.components.modbus.modbus.ModbusTcpClient" + "homeassistant.components.modbus.modbus.ModbusTcpClient", autospec=True ) as mock_pb: caplog.set_level(logging.ERROR) mock_pb.side_effect = ModbusException("test no class") @@ -669,7 +669,9 @@ async def test_delay(hass, mock_pymodbus): # pass first scan_interval start_time = now now = now + timedelta(seconds=(test_scan_interval + 1)) - with mock.patch("homeassistant.helpers.event.dt_util.utcnow", return_value=now): + with mock.patch( + "homeassistant.helpers.event.dt_util.utcnow", return_value=now, autospec=True + ): async_fire_time_changed(hass, now) await hass.async_block_till_done() assert hass.states.get(entity_id).state == STATE_UNAVAILABLE