From c61efe931a6827df0f6e40f0920df8c01b67e9b7 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Mon, 22 Jul 2024 21:37:58 +0200 Subject: [PATCH] Deduplicate more fixture data related to deCONZ websocket sensor (#122412) --- tests/components/deconz/conftest.py | 13 +++ .../deconz/test_alarm_control_panel.py | 50 ++------- tests/components/deconz/test_binary_sensor.py | 28 ++--- tests/components/deconz/test_climate.py | 103 ++++-------------- tests/components/deconz/test_deconz_event.py | 98 ++++------------- .../components/deconz/test_device_trigger.py | 8 +- tests/components/deconz/test_lock.py | 8 +- tests/components/deconz/test_number.py | 5 +- tests/components/deconz/test_sensor.py | 29 ++--- 9 files changed, 86 insertions(+), 256 deletions(-) diff --git a/tests/components/deconz/conftest.py b/tests/components/deconz/conftest.py index b0d64e3231f..5ff8aba6f60 100644 --- a/tests/components/deconz/conftest.py +++ b/tests/components/deconz/conftest.py @@ -269,6 +269,19 @@ def fixture_websocket_data(_mock_websocket: _WebsocketMock) -> WebsocketDataType return change_websocket_data +@pytest.fixture(name="sensor_ws_data") +def fixture_sensor_websocket_data( + mock_websocket_data: WebsocketDataType, +) -> WebsocketDataType: + """Fixture to send sensor data over websocket.""" + + async def send_sensor_data(data: dict[str, Any]) -> None: + """Send sensor data on the websocket.""" + await mock_websocket_data({"r": "sensors"} | data) + + return send_sensor_data + + @pytest.fixture(name="mock_websocket_state") def fixture_websocket_state(_mock_websocket: _WebsocketMock) -> WebsocketStateType: """Fixture to set websocket state.""" diff --git a/tests/components/deconz/test_alarm_control_panel.py b/tests/components/deconz/test_alarm_control_panel.py index 7dd7dc49603..76b35fd06da 100644 --- a/tests/components/deconz/test_alarm_control_panel.py +++ b/tests/components/deconz/test_alarm_control_panel.py @@ -102,7 +102,7 @@ async def test_alarm_control_panel( aioclient_mock: AiohttpClientMocker, config_entry_setup: ConfigEntry, mock_put_request: Callable[[str, str], AiohttpClientMocker], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of alarm control panel entities.""" assert len(hass.states.async_all()) == 4 @@ -110,22 +110,14 @@ async def test_alarm_control_panel( # Event signals alarm control panel armed away - event_changed_sensor = { - "r": "sensors", - "state": {"panel": AncillaryControlPanel.ARMED_AWAY}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": AncillaryControlPanel.ARMED_AWAY}}) await hass.async_block_till_done() assert hass.states.get("alarm_control_panel.keypad").state == STATE_ALARM_ARMED_AWAY # Event signals alarm control panel armed night - event_changed_sensor = { - "r": "sensors", - "state": {"panel": AncillaryControlPanel.ARMED_NIGHT}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": AncillaryControlPanel.ARMED_NIGHT}}) await hass.async_block_till_done() assert ( @@ -134,22 +126,14 @@ async def test_alarm_control_panel( # Event signals alarm control panel armed home - event_changed_sensor = { - "r": "sensors", - "state": {"panel": AncillaryControlPanel.ARMED_STAY}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": AncillaryControlPanel.ARMED_STAY}}) await hass.async_block_till_done() assert hass.states.get("alarm_control_panel.keypad").state == STATE_ALARM_ARMED_HOME # Event signals alarm control panel disarmed - event_changed_sensor = { - "r": "sensors", - "state": {"panel": AncillaryControlPanel.DISARMED}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": AncillaryControlPanel.DISARMED}}) await hass.async_block_till_done() assert hass.states.get("alarm_control_panel.keypad").state == STATE_ALARM_DISARMED @@ -161,11 +145,7 @@ async def test_alarm_control_panel( AncillaryControlPanel.ARMING_NIGHT, AncillaryControlPanel.ARMING_STAY, ): - event_changed_sensor = { - "r": "sensors", - "state": {"panel": arming_event}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": arming_event}}) await hass.async_block_till_done() assert hass.states.get("alarm_control_panel.keypad").state == STATE_ALARM_ARMING @@ -176,11 +156,7 @@ async def test_alarm_control_panel( AncillaryControlPanel.ENTRY_DELAY, AncillaryControlPanel.EXIT_DELAY, ): - event_changed_sensor = { - "r": "sensors", - "state": {"panel": pending_event}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": pending_event}}) await hass.async_block_till_done() assert ( @@ -189,22 +165,14 @@ async def test_alarm_control_panel( # Event signals alarm control panel triggered - event_changed_sensor = { - "r": "sensors", - "state": {"panel": AncillaryControlPanel.IN_ALARM}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": AncillaryControlPanel.IN_ALARM}}) await hass.async_block_till_done() assert hass.states.get("alarm_control_panel.keypad").state == STATE_ALARM_TRIGGERED # Event signals alarm control panel unknown state keeps previous state - event_changed_sensor = { - "r": "sensors", - "state": {"panel": AncillaryControlPanel.NOT_READY}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": AncillaryControlPanel.NOT_READY}}) await hass.async_block_till_done() assert hass.states.get("alarm_control_panel.keypad").state == STATE_ALARM_TRIGGERED diff --git a/tests/components/deconz/test_binary_sensor.py b/tests/components/deconz/test_binary_sensor.py index 4d6c89ccc4d..a40a1175f5b 100644 --- a/tests/components/deconz/test_binary_sensor.py +++ b/tests/components/deconz/test_binary_sensor.py @@ -460,7 +460,7 @@ async def test_binary_sensors( device_registry: dr.DeviceRegistry, entity_registry: er.EntityRegistry, config_entry_setup: ConfigEntry, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, expected: dict[str, Any], ) -> None: """Test successful creation of binary sensor entities.""" @@ -492,8 +492,7 @@ async def test_binary_sensors( # Change state - event_changed_sensor = {"r": "sensors", "state": expected["websocket_event"]} - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": expected["websocket_event"]}) await hass.async_block_till_done() assert hass.states.get(expected["entity_id"]).state == expected["next_state"] @@ -595,14 +594,13 @@ async def test_allow_clip_sensor(hass: HomeAssistant, config_entry_setup) -> Non @pytest.mark.usefixtures("config_entry_setup") async def test_add_new_binary_sensor( hass: HomeAssistant, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that adding a new binary sensor works.""" assert len(hass.states.async_all()) == 0 event_added_sensor = { "e": "added", - "r": "sensors", "sensor": { "id": "Presence sensor id", "name": "Presence sensor", @@ -612,7 +610,7 @@ async def test_add_new_binary_sensor( "uniqueid": "00:00:00:00:00:00:00:00-00", }, } - await mock_websocket_data(event_added_sensor) + await sensor_ws_data(event_added_sensor) await hass.async_block_till_done() assert len(hass.states.async_all()) == 1 @@ -628,7 +626,7 @@ async def test_add_new_binary_sensor_ignored_load_entities_on_service_call( config_entry_setup: ConfigEntry, deconz_payload: dict[str, Any], mock_requests: Callable[[str], None], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that adding a new binary sensor is not allowed.""" sensor = { @@ -638,15 +636,10 @@ async def test_add_new_binary_sensor_ignored_load_entities_on_service_call( "config": {"on": True, "reachable": True}, "uniqueid": "00:00:00:00:00:00:00:00-00", } - event_added_sensor = { - "e": "added", - "r": "sensors", - "sensor": sensor, - } assert len(hass.states.async_all()) == 0 - await mock_websocket_data(event_added_sensor) + await sensor_ws_data({"e": "added", "sensor": sensor}) await hass.async_block_till_done() assert len(hass.states.async_all()) == 0 @@ -680,7 +673,7 @@ async def test_add_new_binary_sensor_ignored_load_entities_on_options_change( config_entry_setup: ConfigEntry, deconz_payload: dict[str, Any], mock_requests: Callable[[str], None], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that adding a new binary sensor is not allowed.""" sensor = { @@ -690,15 +683,10 @@ async def test_add_new_binary_sensor_ignored_load_entities_on_options_change( "config": {"on": True, "reachable": True}, "uniqueid": "00:00:00:00:00:00:00:00-00", } - event_added_sensor = { - "e": "added", - "r": "sensors", - "sensor": sensor, - } assert len(hass.states.async_all()) == 0 - await mock_websocket_data(event_added_sensor) + await sensor_ws_data({"e": "added", "sensor": sensor}) await hass.async_block_till_done() assert len(hass.states.async_all()) == 0 diff --git a/tests/components/deconz/test_climate.py b/tests/components/deconz/test_climate.py index 94b4a30b8d2..14d21b0a281 100644 --- a/tests/components/deconz/test_climate.py +++ b/tests/components/deconz/test_climate.py @@ -89,7 +89,7 @@ from tests.test_util.aiohttp import AiohttpClientMocker async def test_simple_climate_device( hass: HomeAssistant, mock_put_request: Callable[[str, str], AiohttpClientMocker], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of climate entities. @@ -110,11 +110,7 @@ async def test_simple_climate_device( # Event signals thermostat configured off - event_changed_sensor = { - "r": "sensors", - "state": {"on": False}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"on": False}}) await hass.async_block_till_done() assert hass.states.get("climate.thermostat").state == STATE_OFF @@ -125,11 +121,7 @@ async def test_simple_climate_device( # Event signals thermostat state on - event_changed_sensor = { - "r": "sensors", - "state": {"on": True}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"on": True}}) await hass.async_block_till_done() assert hass.states.get("climate.thermostat").state == HVACMode.HEAT @@ -195,7 +187,7 @@ async def test_climate_device_without_cooling_support( hass: HomeAssistant, config_entry_setup: ConfigEntry, mock_put_request: Callable[[str, str], AiohttpClientMocker], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of sensor entities.""" assert len(hass.states.async_all()) == 2 @@ -219,11 +211,7 @@ async def test_climate_device_without_cooling_support( # Event signals thermostat configured off - event_changed_sensor = { - "r": "sensors", - "config": {"mode": "off"}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"mode": "off"}}) await hass.async_block_till_done() assert hass.states.get("climate.thermostat").state == STATE_OFF @@ -234,12 +222,7 @@ async def test_climate_device_without_cooling_support( # Event signals thermostat state on - event_changed_sensor = { - "r": "sensors", - "config": {"mode": "other"}, - "state": {"on": True}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"mode": "other"}, "state": {"on": True}}) await hass.async_block_till_done() assert hass.states.get("climate.thermostat").state == HVACMode.HEAT @@ -250,11 +233,7 @@ async def test_climate_device_without_cooling_support( # Event signals thermostat state off - event_changed_sensor = { - "r": "sensors", - "state": {"on": False}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"on": False}}) await hass.async_block_till_done() assert hass.states.get("climate.thermostat").state == STATE_OFF @@ -377,7 +356,7 @@ async def test_climate_device_without_cooling_support( async def test_climate_device_with_cooling_support( hass: HomeAssistant, mock_put_request: Callable[[str, str], AiohttpClientMocker], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of sensor entities.""" assert len(hass.states.async_all()) == 2 @@ -398,11 +377,7 @@ async def test_climate_device_with_cooling_support( # Event signals thermostat mode cool - event_changed_sensor = { - "r": "sensors", - "config": {"mode": "cool"}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"mode": "cool"}}) await hass.async_block_till_done() await hass.async_block_till_done() @@ -414,11 +389,7 @@ async def test_climate_device_with_cooling_support( # Event signals thermostat state on - event_changed_sensor = { - "r": "sensors", - "state": {"on": True}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"on": True}}) await hass.async_block_till_done() assert hass.states.get("climate.zen_01").state == HVACMode.COOL @@ -476,7 +447,7 @@ async def test_climate_device_with_cooling_support( async def test_climate_device_with_fan_support( hass: HomeAssistant, mock_put_request: Callable[[str, str], AiohttpClientMocker], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of sensor entities.""" assert len(hass.states.async_all()) == 2 @@ -498,11 +469,7 @@ async def test_climate_device_with_fan_support( # Event signals fan mode defaults to off - event_changed_sensor = { - "r": "sensors", - "config": {"fanmode": "unsupported"}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"fanmode": "unsupported"}}) await hass.async_block_till_done() assert hass.states.get("climate.zen_01").attributes["fan_mode"] == FAN_OFF @@ -512,12 +479,7 @@ async def test_climate_device_with_fan_support( # Event signals unsupported fan mode - event_changed_sensor = { - "r": "sensors", - "config": {"fanmode": "unsupported"}, - "state": {"on": True}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"fanmode": "unsupported"}, "state": {"on": True}}) await hass.async_block_till_done() assert hass.states.get("climate.zen_01").attributes["fan_mode"] == FAN_ON @@ -528,11 +490,7 @@ async def test_climate_device_with_fan_support( # Event signals unsupported fan mode - event_changed_sensor = { - "r": "sensors", - "config": {"fanmode": "unsupported"}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"fanmode": "unsupported"}}) await hass.async_block_till_done() assert hass.states.get("climate.zen_01").attributes["fan_mode"] == FAN_ON @@ -611,7 +569,7 @@ async def test_climate_device_with_fan_support( async def test_climate_device_with_preset( hass: HomeAssistant, mock_put_request: Callable[[str, str], AiohttpClientMocker], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of sensor entities.""" assert len(hass.states.async_all()) == 2 @@ -636,11 +594,7 @@ async def test_climate_device_with_preset( # Event signals deCONZ preset - event_changed_sensor = { - "r": "sensors", - "config": {"preset": "manual"}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"preset": "manual"}}) await hass.async_block_till_done() assert ( @@ -650,11 +604,7 @@ async def test_climate_device_with_preset( # Event signals unknown preset - event_changed_sensor = { - "r": "sensors", - "config": {"preset": "unsupported"}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"preset": "unsupported"}}) await hass.async_block_till_done() assert hass.states.get("climate.zen_01").attributes["preset_mode"] is None @@ -779,7 +729,7 @@ async def test_clip_climate_device( @pytest.mark.usefixtures("config_entry_setup") async def test_verify_state_update( hass: HomeAssistant, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that state update properly.""" assert hass.states.get("climate.thermostat").state == HVACMode.AUTO @@ -788,8 +738,7 @@ async def test_verify_state_update( == HVACAction.HEATING ) - event_changed_sensor = {"r": "sensors", "state": {"on": False}} - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"on": False}}) await hass.async_block_till_done() assert hass.states.get("climate.thermostat").state == HVACMode.AUTO @@ -802,12 +751,11 @@ async def test_verify_state_update( @pytest.mark.usefixtures("config_entry_setup") async def test_add_new_climate_device( hass: HomeAssistant, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that adding a new climate device works.""" event_added_sensor = { "e": "added", - "r": "sensors", "sensor": { "id": "Thermostat id", "name": "Thermostat", @@ -826,7 +774,7 @@ async def test_add_new_climate_device( assert len(hass.states.async_all()) == 0 - await mock_websocket_data(event_added_sensor) + await sensor_ws_data(event_added_sensor) await hass.async_block_till_done() assert len(hass.states.async_all()) == 2 @@ -934,7 +882,7 @@ async def test_no_mode_no_state(hass: HomeAssistant) -> None: @pytest.mark.usefixtures("config_entry_setup") async def test_boost_mode( hass: HomeAssistant, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that a climate device with boost mode and different state works.""" @@ -948,13 +896,8 @@ async def test_boost_mode( assert climate_thermostat.attributes["hvac_action"] is HVACAction.IDLE # Event signals thermostat preset boost and valve 100 (real data) - event_changed_sensor = { - "r": "sensors", - "config": {"preset": "boost"}, - "state": {"valve": 100}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"config": {"preset": "boost"}, "state": {"valve": 100}}) await hass.async_block_till_done() climate_thermostat = hass.states.get("climate.thermostat") diff --git a/tests/components/deconz/test_deconz_event.py b/tests/components/deconz/test_deconz_event.py index adbea618efb..5867e0e3dec 100644 --- a/tests/components/deconz/test_deconz_event.py +++ b/tests/components/deconz/test_deconz_event.py @@ -79,7 +79,7 @@ async def test_deconz_events( hass: HomeAssistant, device_registry: dr.DeviceRegistry, config_entry_setup: ConfigEntry, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of deconz events.""" assert len(hass.states.async_all()) == 3 @@ -98,12 +98,7 @@ async def test_deconz_events( captured_events = async_capture_events(hass, CONF_DECONZ_EVENT) - event_changed_sensor = { - "r": "sensors", - "id": "1", - "state": {"buttonevent": 2000}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"id": "1", "state": {"buttonevent": 2000}}) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -118,12 +113,7 @@ async def test_deconz_events( "device_id": device.id, } - event_changed_sensor = { - "r": "sensors", - "id": "3", - "state": {"buttonevent": 2000}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"id": "3", "state": {"buttonevent": 2000}}) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -139,12 +129,7 @@ async def test_deconz_events( "device_id": device.id, } - event_changed_sensor = { - "r": "sensors", - "id": "4", - "state": {"gesture": 0}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"id": "4", "state": {"gesture": 0}}) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -161,11 +146,10 @@ async def test_deconz_events( } event_changed_sensor = { - "r": "sensors", "id": "5", "state": {"buttonevent": 6002, "angle": 110, "xy": [0.5982, 0.3897]}, } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data(event_changed_sensor) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -184,12 +168,7 @@ async def test_deconz_events( # Unsupported event - event_changed_sensor = { - "r": "sensors", - "id": "1", - "name": "other name", - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"id": "1", "name": "other name"}) await hass.async_block_till_done() assert len(captured_events) == 4 @@ -274,7 +253,7 @@ async def test_deconz_alarm_events( hass: HomeAssistant, device_registry: dr.DeviceRegistry, config_entry_setup: ConfigEntry, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of deconz alarm events.""" assert len(hass.states.async_all()) == 4 @@ -292,11 +271,7 @@ async def test_deconz_alarm_events( # Emergency event - event_changed_sensor = { - "r": "sensors", - "state": {"action": AncillaryControlAction.EMERGENCY}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"action": AncillaryControlAction.EMERGENCY}}) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -313,11 +288,7 @@ async def test_deconz_alarm_events( # Fire event - event_changed_sensor = { - "r": "sensors", - "state": {"action": AncillaryControlAction.FIRE}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"action": AncillaryControlAction.FIRE}}) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -334,11 +305,7 @@ async def test_deconz_alarm_events( # Invalid code event - event_changed_sensor = { - "r": "sensors", - "state": {"action": AncillaryControlAction.INVALID_CODE}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"action": AncillaryControlAction.INVALID_CODE}}) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -355,11 +322,7 @@ async def test_deconz_alarm_events( # Panic event - event_changed_sensor = { - "r": "sensors", - "state": {"action": AncillaryControlAction.PANIC}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"action": AncillaryControlAction.PANIC}}) await hass.async_block_till_done() device = device_registry.async_get_device( @@ -376,22 +339,14 @@ async def test_deconz_alarm_events( # Only care for changes to specific action events - event_changed_sensor = { - "r": "sensors", - "state": {"action": AncillaryControlAction.ARMED_AWAY}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"action": AncillaryControlAction.ARMED_AWAY}}) await hass.async_block_till_done() assert len(captured_events) == 4 # Only care for action events - event_changed_sensor = { - "r": "sensors", - "state": {"panel": AncillaryControlPanel.ARMED_AWAY}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"panel": AncillaryControlPanel.ARMED_AWAY}}) await hass.async_block_till_done() assert len(captured_events) == 4 @@ -440,7 +395,7 @@ async def test_deconz_presence_events( hass: HomeAssistant, device_registry: dr.DeviceRegistry, config_entry_setup: ConfigEntry, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of deconz presence events.""" assert len(hass.states.async_all()) == 5 @@ -469,11 +424,7 @@ async def test_deconz_presence_events( PresenceStatePresenceEvent.LEFT_LEAVE, PresenceStatePresenceEvent.RIGHT_LEAVE, ): - event_changed_sensor = { - "r": "sensors", - "state": {"presenceevent": presence_event}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"presenceevent": presence_event}}) await hass.async_block_till_done() assert len(captured_events) == 1 @@ -487,11 +438,7 @@ async def test_deconz_presence_events( # Unsupported presence event - event_changed_sensor = { - "r": "sensors", - "state": {"presenceevent": PresenceStatePresenceEvent.NINE}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"presenceevent": PresenceStatePresenceEvent.NINE}}) await hass.async_block_till_done() assert len(captured_events) == 0 @@ -539,7 +486,7 @@ async def test_deconz_relative_rotary_events( hass: HomeAssistant, device_registry: dr.DeviceRegistry, config_entry_setup: ConfigEntry, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test successful creation of deconz relative rotary events.""" assert len(hass.states.async_all()) == 1 @@ -560,14 +507,13 @@ async def test_deconz_relative_rotary_events( for rotary_event, duration, rotation in ((1, 100, 50), (2, 200, -50)): event_changed_sensor = { - "r": "sensors", "state": { "rotaryevent": rotary_event, "expectedeventduration": duration, "expectedrotation": rotation, - }, + } } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data(event_changed_sensor) await hass.async_block_till_done() assert len(captured_events) == 1 @@ -583,11 +529,7 @@ async def test_deconz_relative_rotary_events( # Unsupported relative rotary event - event_changed_sensor = { - "r": "sensors", - "name": "123", - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"name": "123"}) await hass.async_block_till_done() assert len(captured_events) == 0 diff --git a/tests/components/deconz/test_device_trigger.py b/tests/components/deconz/test_device_trigger.py index 1d3196ba8e9..9e22c91794f 100644 --- a/tests/components/deconz/test_device_trigger.py +++ b/tests/components/deconz/test_device_trigger.py @@ -312,7 +312,7 @@ async def test_functional_device_trigger( hass: HomeAssistant, device_registry: dr.DeviceRegistry, service_calls: list[ServiceCall], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test proper matching and attachment of device trigger automation.""" device = device_registry.async_get_device( @@ -343,11 +343,7 @@ async def test_functional_device_trigger( assert len(hass.states.async_entity_ids(AUTOMATION_DOMAIN)) == 1 - event_changed_sensor = { - "r": "sensors", - "state": {"buttonevent": 1002}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"buttonevent": 1002}}) await hass.async_block_till_done() assert len(service_calls) == 1 diff --git a/tests/components/deconz/test_lock.py b/tests/components/deconz/test_lock.py index 923e8d768c8..28cd57633cc 100644 --- a/tests/components/deconz/test_lock.py +++ b/tests/components/deconz/test_lock.py @@ -122,17 +122,13 @@ async def test_lock_from_sensor( hass: HomeAssistant, config_entry_setup: ConfigEntry, mock_put_request: Callable[[str, str], AiohttpClientMocker], - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that all supported lock entities based on sensors are created.""" assert len(hass.states.async_all()) == 2 assert hass.states.get("lock.door_lock").state == STATE_UNLOCKED - event_changed_sensor = { - "r": "sensors", - "state": {"lockstate": "locked"}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"state": {"lockstate": "locked"}}) await hass.async_block_till_done() assert hass.states.get("lock.door_lock").state == STATE_LOCKED diff --git a/tests/components/deconz/test_number.py b/tests/components/deconz/test_number.py index f027e6b5a9f..330d8d80e47 100644 --- a/tests/components/deconz/test_number.py +++ b/tests/components/deconz/test_number.py @@ -102,7 +102,7 @@ async def test_number_entities( device_registry: dr.DeviceRegistry, entity_registry: er.EntityRegistry, config_entry_setup: ConfigEntry, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, mock_put_request: Callable[[str, str], AiohttpClientMocker], expected: dict[str, Any], ) -> None: @@ -134,8 +134,7 @@ async def test_number_entities( # Change state - event_changed_sensor = {"r": "sensors"} | expected["websocket_event"] - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data(expected["websocket_event"]) await hass.async_block_till_done() assert hass.states.get(expected["entity_id"]).state == expected["next_state"] diff --git a/tests/components/deconz/test_sensor.py b/tests/components/deconz/test_sensor.py index c29ed09c4c0..ce5e0fb69e3 100644 --- a/tests/components/deconz/test_sensor.py +++ b/tests/components/deconz/test_sensor.py @@ -906,7 +906,7 @@ async def test_sensors( device_registry: dr.DeviceRegistry, entity_registry: er.EntityRegistry, config_entry_setup: ConfigEntry, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, expected: dict[str, Any], ) -> None: """Test successful creation of sensor entities.""" @@ -952,9 +952,7 @@ async def test_sensors( # Change state - event_changed_sensor = {"r": "sensors"} - event_changed_sensor |= expected["websocket_event"] - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data(expected["websocket_event"]) await hass.async_block_till_done() assert hass.states.get(expected["entity_id"]).state == expected["next_state"] @@ -1057,12 +1055,11 @@ async def test_allow_clip_sensors( @pytest.mark.usefixtures("config_entry_setup") async def test_add_new_sensor( hass: HomeAssistant, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that adding a new sensor works.""" event_added_sensor = { "e": "added", - "r": "sensors", "sensor": { "id": "Light sensor id", "name": "Light level sensor", @@ -1075,7 +1072,7 @@ async def test_add_new_sensor( assert len(hass.states.async_all()) == 0 - await mock_websocket_data(event_added_sensor) + await sensor_ws_data(event_added_sensor) await hass.async_block_till_done() assert len(hass.states.async_all()) == 2 @@ -1165,7 +1162,7 @@ async def test_air_quality_sensor_without_ppb(hass: HomeAssistant) -> None: @pytest.mark.usefixtures("config_entry_setup") async def test_add_battery_later( hass: HomeAssistant, - mock_websocket_data: WebsocketDataType, + sensor_ws_data: WebsocketDataType, ) -> None: """Test that a battery sensor can be created later on. @@ -1174,24 +1171,12 @@ async def test_add_battery_later( """ assert len(hass.states.async_all()) == 0 - event_changed_sensor = { - "e": "changed", - "r": "sensors", - "id": "2", - "config": {"battery": 50}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"id": "2", "config": {"battery": 50}}) await hass.async_block_till_done() assert len(hass.states.async_all()) == 0 - event_changed_sensor = { - "e": "changed", - "r": "sensors", - "id": "1", - "config": {"battery": 50}, - } - await mock_websocket_data(event_changed_sensor) + await sensor_ws_data({"id": "1", "config": {"battery": 50}}) await hass.async_block_till_done() assert len(hass.states.async_all()) == 1