From f2a5d92e61c134c6fc2b6a3b5c965a33b38d1848 Mon Sep 17 00:00:00 2001 From: jan iversen Date: Thu, 21 Oct 2021 00:22:24 +0200 Subject: [PATCH] Fix connect_fail test and modbus.py 100% coverage (#57894) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Joakim Sørensen --- .coveragerc | 1 - homeassistant/components/modbus/modbus.py | 2 +- tests/components/modbus/test_init.py | 15 ++++++--------- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/.coveragerc b/.coveragerc index d86464fa99e..0e5eefeb9a4 100644 --- a/.coveragerc +++ b/.coveragerc @@ -649,7 +649,6 @@ omit = homeassistant/components/mjpeg/camera.py homeassistant/components/mochad/* homeassistant/components/modbus/climate.py - homeassistant/components/modbus/modbus.py homeassistant/components/modem_callerid/sensor.py homeassistant/components/motion_blinds/__init__.py homeassistant/components/motion_blinds/const.py diff --git a/homeassistant/components/modbus/modbus.py b/homeassistant/components/modbus/modbus.py index ee5e8306696..9d1c13ffd9b 100644 --- a/homeassistant/components/modbus/modbus.py +++ b/homeassistant/components/modbus/modbus.py @@ -386,7 +386,7 @@ class ModbusHub: return None async with self._lock: if not self._client: - return None + return None # pragma: no cover result = await self.hass.async_add_executor_job( self._pymodbus_call, unit, address, value, use_call ) diff --git a/tests/components/modbus/test_init.py b/tests/components/modbus/test_init.py index dae19d4db50..7d9ab3e3471 100644 --- a/tests/components/modbus/test_init.py +++ b/tests/components/modbus/test_init.py @@ -648,7 +648,7 @@ async def test_pymodbus_close_fail(hass, caplog, mock_pymodbus): # Close() is called as part of teardown -async def test_pymodbus_connect_fail(hass, caplog): +async def test_pymodbus_connect_fail(hass, caplog, mock_pymodbus): """Run test for failing pymodbus constructor.""" config = { DOMAIN: [ @@ -660,14 +660,11 @@ async def test_pymodbus_connect_fail(hass, caplog): } ] } - with mock.patch( - "homeassistant.components.modbus.modbus.ModbusTcpClient", autospec=True - ) as mock_pb: - caplog.set_level(logging.ERROR) - exception_message = "test connect exception" - mock_pb.connect.side_effect = ModbusException(exception_message) - - assert await async_setup_component(hass, DOMAIN, config) is True + caplog.set_level(logging.WARNING) + ExceptionMessage = "test connect exception" + mock_pymodbus.connect.side_effect = ModbusException(ExceptionMessage) + assert await async_setup_component(hass, DOMAIN, config) is False + assert ExceptionMessage in caplog.text async def test_delay(hass, mock_pymodbus):