From cce77affc72301d05fa52f80643cfccd8f798545 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Sat, 6 Jul 2024 10:52:50 +0200 Subject: [PATCH] Provide default values for common keys in deCONZ websocket fixture (#121359) --- tests/components/deconz/conftest.py | 6 +++ .../deconz/test_alarm_control_panel.py | 24 ------------ tests/components/deconz/test_binary_sensor.py | 5 --- tests/components/deconz/test_climate.py | 39 ------------------- tests/components/deconz/test_cover.py | 2 - tests/components/deconz/test_deconz_event.py | 30 -------------- .../components/deconz/test_device_trigger.py | 2 - tests/components/deconz/test_fan.py | 12 ------ tests/components/deconz/test_light.py | 9 ----- tests/components/deconz/test_lock.py | 4 -- tests/components/deconz/test_number.py | 7 +--- tests/components/deconz/test_scene.py | 2 - tests/components/deconz/test_sensor.py | 5 +-- tests/components/deconz/test_siren.py | 2 - tests/components/deconz/test_switch.py | 2 - 15 files changed, 8 insertions(+), 143 deletions(-) diff --git a/tests/components/deconz/conftest.py b/tests/components/deconz/conftest.py index 80dbb09b643..d17ee0df6b4 100644 --- a/tests/components/deconz/conftest.py +++ b/tests/components/deconz/conftest.py @@ -249,6 +249,12 @@ def fixture_websocket_data(_mock_websocket: _WebsocketMock) -> WebsocketDataType async def change_websocket_data(data: dict[str, Any]) -> None: """Provide new data on the websocket.""" + if "t" not in data: + data["t"] = "event" + if "e" not in data: + data["e"] = "changed" + if "id" not in data: + data["id"] = "0" await _mock_websocket(data=data) return change_websocket_data diff --git a/tests/components/deconz/test_alarm_control_panel.py b/tests/components/deconz/test_alarm_control_panel.py index 15c4d26f4c5..7836a3ee3b4 100644 --- a/tests/components/deconz/test_alarm_control_panel.py +++ b/tests/components/deconz/test_alarm_control_panel.py @@ -113,10 +113,7 @@ async def test_alarm_control_panel( # Event signals alarm control panel armed away event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": AncillaryControlPanel.ARMED_AWAY}, } await mock_websocket_data(event_changed_sensor) @@ -127,10 +124,7 @@ async def test_alarm_control_panel( # Event signals alarm control panel armed night event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": AncillaryControlPanel.ARMED_NIGHT}, } await mock_websocket_data(event_changed_sensor) @@ -143,10 +137,7 @@ async def test_alarm_control_panel( # Event signals alarm control panel armed home event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": AncillaryControlPanel.ARMED_STAY}, } await mock_websocket_data(event_changed_sensor) @@ -157,10 +148,7 @@ async def test_alarm_control_panel( # Event signals alarm control panel disarmed event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": AncillaryControlPanel.DISARMED}, } await mock_websocket_data(event_changed_sensor) @@ -176,10 +164,7 @@ async def test_alarm_control_panel( AncillaryControlPanel.ARMING_STAY, ): event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": arming_event}, } await mock_websocket_data(event_changed_sensor) @@ -194,10 +179,7 @@ async def test_alarm_control_panel( AncillaryControlPanel.EXIT_DELAY, ): event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": pending_event}, } await mock_websocket_data(event_changed_sensor) @@ -210,10 +192,7 @@ async def test_alarm_control_panel( # Event signals alarm control panel triggered event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": AncillaryControlPanel.IN_ALARM}, } await mock_websocket_data(event_changed_sensor) @@ -224,10 +203,7 @@ async def test_alarm_control_panel( # Event signals alarm control panel unknown state keeps previous state event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"panel": AncillaryControlPanel.NOT_READY}, } await mock_websocket_data(event_changed_sensor) diff --git a/tests/components/deconz/test_binary_sensor.py b/tests/components/deconz/test_binary_sensor.py index 58c357628a0..79939288ace 100644 --- a/tests/components/deconz/test_binary_sensor.py +++ b/tests/components/deconz/test_binary_sensor.py @@ -493,8 +493,6 @@ async def test_binary_sensors( # Change state event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": expected["websocket_event"], @@ -607,7 +605,6 @@ async def test_add_new_binary_sensor( assert len(hass.states.async_all()) == 0 event_added_sensor = { - "t": "event", "e": "added", "r": "sensors", "id": "1", @@ -647,7 +644,6 @@ async def test_add_new_binary_sensor_ignored_load_entities_on_service_call( "uniqueid": "00:00:00:00:00:00:00:00-00", } event_added_sensor = { - "t": "event", "e": "added", "r": "sensors", "id": "1", @@ -701,7 +697,6 @@ async def test_add_new_binary_sensor_ignored_load_entities_on_options_change( "uniqueid": "00:00:00:00:00:00:00:00-00", } event_added_sensor = { - "t": "event", "e": "added", "r": "sensors", "id": "1", diff --git a/tests/components/deconz/test_climate.py b/tests/components/deconz/test_climate.py index de24469257e..37e06148201 100644 --- a/tests/components/deconz/test_climate.py +++ b/tests/components/deconz/test_climate.py @@ -113,10 +113,7 @@ async def test_simple_climate_device( # Event signals thermostat configured off event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"on": False}, } await mock_websocket_data(event_changed_sensor) @@ -131,10 +128,7 @@ async def test_simple_climate_device( # Event signals thermostat state on event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"on": True}, } await mock_websocket_data(event_changed_sensor) @@ -230,8 +224,6 @@ async def test_climate_device_without_cooling_support( # Event signals thermostat configured off event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "config": {"mode": "off"}, @@ -248,8 +240,6 @@ async def test_climate_device_without_cooling_support( # Event signals thermostat state on event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "config": {"mode": "other"}, @@ -267,8 +257,6 @@ async def test_climate_device_without_cooling_support( # Event signals thermostat state off event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"on": False}, @@ -420,10 +408,7 @@ async def test_climate_device_with_cooling_support( # Event signals thermostat mode cool event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "config": {"mode": "cool"}, } await mock_websocket_data(event_changed_sensor) @@ -439,10 +424,7 @@ async def test_climate_device_with_cooling_support( # Event signals thermostat state on event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "state": {"on": True}, } await mock_websocket_data(event_changed_sensor) @@ -528,10 +510,7 @@ async def test_climate_device_with_fan_support( # Event signals fan mode defaults to off event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "config": {"fanmode": "unsupported"}, } await mock_websocket_data(event_changed_sensor) @@ -545,10 +524,7 @@ async def test_climate_device_with_fan_support( # Event signals unsupported fan mode event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "config": {"fanmode": "unsupported"}, "state": {"on": True}, } @@ -564,10 +540,7 @@ async def test_climate_device_with_fan_support( # Event signals unsupported fan mode event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "config": {"fanmode": "unsupported"}, } await mock_websocket_data(event_changed_sensor) @@ -677,10 +650,7 @@ async def test_climate_device_with_preset( # Event signals deCONZ preset event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "config": {"preset": "manual"}, } await mock_websocket_data(event_changed_sensor) @@ -694,10 +664,7 @@ async def test_climate_device_with_preset( # Event signals unknown preset event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "config": {"preset": "unsupported"}, } await mock_websocket_data(event_changed_sensor) @@ -837,8 +804,6 @@ async def test_verify_state_update( ) event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"on": False}, @@ -860,7 +825,6 @@ async def test_add_new_climate_device( ) -> None: """Test that adding a new climate device works.""" event_added_sensor = { - "t": "event", "e": "added", "r": "sensors", "id": "1", @@ -1011,10 +975,7 @@ async def test_boost_mode( # Event signals thermostat preset boost and valve 100 (real data) event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", - "id": "0", "config": {"preset": "boost"}, "state": {"valve": 100}, } diff --git a/tests/components/deconz/test_cover.py b/tests/components/deconz/test_cover.py index 991a3318cc4..abf358244c1 100644 --- a/tests/components/deconz/test_cover.py +++ b/tests/components/deconz/test_cover.py @@ -69,8 +69,6 @@ async def test_cover( # Event signals cover is open event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"lift": 0, "open": True}, diff --git a/tests/components/deconz/test_deconz_event.py b/tests/components/deconz/test_deconz_event.py index ce83b8fa742..0e998776174 100644 --- a/tests/components/deconz/test_deconz_event.py +++ b/tests/components/deconz/test_deconz_event.py @@ -99,8 +99,6 @@ async def test_deconz_events( captured_events = async_capture_events(hass, CONF_DECONZ_EVENT) event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"buttonevent": 2000}, @@ -121,8 +119,6 @@ async def test_deconz_events( } event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "3", "state": {"buttonevent": 2000}, @@ -144,8 +140,6 @@ async def test_deconz_events( } event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "4", "state": {"gesture": 0}, @@ -167,8 +161,6 @@ async def test_deconz_events( } event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "5", "state": {"buttonevent": 6002, "angle": 110, "xy": [0.5982, 0.3897]}, @@ -193,8 +185,6 @@ async def test_deconz_events( # Unsupported event event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "name": "other name", @@ -305,8 +295,6 @@ async def test_deconz_alarm_events( # Emergency event event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"action": AncillaryControlAction.EMERGENCY}, @@ -329,8 +317,6 @@ async def test_deconz_alarm_events( # Fire event event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"action": AncillaryControlAction.FIRE}, @@ -353,8 +339,6 @@ async def test_deconz_alarm_events( # Invalid code event event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"action": AncillaryControlAction.INVALID_CODE}, @@ -377,8 +361,6 @@ async def test_deconz_alarm_events( # Panic event event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"action": AncillaryControlAction.PANIC}, @@ -401,8 +383,6 @@ async def test_deconz_alarm_events( # Only care for changes to specific action events event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"action": AncillaryControlAction.ARMED_AWAY}, @@ -415,8 +395,6 @@ async def test_deconz_alarm_events( # Only care for action events event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"panel": AncillaryControlPanel.ARMED_AWAY}, @@ -502,8 +480,6 @@ async def test_deconz_presence_events( PresenceStatePresenceEvent.RIGHT_LEAVE, ): event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"presenceevent": presence_event}, @@ -523,8 +499,6 @@ async def test_deconz_presence_events( # Unsupported presence event event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"presenceevent": PresenceStatePresenceEvent.NINE}, @@ -600,8 +574,6 @@ async def test_deconz_relative_rotary_events( for rotary_event, duration, rotation in ((1, 100, 50), (2, 200, -50)): event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": { @@ -627,8 +599,6 @@ async def test_deconz_relative_rotary_events( # Unsupported relative rotary event event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "name": "123", diff --git a/tests/components/deconz/test_device_trigger.py b/tests/components/deconz/test_device_trigger.py index 7734fad7c7b..97197589442 100644 --- a/tests/components/deconz/test_device_trigger.py +++ b/tests/components/deconz/test_device_trigger.py @@ -352,8 +352,6 @@ async def test_functional_device_trigger( assert len(hass.states.async_entity_ids(AUTOMATION_DOMAIN)) == 1 event_changed_sensor = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"buttonevent": 1002}, diff --git a/tests/components/deconz/test_fan.py b/tests/components/deconz/test_fan.py index fa0191b7f65..3460ced84b2 100644 --- a/tests/components/deconz/test_fan.py +++ b/tests/components/deconz/test_fan.py @@ -59,8 +59,6 @@ async def test_fans( # Test states event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"speed": 1}, @@ -72,8 +70,6 @@ async def test_fans( assert hass.states.get("fan.ceiling_fan").attributes[ATTR_PERCENTAGE] == 25 event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"speed": 2}, @@ -85,8 +81,6 @@ async def test_fans( assert hass.states.get("fan.ceiling_fan").attributes[ATTR_PERCENTAGE] == 50 event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"speed": 3}, @@ -98,8 +92,6 @@ async def test_fans( assert hass.states.get("fan.ceiling_fan").attributes[ATTR_PERCENTAGE] == 75 event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"speed": 4}, @@ -111,8 +103,6 @@ async def test_fans( assert hass.states.get("fan.ceiling_fan").attributes[ATTR_PERCENTAGE] == 100 event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"speed": 0}, @@ -210,8 +200,6 @@ async def test_fans( # Events with an unsupported speed does not get converted event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"speed": 5}, diff --git a/tests/components/deconz/test_light.py b/tests/components/deconz/test_light.py index dc3ffb6035e..340b0abd940 100644 --- a/tests/components/deconz/test_light.py +++ b/tests/components/deconz/test_light.py @@ -479,10 +479,7 @@ async def test_light_state_change( assert hass.states.get("light.hue_go").state == STATE_ON event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", - "id": "0", "state": {"on": False}, } await mock_websocket_data(event_changed_light) @@ -1321,7 +1318,6 @@ async def test_non_color_light_reports_color( # Updating a scene will return a faulty color value # for a non-color light causing an exception in hs_color event_changed_light = { - "e": "changed", "id": "1", "r": "lights", "state": { @@ -1332,7 +1328,6 @@ async def test_non_color_light_reports_color( "on": True, "reachable": True, }, - "t": "event", "uniqueid": "ec:1b:bd:ff:fe:ee:ed:dd-01", } await mock_websocket_data(event_changed_light) @@ -1524,7 +1519,6 @@ async def test_verify_group_color_mode_fallback( await mock_websocket_data( { - "e": "changed", "id": "13", "r": "lights", "state": { @@ -1534,17 +1528,14 @@ async def test_verify_group_color_mode_fallback( "on": True, "reachable": True, }, - "t": "event", "uniqueid": "00:17:88:01:08:11:22:33-01", } ) await mock_websocket_data( { - "e": "changed", "id": "43", "r": "groups", "state": {"all_on": True, "any_on": True}, - "t": "event", } ) group_state = hass.states.get("light.opbergruimte") diff --git a/tests/components/deconz/test_lock.py b/tests/components/deconz/test_lock.py index 7601e4ff725..66260193012 100644 --- a/tests/components/deconz/test_lock.py +++ b/tests/components/deconz/test_lock.py @@ -54,8 +54,6 @@ async def test_lock_from_light( assert hass.states.get("lock.door_lock").state == STATE_UNLOCKED event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"on": True}, @@ -140,8 +138,6 @@ async def test_lock_from_sensor( assert hass.states.get("lock.door_lock").state == STATE_UNLOCKED event_changed_light = { - "t": "event", - "e": "changed", "r": "sensors", "id": "1", "state": {"lockstate": "locked"}, diff --git a/tests/components/deconz/test_number.py b/tests/components/deconz/test_number.py index 6d081cc5b1a..c2f40bd9ff5 100644 --- a/tests/components/deconz/test_number.py +++ b/tests/components/deconz/test_number.py @@ -138,12 +138,7 @@ async def test_number_entities( # Change state - event_changed_sensor = { - "t": "event", - "e": "changed", - "r": "sensors", - "id": "0", - } | expected["websocket_event"] + event_changed_sensor = {"r": "sensors"} | expected["websocket_event"] await mock_websocket_data(event_changed_sensor) await hass.async_block_till_done() assert hass.states.get(expected["entity_id"]).state == expected["next_state"] diff --git a/tests/components/deconz/test_scene.py b/tests/components/deconz/test_scene.py index 8d5531d5e9c..f430711deab 100644 --- a/tests/components/deconz/test_scene.py +++ b/tests/components/deconz/test_scene.py @@ -126,8 +126,6 @@ async def test_only_new_scenes_are_created( assert len(hass.states.async_all()) == 2 event_changed_group = { - "t": "event", - "e": "changed", "r": "groups", "id": "1", "scenes": [{"id": "1", "name": "Scene"}], diff --git a/tests/components/deconz/test_sensor.py b/tests/components/deconz/test_sensor.py index 6ebd7692e00..7c83452c6be 100644 --- a/tests/components/deconz/test_sensor.py +++ b/tests/components/deconz/test_sensor.py @@ -952,7 +952,7 @@ async def test_sensors( # Change state - event_changed_sensor = {"t": "event", "e": "changed", "r": "sensors", "id": "1"} + event_changed_sensor = {"r": "sensors", "id": "1"} event_changed_sensor |= expected["websocket_event"] await mock_websocket_data(event_changed_sensor) await hass.async_block_till_done() @@ -1063,7 +1063,6 @@ async def test_add_new_sensor( ) -> None: """Test that adding a new sensor works.""" event_added_sensor = { - "t": "event", "e": "added", "r": "sensors", "id": "1", @@ -1183,7 +1182,6 @@ async def test_add_battery_later( assert len(hass.states.async_all()) == 0 event_changed_sensor = { - "t": "event", "e": "changed", "r": "sensors", "id": "2", @@ -1195,7 +1193,6 @@ async def test_add_battery_later( assert len(hass.states.async_all()) == 0 event_changed_sensor = { - "t": "event", "e": "changed", "r": "sensors", "id": "1", diff --git a/tests/components/deconz/test_siren.py b/tests/components/deconz/test_siren.py index d345b6e315c..f745565c7e0 100644 --- a/tests/components/deconz/test_siren.py +++ b/tests/components/deconz/test_siren.py @@ -52,8 +52,6 @@ async def test_sirens( assert not hass.states.get("siren.unsupported_siren") event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"alert": None}, diff --git a/tests/components/deconz/test_switch.py b/tests/components/deconz/test_switch.py index 578370948b3..063fa3ba8ab 100644 --- a/tests/components/deconz/test_switch.py +++ b/tests/components/deconz/test_switch.py @@ -66,8 +66,6 @@ async def test_power_plugs( assert hass.states.get("switch.unsupported_switch") is None event_changed_light = { - "t": "event", - "e": "changed", "r": "lights", "id": "1", "state": {"on": False},