From 6a7872fc1bec1b3eec8fe3b3c3887be69e209b13 Mon Sep 17 00:00:00 2001 From: jan iversen Date: Sun, 20 Feb 2022 06:00:14 +0100 Subject: [PATCH] Remove async_setup_component() from tests (#66905) --- tests/components/modbus/test_fan.py | 35 +++++------ tests/components/modbus/test_light.py | 35 +++++------ tests/components/modbus/test_switch.py | 85 ++++++++++---------------- 3 files changed, 61 insertions(+), 94 deletions(-) diff --git a/tests/components/modbus/test_fan.py b/tests/components/modbus/test_fan.py index 9ffa48a032a..f766f816109 100644 --- a/tests/components/modbus/test_fan.py +++ b/tests/components/modbus/test_fan.py @@ -16,26 +16,21 @@ from homeassistant.components.modbus.const import ( CONF_VERIFY, CONF_WRITE_TYPE, MODBUS_DOMAIN, - TCP, ) from homeassistant.const import ( CONF_ADDRESS, CONF_COMMAND_OFF, CONF_COMMAND_ON, - CONF_HOST, CONF_NAME, - CONF_PORT, CONF_SCAN_INTERVAL, CONF_SLAVE, - CONF_TYPE, STATE_OFF, STATE_ON, STATE_UNAVAILABLE, ) from homeassistant.core import State -from homeassistant.setup import async_setup_component -from .conftest import TEST_ENTITY_NAME, TEST_MODBUS_HOST, TEST_PORT_TCP, ReadResult +from .conftest import TEST_ENTITY_NAME, ReadResult ENTITY_ID = f"{FAN_DOMAIN}.{TEST_ENTITY_NAME}" ENTITY_ID2 = f"{ENTITY_ID}2" @@ -221,14 +216,10 @@ async def test_restore_state_fan(hass, mock_test_state, mock_modbus): assert hass.states.get(ENTITY_ID).state == STATE_ON -async def test_fan_service_turn(hass, caplog, mock_pymodbus): - """Run test for service turn_on/turn_off.""" - - config = { - MODBUS_DOMAIN: { - CONF_TYPE: TCP, - CONF_HOST: TEST_MODBUS_HOST, - CONF_PORT: TEST_PORT_TCP, +@pytest.mark.parametrize( + "do_config", + [ + { CONF_FANS: [ { CONF_NAME: TEST_ENTITY_NAME, @@ -245,9 +236,11 @@ async def test_fan_service_turn(hass, caplog, mock_pymodbus): }, ], }, - } - assert await async_setup_component(hass, MODBUS_DOMAIN, config) is True - await hass.async_block_till_done() + ], +) +async def test_fan_service_turn(hass, caplog, mock_modbus): + """Run test for service turn_on/turn_off.""" + assert MODBUS_DOMAIN in hass.config.components assert hass.states.get(ENTITY_ID).state == STATE_OFF @@ -262,27 +255,27 @@ async def test_fan_service_turn(hass, caplog, mock_pymodbus): await hass.async_block_till_done() assert hass.states.get(ENTITY_ID).state == STATE_OFF - mock_pymodbus.read_holding_registers.return_value = ReadResult([0x01]) + mock_modbus.read_holding_registers.return_value = ReadResult([0x01]) assert hass.states.get(ENTITY_ID2).state == STATE_OFF await hass.services.async_call( "fan", "turn_on", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_ON - mock_pymodbus.read_holding_registers.return_value = ReadResult([0x00]) + mock_modbus.read_holding_registers.return_value = ReadResult([0x00]) await hass.services.async_call( "fan", "turn_off", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_OFF - mock_pymodbus.write_register.side_effect = ModbusException("fail write_") + mock_modbus.write_register.side_effect = ModbusException("fail write_") await hass.services.async_call( "fan", "turn_on", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_UNAVAILABLE - mock_pymodbus.write_coil.side_effect = ModbusException("fail write_") + mock_modbus.write_coil.side_effect = ModbusException("fail write_") await hass.services.async_call( "fan", "turn_off", service_data={"entity_id": ENTITY_ID} ) diff --git a/tests/components/modbus/test_light.py b/tests/components/modbus/test_light.py index 451d0beca13..220924733ad 100644 --- a/tests/components/modbus/test_light.py +++ b/tests/components/modbus/test_light.py @@ -15,27 +15,22 @@ from homeassistant.components.modbus.const import ( CONF_VERIFY, CONF_WRITE_TYPE, MODBUS_DOMAIN, - TCP, ) from homeassistant.const import ( CONF_ADDRESS, CONF_COMMAND_OFF, CONF_COMMAND_ON, - CONF_HOST, CONF_LIGHTS, CONF_NAME, - CONF_PORT, CONF_SCAN_INTERVAL, CONF_SLAVE, - CONF_TYPE, STATE_OFF, STATE_ON, STATE_UNAVAILABLE, ) from homeassistant.core import State -from homeassistant.setup import async_setup_component -from .conftest import TEST_ENTITY_NAME, TEST_MODBUS_HOST, TEST_PORT_TCP, ReadResult +from .conftest import TEST_ENTITY_NAME, ReadResult ENTITY_ID = f"{LIGHT_DOMAIN}.{TEST_ENTITY_NAME}" ENTITY_ID2 = f"{ENTITY_ID}2" @@ -221,14 +216,10 @@ async def test_restore_state_light(hass, mock_test_state, mock_modbus): assert hass.states.get(ENTITY_ID).state == mock_test_state[0].state -async def test_light_service_turn(hass, caplog, mock_pymodbus): - """Run test for service turn_on/turn_off.""" - - config = { - MODBUS_DOMAIN: { - CONF_TYPE: TCP, - CONF_HOST: TEST_MODBUS_HOST, - CONF_PORT: TEST_PORT_TCP, +@pytest.mark.parametrize( + "do_config", + [ + { CONF_LIGHTS: [ { CONF_NAME: TEST_ENTITY_NAME, @@ -245,9 +236,11 @@ async def test_light_service_turn(hass, caplog, mock_pymodbus): }, ], }, - } - assert await async_setup_component(hass, MODBUS_DOMAIN, config) is True - await hass.async_block_till_done() + ], +) +async def test_light_service_turn(hass, caplog, mock_modbus): + """Run test for service turn_on/turn_off.""" + assert MODBUS_DOMAIN in hass.config.components assert hass.states.get(ENTITY_ID).state == STATE_OFF @@ -262,27 +255,27 @@ async def test_light_service_turn(hass, caplog, mock_pymodbus): await hass.async_block_till_done() assert hass.states.get(ENTITY_ID).state == STATE_OFF - mock_pymodbus.read_holding_registers.return_value = ReadResult([0x01]) + mock_modbus.read_holding_registers.return_value = ReadResult([0x01]) assert hass.states.get(ENTITY_ID2).state == STATE_OFF await hass.services.async_call( "light", "turn_on", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_ON - mock_pymodbus.read_holding_registers.return_value = ReadResult([0x00]) + mock_modbus.read_holding_registers.return_value = ReadResult([0x00]) await hass.services.async_call( "light", "turn_off", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_OFF - mock_pymodbus.write_register.side_effect = ModbusException("fail write_") + mock_modbus.write_register.side_effect = ModbusException("fail write_") await hass.services.async_call( "light", "turn_on", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_UNAVAILABLE - mock_pymodbus.write_coil.side_effect = ModbusException("fail write_") + mock_modbus.write_coil.side_effect = ModbusException("fail write_") await hass.services.async_call( "light", "turn_off", service_data={"entity_id": ENTITY_ID} ) diff --git a/tests/components/modbus/test_switch.py b/tests/components/modbus/test_switch.py index 15a41956d3f..86a26e18742 100644 --- a/tests/components/modbus/test_switch.py +++ b/tests/components/modbus/test_switch.py @@ -17,7 +17,6 @@ from homeassistant.components.modbus.const import ( CONF_VERIFY, CONF_WRITE_TYPE, MODBUS_DOMAIN, - TCP, ) from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN from homeassistant.const import ( @@ -26,28 +25,18 @@ from homeassistant.const import ( CONF_COMMAND_ON, CONF_DELAY, CONF_DEVICE_CLASS, - CONF_HOST, CONF_NAME, - CONF_PORT, CONF_SCAN_INTERVAL, CONF_SLAVE, CONF_SWITCHES, - CONF_TYPE, STATE_OFF, STATE_ON, STATE_UNAVAILABLE, ) from homeassistant.core import State -from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util -from .conftest import ( - TEST_ENTITY_NAME, - TEST_MODBUS_HOST, - TEST_PORT_TCP, - ReadResult, - do_next_cycle, -) +from .conftest import TEST_ENTITY_NAME, ReadResult, do_next_cycle from tests.common import async_fire_time_changed @@ -280,14 +269,10 @@ async def test_restore_state_switch(hass, mock_test_state, mock_modbus): assert hass.states.get(ENTITY_ID).state == mock_test_state[0].state -async def test_switch_service_turn(hass, caplog, mock_pymodbus): - """Run test for service turn_on/turn_off.""" - - config = { - MODBUS_DOMAIN: { - CONF_TYPE: TCP, - CONF_HOST: TEST_MODBUS_HOST, - CONF_PORT: TEST_PORT_TCP, +@pytest.mark.parametrize( + "do_config", + [ + { CONF_SWITCHES: [ { CONF_NAME: TEST_ENTITY_NAME, @@ -304,9 +289,10 @@ async def test_switch_service_turn(hass, caplog, mock_pymodbus): }, ], }, - } - assert await async_setup_component(hass, MODBUS_DOMAIN, config) is True - await hass.async_block_till_done() + ], +) +async def test_switch_service_turn(hass, caplog, mock_modbus): + """Run test for service turn_on/turn_off.""" assert MODBUS_DOMAIN in hass.config.components assert hass.states.get(ENTITY_ID).state == STATE_OFF @@ -321,27 +307,27 @@ async def test_switch_service_turn(hass, caplog, mock_pymodbus): await hass.async_block_till_done() assert hass.states.get(ENTITY_ID).state == STATE_OFF - mock_pymodbus.read_holding_registers.return_value = ReadResult([0x01]) + mock_modbus.read_holding_registers.return_value = ReadResult([0x01]) assert hass.states.get(ENTITY_ID2).state == STATE_OFF await hass.services.async_call( "switch", "turn_on", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_ON - mock_pymodbus.read_holding_registers.return_value = ReadResult([0x00]) + mock_modbus.read_holding_registers.return_value = ReadResult([0x00]) await hass.services.async_call( "switch", "turn_off", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_OFF - mock_pymodbus.write_register.side_effect = ModbusException("fail write_") + mock_modbus.write_register.side_effect = ModbusException("fail write_") await hass.services.async_call( "switch", "turn_on", service_data={"entity_id": ENTITY_ID2} ) await hass.async_block_till_done() assert hass.states.get(ENTITY_ID2).state == STATE_UNAVAILABLE - mock_pymodbus.write_coil.side_effect = ModbusException("fail write_") + mock_modbus.write_coil.side_effect = ModbusException("fail write_") await hass.services.async_call( "switch", "turn_off", service_data={"entity_id": ENTITY_ID} ) @@ -377,33 +363,28 @@ async def test_service_switch_update(hass, mock_modbus, mock_ha): assert hass.states.get(ENTITY_ID).state == STATE_ON -async def test_delay_switch(hass, mock_pymodbus): +@pytest.mark.parametrize( + "do_config", + [ + { + CONF_SWITCHES: [ + { + CONF_NAME: TEST_ENTITY_NAME, + CONF_ADDRESS: 51, + CONF_SCAN_INTERVAL: 0, + CONF_VERIFY: { + CONF_DELAY: 1, + CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING, + }, + } + ], + }, + ], +) +async def test_delay_switch(hass, mock_modbus): """Run test for switch verify delay.""" - config = { - MODBUS_DOMAIN: [ - { - CONF_TYPE: TCP, - CONF_HOST: TEST_MODBUS_HOST, - CONF_PORT: TEST_PORT_TCP, - CONF_SWITCHES: [ - { - CONF_NAME: TEST_ENTITY_NAME, - CONF_ADDRESS: 51, - CONF_SCAN_INTERVAL: 0, - CONF_VERIFY: { - CONF_DELAY: 1, - CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING, - }, - } - ], - } - ] - } - mock_pymodbus.read_holding_registers.return_value = ReadResult([0x01]) + mock_modbus.read_holding_registers.return_value = ReadResult([0x01]) now = dt_util.utcnow() - with mock.patch("homeassistant.helpers.event.dt_util.utcnow", return_value=now): - assert await async_setup_component(hass, MODBUS_DOMAIN, config) is True - await hass.async_block_till_done() await hass.services.async_call( "switch", "turn_on", service_data={"entity_id": ENTITY_ID} )