From 347440019e53c93d4c1022547104b39cca875ab0 Mon Sep 17 00:00:00 2001 From: Michael <35783820+mib1185@users.noreply.github.com> Date: Thu, 10 Oct 2024 02:28:22 +0200 Subject: [PATCH] Use snapshot platform test helper in IPP (#127734) * use snapshot_platform * we don't need to check for amount of entities anymore --- .../components/ipp/snapshots/test_sensor.ambr | 378 ++++++++++++++++++ tests/components/ipp/test_sensor.py | 51 +-- 2 files changed, 382 insertions(+), 47 deletions(-) create mode 100644 tests/components/ipp/snapshots/test_sensor.ambr diff --git a/tests/components/ipp/snapshots/test_sensor.ambr b/tests/components/ipp/snapshots/test_sensor.ambr new file mode 100644 index 00000000000..3f910399ad8 --- /dev/null +++ b/tests/components/ipp/snapshots/test_sensor.ambr @@ -0,0 +1,378 @@ +# serializer version: 1 +# name: test_sensors[sensor.test_ha_1000_series-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'idle', + 'printing', + 'stopped', + ]), + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_ha_1000_series', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': None, + 'platform': 'ipp', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'printer', + 'unique_id': 'cfe92100-67c4-11d4-a45f-f8d027761251_printer', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'command_set': 'ESCPL2,BDC,D4,D4PX,ESCPR7,END4,GENEP,URF', + 'device_class': 'enum', + 'friendly_name': 'Test HA-1000 Series', + 'info': 'Test HA-1000 Series', + 'location': None, + 'options': list([ + 'idle', + 'printing', + 'stopped', + ]), + 'serial': '555534593035345555', + 'state_message': None, + 'state_reason': None, + 'uri_supported': 'ipps://192.168.1.31:631/ipp/print,ipp://192.168.1.31:631/ipp/print', + }), + 'context': , + 'entity_id': 'sensor.test_ha_1000_series', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'idle', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_black_ink-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_ha_1000_series_black_ink', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Black ink', + 'platform': 'ipp', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'marker', + 'unique_id': 'cfe92100-67c4-11d4-a45f-f8d027761251_marker_0', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_black_ink-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test HA-1000 Series Black ink', + 'marker_high_level': 100, + 'marker_low_level': 10, + 'marker_type': 'ink-cartridge', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_ha_1000_series_black_ink', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '58', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_cyan_ink-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_ha_1000_series_cyan_ink', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Cyan ink', + 'platform': 'ipp', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'marker', + 'unique_id': 'cfe92100-67c4-11d4-a45f-f8d027761251_marker_1', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_cyan_ink-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test HA-1000 Series Cyan ink', + 'marker_high_level': 100, + 'marker_low_level': 10, + 'marker_type': 'ink-cartridge', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_ha_1000_series_cyan_ink', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '91', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_magenta_ink-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_ha_1000_series_magenta_ink', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Magenta ink', + 'platform': 'ipp', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'marker', + 'unique_id': 'cfe92100-67c4-11d4-a45f-f8d027761251_marker_2', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_magenta_ink-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test HA-1000 Series Magenta ink', + 'marker_high_level': 100, + 'marker_low_level': 10, + 'marker_type': 'ink-cartridge', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_ha_1000_series_magenta_ink', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '73', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_photo_black_ink-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_ha_1000_series_photo_black_ink', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Photo black ink', + 'platform': 'ipp', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'marker', + 'unique_id': 'cfe92100-67c4-11d4-a45f-f8d027761251_marker_3', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_photo_black_ink-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test HA-1000 Series Photo black ink', + 'marker_high_level': 100, + 'marker_low_level': 10, + 'marker_type': 'ink-cartridge', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_ha_1000_series_photo_black_ink', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '98', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_uptime-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.test_ha_1000_series_uptime', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Uptime', + 'platform': 'ipp', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'uptime', + 'unique_id': 'cfe92100-67c4-11d4-a45f-f8d027761251_uptime', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_uptime-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'timestamp', + 'friendly_name': 'Test HA-1000 Series Uptime', + }), + 'context': , + 'entity_id': 'sensor.test_ha_1000_series_uptime', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2019-11-11T09:10:02+00:00', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_yellow_ink-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_ha_1000_series_yellow_ink', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Yellow ink', + 'platform': 'ipp', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'marker', + 'unique_id': 'cfe92100-67c4-11d4-a45f-f8d027761251_marker_4', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensors[sensor.test_ha_1000_series_yellow_ink-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test HA-1000 Series Yellow ink', + 'marker_high_level': 100, + 'marker_low_level': 10, + 'marker_type': 'ink-cartridge', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_ha_1000_series_yellow_ink', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '95', + }) +# --- diff --git a/tests/components/ipp/test_sensor.py b/tests/components/ipp/test_sensor.py index 9f0079a4e40..bdbb9a88d35 100644 --- a/tests/components/ipp/test_sensor.py +++ b/tests/components/ipp/test_sensor.py @@ -3,13 +3,12 @@ from unittest.mock import AsyncMock import pytest +from syrupy.assertion import SnapshotAssertion -from homeassistant.components.sensor import ATTR_OPTIONS -from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT, PERCENTAGE, EntityCategory from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er -from tests.common import MockConfigEntry +from tests.common import MockConfigEntry, snapshot_platform @pytest.mark.freeze_time("2019-11-11 09:10:32+00:00") @@ -17,53 +16,11 @@ from tests.common import MockConfigEntry async def test_sensors( hass: HomeAssistant, entity_registry: er.EntityRegistry, + snapshot: SnapshotAssertion, init_integration: MockConfigEntry, ) -> None: """Test the creation and values of the IPP sensors.""" - state = hass.states.get("sensor.test_ha_1000_series") - assert state - assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is None - assert state.attributes.get(ATTR_OPTIONS) == ["idle", "printing", "stopped"] - - entry = entity_registry.async_get("sensor.test_ha_1000_series") - assert entry - assert entry.translation_key == "printer" - - state = hass.states.get("sensor.test_ha_1000_series_black_ink") - assert state - assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is PERCENTAGE - assert state.state == "58" - - state = hass.states.get("sensor.test_ha_1000_series_photo_black_ink") - assert state - assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is PERCENTAGE - assert state.state == "98" - - state = hass.states.get("sensor.test_ha_1000_series_cyan_ink") - assert state - assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is PERCENTAGE - assert state.state == "91" - - state = hass.states.get("sensor.test_ha_1000_series_yellow_ink") - assert state - assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is PERCENTAGE - assert state.state == "95" - - state = hass.states.get("sensor.test_ha_1000_series_magenta_ink") - assert state - assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is PERCENTAGE - assert state.state == "73" - - state = hass.states.get("sensor.test_ha_1000_series_uptime") - assert state - assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is None - assert state.state == "2019-11-11T09:10:02+00:00" - - entry = entity_registry.async_get("sensor.test_ha_1000_series_uptime") - - assert entry - assert entry.unique_id == "cfe92100-67c4-11d4-a45f-f8d027761251_uptime" - assert entry.entity_category == EntityCategory.DIAGNOSTIC + await snapshot_platform(hass, entity_registry, snapshot, init_integration.entry_id) async def test_disabled_by_default_sensors(