From 9bbd9d8bcd45f258c7c3aa9c6a152b2a65750a99 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Tue, 17 Mar 2026 08:19:10 +0100 Subject: [PATCH] Deduplicate trigger tests checking labs flag (#165760) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- tests/components/__init__.py | 14 ++++++++++++++ .../alarm_control_panel/test_trigger.py | 11 +++-------- .../components/assist_satellite/test_trigger.py | 11 +++-------- tests/components/button/test_trigger.py | 16 +++------------- tests/components/climate/test_trigger.py | 10 ++-------- tests/components/cover/test_trigger.py | 11 +++-------- tests/components/device_tracker/test_trigger.py | 16 +++------------- tests/components/door/test_trigger.py | 17 +++-------------- tests/components/fan/test_trigger.py | 11 +++-------- tests/components/garage_door/test_trigger.py | 17 +++-------------- tests/components/gate/test_trigger.py | 11 +++-------- tests/components/humidifier/test_trigger.py | 11 +++-------- tests/components/humidity/test_trigger.py | 16 +++------------- tests/components/input_boolean/test_trigger.py | 11 +++-------- tests/components/lawn_mower/test_trigger.py | 11 +++-------- tests/components/light/test_trigger.py | 10 ++-------- tests/components/lock/test_trigger.py | 11 +++-------- tests/components/media_player/test_trigger.py | 11 +++-------- tests/components/motion/test_trigger.py | 17 +++-------------- tests/components/occupancy/test_trigger.py | 17 +++-------------- tests/components/person/test_trigger.py | 16 +++------------- tests/components/remote/test_trigger.py | 11 +++-------- tests/components/scene/test_trigger.py | 16 +++------------- tests/components/schedule/test_trigger.py | 10 ++-------- tests/components/siren/test_trigger.py | 11 +++-------- tests/components/switch/test_trigger.py | 11 +++-------- tests/components/text/test_trigger.py | 16 +++------------- tests/components/update/test_trigger.py | 11 +++-------- tests/components/vacuum/test_trigger.py | 11 +++-------- tests/components/window/test_trigger.py | 17 +++-------------- 30 files changed, 98 insertions(+), 292 deletions(-) diff --git a/tests/components/__init__.py b/tests/components/__init__.py index 13ea3427a43d..2c242533c413 100644 --- a/tests/components/__init__.py +++ b/tests/components/__init__.py @@ -850,3 +850,17 @@ async def assert_condition_gated_by_labs_flag( "conditions' feature to be enabled in Home Assistant Labs settings " "(feature flag: 'new_triggers_conditions')" ) in caplog.text + + +async def assert_trigger_gated_by_labs_flag( + hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger: str +) -> None: + """Helper to check that a trigger is gated by the labs flag.""" + + await arm_trigger(hass, trigger, None, {ATTR_LABEL_ID: "test_label"}) + assert ( + "Unnamed automation failed to setup triggers and has been disabled: Trigger " + f"'{trigger}' requires the experimental 'New triggers and conditions' " + "feature to be enabled in Home Assistant Labs settings (feature flag: " + "'new_triggers_conditions')" + ) in caplog.text diff --git a/tests/components/alarm_control_panel/test_trigger.py b/tests/components/alarm_control_panel/test_trigger.py index f6c67beea925..45b2a6f287ed 100644 --- a/tests/components/alarm_control_panel/test_trigger.py +++ b/tests/components/alarm_control_panel/test_trigger.py @@ -8,12 +8,13 @@ from homeassistant.components.alarm_control_panel import ( AlarmControlPanelEntityFeature, AlarmControlPanelState, ) -from homeassistant.const import ATTR_LABEL_ID, ATTR_SUPPORTED_FEATURES, CONF_ENTITY_ID +from homeassistant.const import ATTR_SUPPORTED_FEATURES, CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, other_states, parametrize_target_entities, parametrize_trigger_states, @@ -44,13 +45,7 @@ async def test_alarm_control_panel_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the ACP triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/assist_satellite/test_trigger.py b/tests/components/assist_satellite/test_trigger.py index 5b49d614c757..b74ba3be7f35 100644 --- a/tests/components/assist_satellite/test_trigger.py +++ b/tests/components/assist_satellite/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.assist_satellite.entity import AssistSatelliteState -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID +from homeassistant.const import CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, other_states, parametrize_target_entities, parametrize_trigger_states, @@ -38,13 +39,7 @@ async def test_assist_satellite_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the Assist satellite triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/button/test_trigger.py b/tests/components/button/test_trigger.py index 0c6c228fb089..cd40fa6b5383 100644 --- a/tests/components/button/test_trigger.py +++ b/tests/components/button/test_trigger.py @@ -2,17 +2,13 @@ import pytest -from homeassistant.const import ( - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_UNAVAILABLE, - STATE_UNKNOWN, -) +from homeassistant.const import CONF_ENTITY_ID, STATE_UNAVAILABLE, STATE_UNKNOWN from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, set_or_remove_state, target_entities, @@ -30,13 +26,7 @@ async def test_button_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the button triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/climate/test_trigger.py b/tests/components/climate/test_trigger.py index 8a69d07d6ec6..5efb2034ddff 100644 --- a/tests/components/climate/test_trigger.py +++ b/tests/components/climate/test_trigger.py @@ -14,7 +14,6 @@ from homeassistant.components.climate.const import ( ) from homeassistant.components.climate.trigger import CONF_HVAC_MODE from homeassistant.const import ( - ATTR_LABEL_ID, ATTR_TEMPERATURE, CONF_ENTITY_ID, CONF_OPTIONS, @@ -26,6 +25,7 @@ from homeassistant.helpers.trigger import async_validate_trigger_config from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, other_states, parametrize_numerical_attribute_changed_trigger_states, parametrize_numerical_attribute_crossed_threshold_trigger_states, @@ -59,13 +59,7 @@ async def test_climate_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the climate triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/cover/test_trigger.py b/tests/components/cover/test_trigger.py index 9929b8847bb8..c643592f133f 100644 --- a/tests/components/cover/test_trigger.py +++ b/tests/components/cover/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.cover import ATTR_IS_CLOSED, CoverState -from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_LABEL_ID, CONF_ENTITY_ID +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -44,13 +45,7 @@ async def test_cover_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the cover triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/device_tracker/test_trigger.py b/tests/components/device_tracker/test_trigger.py index 19ac9c929c29..4fd994f41cae 100644 --- a/tests/components/device_tracker/test_trigger.py +++ b/tests/components/device_tracker/test_trigger.py @@ -4,17 +4,13 @@ from typing import Any import pytest -from homeassistant.const import ( - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_HOME, - STATE_NOT_HOME, -) +from homeassistant.const import CONF_ENTITY_ID, STATE_HOME, STATE_NOT_HOME from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -38,13 +34,7 @@ async def test_device_tracker_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the device_tracker triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/door/test_trigger.py b/tests/components/door/test_trigger.py index 0a0f84627a64..b70897d55ca2 100644 --- a/tests/components/door/test_trigger.py +++ b/tests/components/door/test_trigger.py @@ -5,18 +5,13 @@ from typing import Any import pytest from homeassistant.components.cover import ATTR_IS_CLOSED, CoverState -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_OFF, - STATE_ON, -) +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -47,13 +42,7 @@ async def test_door_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the door triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/fan/test_trigger.py b/tests/components/fan/test_trigger.py index b197733306ce..bea45c37896f 100644 --- a/tests/components/fan/test_trigger.py +++ b/tests/components/fan/test_trigger.py @@ -4,12 +4,13 @@ from typing import Any import pytest -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID, STATE_OFF, STATE_ON +from homeassistant.const import CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -34,13 +35,7 @@ async def test_fan_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the fan triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/garage_door/test_trigger.py b/tests/components/garage_door/test_trigger.py index cdb6db21f9d4..d433e44fcad7 100644 --- a/tests/components/garage_door/test_trigger.py +++ b/tests/components/garage_door/test_trigger.py @@ -5,18 +5,13 @@ from typing import Any import pytest from homeassistant.components.cover import ATTR_IS_CLOSED, CoverState -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_OFF, - STATE_ON, -) +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -47,13 +42,7 @@ async def test_garage_door_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the garage door triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/gate/test_trigger.py b/tests/components/gate/test_trigger.py index 8d694125e1ad..526de6c2b35b 100644 --- a/tests/components/gate/test_trigger.py +++ b/tests/components/gate/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.cover import ATTR_IS_CLOSED, CoverState -from homeassistant.const import ATTR_DEVICE_CLASS, ATTR_LABEL_ID, CONF_ENTITY_ID +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -35,13 +36,7 @@ async def test_gate_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the gate triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/humidifier/test_trigger.py b/tests/components/humidifier/test_trigger.py index 42f19415be42..886a934b4292 100644 --- a/tests/components/humidifier/test_trigger.py +++ b/tests/components/humidifier/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.humidifier.const import ATTR_ACTION, HumidifierAction -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID, STATE_OFF, STATE_ON +from homeassistant.const import CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -37,13 +38,7 @@ async def test_humidifier_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the humidifier triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/humidity/test_trigger.py b/tests/components/humidity/test_trigger.py index 1cd18773c357..4068e323bd1a 100644 --- a/tests/components/humidity/test_trigger.py +++ b/tests/components/humidity/test_trigger.py @@ -12,17 +12,13 @@ from homeassistant.components.humidifier import ( ATTR_CURRENT_HUMIDITY as HUMIDIFIER_ATTR_CURRENT_HUMIDITY, ) from homeassistant.components.weather import ATTR_WEATHER_HUMIDITY -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_ON, -) +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_numerical_attribute_changed_trigger_states, parametrize_numerical_attribute_crossed_threshold_trigger_states, parametrize_numerical_state_value_changed_trigger_states, @@ -68,13 +64,7 @@ async def test_humidity_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the humidity triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) # --- Sensor domain tests (value in state.state) --- diff --git a/tests/components/input_boolean/test_trigger.py b/tests/components/input_boolean/test_trigger.py index 5550ab745ef7..0659b1f8f10d 100644 --- a/tests/components/input_boolean/test_trigger.py +++ b/tests/components/input_boolean/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.input_boolean import DOMAIN -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID, STATE_OFF, STATE_ON +from homeassistant.const import CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -35,13 +36,7 @@ async def test_input_boolean_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the input_boolean triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/lawn_mower/test_trigger.py b/tests/components/lawn_mower/test_trigger.py index 1d59e7899193..0c7cad8664f0 100644 --- a/tests/components/lawn_mower/test_trigger.py +++ b/tests/components/lawn_mower/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.lawn_mower import LawnMowerActivity -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID +from homeassistant.const import CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, other_states, parametrize_target_entities, parametrize_trigger_states, @@ -39,13 +40,7 @@ async def test_lawn_mower_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the lawn mower triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/light/test_trigger.py b/tests/components/light/test_trigger.py index 8f0c4327623d..e4548fa35549 100644 --- a/tests/components/light/test_trigger.py +++ b/tests/components/light/test_trigger.py @@ -6,7 +6,6 @@ import pytest from homeassistant.components.light import ATTR_BRIGHTNESS from homeassistant.const import ( - ATTR_LABEL_ID, CONF_ABOVE, CONF_BELOW, CONF_ENTITY_ID, @@ -24,6 +23,7 @@ from homeassistant.helpers.trigger import ( from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -175,13 +175,7 @@ async def test_light_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the light triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/lock/test_trigger.py b/tests/components/lock/test_trigger.py index ec304b116eab..13073fb9ec1c 100644 --- a/tests/components/lock/test_trigger.py +++ b/tests/components/lock/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.lock import DOMAIN, LockState -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID +from homeassistant.const import CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, other_states, parametrize_target_entities, parametrize_trigger_states, @@ -38,13 +39,7 @@ async def test_lock_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the lock triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/media_player/test_trigger.py b/tests/components/media_player/test_trigger.py index 11d9eefb8445..899a2b55b847 100644 --- a/tests/components/media_player/test_trigger.py +++ b/tests/components/media_player/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.media_player import MediaPlayerState -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID +from homeassistant.const import CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -34,13 +35,7 @@ async def test_media_player_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the media player triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/motion/test_trigger.py b/tests/components/motion/test_trigger.py index 8b80cfd93da8..694823903ce2 100644 --- a/tests/components/motion/test_trigger.py +++ b/tests/components/motion/test_trigger.py @@ -4,18 +4,13 @@ from typing import Any import pytest -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_OFF, - STATE_ON, -) +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -40,13 +35,7 @@ async def test_motion_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the motion triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/occupancy/test_trigger.py b/tests/components/occupancy/test_trigger.py index 3ce1d08f8dfe..543a9843ff74 100644 --- a/tests/components/occupancy/test_trigger.py +++ b/tests/components/occupancy/test_trigger.py @@ -4,18 +4,13 @@ from typing import Any import pytest -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_OFF, - STATE_ON, -) +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -40,13 +35,7 @@ async def test_occupancy_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the occupancy triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/person/test_trigger.py b/tests/components/person/test_trigger.py index a754faae1a7f..a4b1be6f5140 100644 --- a/tests/components/person/test_trigger.py +++ b/tests/components/person/test_trigger.py @@ -5,17 +5,13 @@ from typing import Any import pytest from homeassistant.components.person.const import DOMAIN -from homeassistant.const import ( - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_HOME, - STATE_NOT_HOME, -) +from homeassistant.const import CONF_ENTITY_ID, STATE_HOME, STATE_NOT_HOME from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -39,13 +35,7 @@ async def test_person_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the person triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/remote/test_trigger.py b/tests/components/remote/test_trigger.py index 96f57906e6b5..383b2c19575e 100644 --- a/tests/components/remote/test_trigger.py +++ b/tests/components/remote/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.remote import DOMAIN -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID, STATE_OFF, STATE_ON +from homeassistant.const import CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -32,13 +33,7 @@ async def test_remote_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the remote triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/scene/test_trigger.py b/tests/components/scene/test_trigger.py index 7549056f655d..de4712fa6400 100644 --- a/tests/components/scene/test_trigger.py +++ b/tests/components/scene/test_trigger.py @@ -2,17 +2,13 @@ import pytest -from homeassistant.const import ( - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_UNAVAILABLE, - STATE_UNKNOWN, -) +from homeassistant.const import CONF_ENTITY_ID, STATE_UNAVAILABLE, STATE_UNKNOWN from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, set_or_remove_state, target_entities, @@ -30,13 +26,7 @@ async def test_scene_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the scene triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/schedule/test_trigger.py b/tests/components/schedule/test_trigger.py index 43afa296d104..b27245fa302f 100644 --- a/tests/components/schedule/test_trigger.py +++ b/tests/components/schedule/test_trigger.py @@ -14,7 +14,6 @@ from homeassistant.components.schedule.const import ( DOMAIN, ) from homeassistant.const import ( - ATTR_LABEL_ID, CONF_ENTITY_ID, CONF_ICON, CONF_NAME, @@ -27,6 +26,7 @@ from tests.common import async_fire_time_changed from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -51,13 +51,7 @@ async def test_schedule_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the schedule triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/siren/test_trigger.py b/tests/components/siren/test_trigger.py index 1187b5365e2e..a38b20c42a18 100644 --- a/tests/components/siren/test_trigger.py +++ b/tests/components/siren/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.siren import DOMAIN -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID, STATE_OFF, STATE_ON +from homeassistant.const import CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -35,13 +36,7 @@ async def test_siren_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the siren triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/switch/test_trigger.py b/tests/components/switch/test_trigger.py index 901a9e334d58..c7f1992e841d 100644 --- a/tests/components/switch/test_trigger.py +++ b/tests/components/switch/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.switch import DOMAIN -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID, STATE_OFF, STATE_ON +from homeassistant.const import CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -35,13 +36,7 @@ async def test_switch_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the switch triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/text/test_trigger.py b/tests/components/text/test_trigger.py index 547544d94495..564864d2fceb 100644 --- a/tests/components/text/test_trigger.py +++ b/tests/components/text/test_trigger.py @@ -2,17 +2,13 @@ import pytest -from homeassistant.const import ( - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_UNAVAILABLE, - STATE_UNKNOWN, -) +from homeassistant.const import CONF_ENTITY_ID, STATE_UNAVAILABLE, STATE_UNKNOWN from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, set_or_remove_state, target_entities, @@ -30,13 +26,7 @@ async def test_text_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the text triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/update/test_trigger.py b/tests/components/update/test_trigger.py index 87615bb61b0e..e31b6a0fe74e 100644 --- a/tests/components/update/test_trigger.py +++ b/tests/components/update/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.update import DOMAIN -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID, STATE_OFF, STATE_ON +from homeassistant.const import CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -34,13 +35,7 @@ async def test_update_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the update triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/vacuum/test_trigger.py b/tests/components/vacuum/test_trigger.py index 7c71346cc4ed..8b2555cffe78 100644 --- a/tests/components/vacuum/test_trigger.py +++ b/tests/components/vacuum/test_trigger.py @@ -5,12 +5,13 @@ from typing import Any import pytest from homeassistant.components.vacuum import VacuumActivity -from homeassistant.const import ATTR_LABEL_ID, CONF_ENTITY_ID +from homeassistant.const import CONF_ENTITY_ID from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, other_states, parametrize_target_entities, parametrize_trigger_states, @@ -39,13 +40,7 @@ async def test_vacuum_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the vacuum triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features") diff --git a/tests/components/window/test_trigger.py b/tests/components/window/test_trigger.py index 3a8965b2bdda..e7c5cdbdc768 100644 --- a/tests/components/window/test_trigger.py +++ b/tests/components/window/test_trigger.py @@ -5,18 +5,13 @@ from typing import Any import pytest from homeassistant.components.cover import ATTR_IS_CLOSED, CoverState -from homeassistant.const import ( - ATTR_DEVICE_CLASS, - ATTR_LABEL_ID, - CONF_ENTITY_ID, - STATE_OFF, - STATE_ON, -) +from homeassistant.const import ATTR_DEVICE_CLASS, CONF_ENTITY_ID, STATE_OFF, STATE_ON from homeassistant.core import HomeAssistant, ServiceCall from tests.components import ( TriggerStateDescription, arm_trigger, + assert_trigger_gated_by_labs_flag, parametrize_target_entities, parametrize_trigger_states, set_or_remove_state, @@ -47,13 +42,7 @@ async def test_window_triggers_gated_by_labs_flag( hass: HomeAssistant, caplog: pytest.LogCaptureFixture, trigger_key: str ) -> None: """Test the window triggers are gated by the labs flag.""" - await arm_trigger(hass, trigger_key, None, {ATTR_LABEL_ID: "test_label"}) - assert ( - "Unnamed automation failed to setup triggers and has been disabled: Trigger " - f"'{trigger_key}' requires the experimental 'New triggers and conditions' " - "feature to be enabled in Home Assistant Labs settings (feature flag: " - "'new_triggers_conditions')" - ) in caplog.text + await assert_trigger_gated_by_labs_flag(hass, caplog, trigger_key) @pytest.mark.usefixtures("enable_labs_preview_features")