From 83c3275054f3126b06e0d1ae8e05cea172235115 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 14 Apr 2025 14:40:08 +0200 Subject: [PATCH] Remove deprecated state attributes in seventeentrack (#142622) --- .../components/seventeentrack/sensor.py | 32 +---------- .../components/seventeentrack/test_sensor.py | 54 +------------------ 2 files changed, 3 insertions(+), 83 deletions(-) diff --git a/homeassistant/components/seventeentrack/sensor.py b/homeassistant/components/seventeentrack/sensor.py index b0f9d6cd2bd..c6fd7942655 100644 --- a/homeassistant/components/seventeentrack/sensor.py +++ b/homeassistant/components/seventeentrack/sensor.py @@ -2,11 +2,8 @@ from __future__ import annotations -from typing import Any - from homeassistant.components.sensor import SensorEntity from homeassistant.config_entries import ConfigEntry -from homeassistant.const import ATTR_FRIENDLY_NAME, ATTR_LOCATION from homeassistant.core import HomeAssistant from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback @@ -14,15 +11,7 @@ from homeassistant.helpers.typing import StateType from homeassistant.helpers.update_coordinator import CoordinatorEntity from . import SeventeenTrackCoordinator -from .const import ( - ATTR_INFO_TEXT, - ATTR_PACKAGES, - ATTR_STATUS, - ATTR_TIMESTAMP, - ATTR_TRACKING_NUMBER, - ATTRIBUTION, - DOMAIN, -) +from .const import ATTRIBUTION, DOMAIN async def async_setup_entry( @@ -81,22 +70,3 @@ class SeventeenTrackSummarySensor(SeventeenTrackSensor): def native_value(self) -> StateType: """Return the state of the sensor.""" return self.coordinator.data.summary[self._status]["quantity"] - - # This has been deprecated in 2024.8, will be removed in 2025.2 - @property - def extra_state_attributes(self) -> dict[str, Any] | None: - """Return the state attributes.""" - packages = self.coordinator.data.summary[self._status]["packages"] - return { - ATTR_PACKAGES: [ - { - ATTR_TRACKING_NUMBER: package.tracking_number, - ATTR_LOCATION: package.location, - ATTR_STATUS: package.status, - ATTR_TIMESTAMP: package.timestamp, - ATTR_INFO_TEXT: package.info_text, - ATTR_FRIENDLY_NAME: package.friendly_name, - } - for package in packages - ] - } diff --git a/tests/components/seventeentrack/test_sensor.py b/tests/components/seventeentrack/test_sensor.py index 5367fabba9e..11ed9904eae 100644 --- a/tests/components/seventeentrack/test_sensor.py +++ b/tests/components/seventeentrack/test_sensor.py @@ -4,20 +4,12 @@ from __future__ import annotations from unittest.mock import AsyncMock -from freezegun.api import FrozenDateTimeFactory from pyseventeentrack.errors import SeventeenTrackError from homeassistant.core import HomeAssistant -from homeassistant.setup import async_setup_component -from . import goto_future, init_integration -from .conftest import ( - DEFAULT_SUMMARY, - DEFAULT_SUMMARY_LENGTH, - NEW_SUMMARY_DATA, - VALID_PLATFORM_CONFIG_FULL, - get_package, -) +from . import init_integration +from .conftest import DEFAULT_SUMMARY, get_package from tests.common import MockConfigEntry @@ -78,38 +70,6 @@ async def test_package_error( assert hass.states.get("sensor.17track_package_friendly_name_1") is None -async def test_summary_correctly_updated( - hass: HomeAssistant, - freezer: FrozenDateTimeFactory, - mock_seventeentrack: AsyncMock, - mock_config_entry: MockConfigEntry, -) -> None: - """Ensure summary entities are not duplicated.""" - package = get_package(status=30) - mock_seventeentrack.return_value.profile.packages.return_value = [package] - - await init_integration(hass, mock_config_entry) - - assert len(hass.states.async_entity_ids()) == DEFAULT_SUMMARY_LENGTH - - state_ready_picked = hass.states.get("sensor.17track_ready_to_be_picked_up") - assert state_ready_picked is not None - assert len(state_ready_picked.attributes["packages"]) == 1 - - mock_seventeentrack.return_value.profile.packages.return_value = [] - mock_seventeentrack.return_value.profile.summary.return_value = NEW_SUMMARY_DATA - - await goto_future(hass, freezer) - - assert len(hass.states.async_entity_ids()) == len(NEW_SUMMARY_DATA) - for state in hass.states.async_all(): - assert state.state == "1" - - state_ready_picked = hass.states.get("sensor.17track_ready_to_be_picked_up") - assert state_ready_picked is not None - assert len(state_ready_picked.attributes["packages"]) == 0 - - async def test_summary_error( hass: HomeAssistant, mock_seventeentrack: AsyncMock, @@ -129,13 +89,3 @@ async def test_summary_error( assert ( hass.states.get("sensor.seventeentrack_packages_ready_to_be_picked_up") is None ) - - -async def test_non_valid_platform_config( - hass: HomeAssistant, mock_seventeentrack: AsyncMock -) -> None: - """Test if login fails.""" - mock_seventeentrack.return_value.profile.login.return_value = False - assert await async_setup_component(hass, "sensor", VALID_PLATFORM_CONFIG_FULL) - await hass.async_block_till_done() - assert len(hass.states.async_entity_ids()) == 0