Remove restore functionality in Speedtest.net (#96950)

This commit is contained in:
Joost Lekkerkerker 2023-09-12 21:12:01 +02:00 committed by GitHub
parent f9ce315d1b
commit 458a3f0df2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 71 deletions

View file

@ -15,7 +15,6 @@ from homeassistant.const import UnitOfDataRate, UnitOfTime
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.restore_state import RestoreEntity
from homeassistant.helpers.typing import StateType
from homeassistant.helpers.update_coordinator import CoordinatorEntity
@ -77,10 +76,7 @@ async def async_setup_entry(
)
# pylint: disable-next=hass-invalid-inheritance # needs fixing
class SpeedtestSensor(
CoordinatorEntity[SpeedTestDataCoordinator], RestoreEntity, SensorEntity
):
class SpeedtestSensor(CoordinatorEntity[SpeedTestDataCoordinator], SensorEntity):
"""Implementation of a speedtest.net sensor."""
entity_description: SpeedtestSensorEntityDescription
@ -134,9 +130,3 @@ class SpeedtestSensor(
self._attrs[ATTR_BYTES_SENT] = self.coordinator.data[ATTR_BYTES_SENT]
return self._attrs
async def async_added_to_hass(self) -> None:
"""Handle entity which will be added."""
await super().async_added_to_hass()
if state := await self.async_get_last_state():
self._state = state.state

View file

@ -3,14 +3,12 @@ from unittest.mock import patch
import pytest
from . import MOCK_RESULTS, MOCK_SERVERS
from . import MOCK_SERVERS
@pytest.fixture(autouse=True)
@pytest.fixture
def mock_api():
"""Mock entry setup."""
with patch("speedtest.Speedtest") as mock_api:
mock_api.return_value.get_servers.return_value = MOCK_SERVERS
mock_api.return_value.get_best_server.return_value = MOCK_SERVERS[1][0]
mock_api.return_value.results.dict.return_value = MOCK_RESULTS
yield mock_api

View file

@ -5,11 +5,7 @@ from unittest.mock import MagicMock
import speedtest
from homeassistant.components.speedtestdotnet.const import (
CONF_SERVER_ID,
CONF_SERVER_NAME,
DOMAIN,
)
from homeassistant.components.speedtestdotnet.const import DOMAIN
from homeassistant.config_entries import ConfigEntryState
from homeassistant.const import STATE_UNAVAILABLE
from homeassistant.core import HomeAssistant
@ -18,25 +14,6 @@ import homeassistant.util.dt as dt_util
from tests.common import MockConfigEntry, async_fire_time_changed
async def test_successful_config_entry(hass: HomeAssistant) -> None:
"""Test that SpeedTestDotNet is configured successfully."""
entry = MockConfigEntry(
domain=DOMAIN,
data={},
options={
CONF_SERVER_NAME: "Country1 - Sponsor1 - Server1",
CONF_SERVER_ID: "1",
},
)
entry.add_to_hass(hass)
await hass.config_entries.async_setup(entry.entry_id)
assert entry.state == ConfigEntryState.LOADED
assert hass.data[DOMAIN]
async def test_setup_failed(hass: HomeAssistant, mock_api: MagicMock) -> None:
"""Test SpeedTestDotNet failed due to an error."""

View file

@ -3,11 +3,11 @@ from unittest.mock import MagicMock
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
from homeassistant.components.speedtestdotnet import DOMAIN
from homeassistant.core import HomeAssistant, State
from homeassistant.core import HomeAssistant
from . import MOCK_RESULTS, MOCK_SERVERS, MOCK_STATES
from tests.common import MockConfigEntry, mock_restore_cache
from tests.common import MockConfigEntry
async def test_speedtestdotnet_sensors(
@ -36,33 +36,3 @@ async def test_speedtestdotnet_sensors(
sensor = hass.states.get("sensor.speedtest_ping")
assert sensor
assert sensor.state == MOCK_STATES["ping"]
async def test_restore_last_state(hass: HomeAssistant, mock_api: MagicMock) -> None:
"""Test restoring last state for sensors."""
mock_restore_cache(
hass,
[
State(f"sensor.speedtest_{sensor}", state)
for sensor, state in MOCK_STATES.items()
],
)
entry = MockConfigEntry(domain=DOMAIN)
entry.add_to_hass(hass)
await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done()
assert len(hass.states.async_entity_ids(SENSOR_DOMAIN)) == 3
sensor = hass.states.get("sensor.speedtest_ping")
assert sensor
assert sensor.state == MOCK_STATES["ping"]
sensor = hass.states.get("sensor.speedtest_download")
assert sensor
assert sensor.state == MOCK_STATES["download"]
sensor = hass.states.get("sensor.speedtest_ping")
assert sensor
assert sensor.state == MOCK_STATES["ping"]