From 1724c1e827d77e938009574dbe1668b5e34b941e Mon Sep 17 00:00:00 2001 From: Robert Hillis Date: Wed, 15 Dec 2021 17:33:57 -0500 Subject: [PATCH] Remove deprecated yaml config from trafikverket --- .../config_flow.py | 10 --- .../trafikverket_weatherstation/sensor.py | 46 +------------ .../test_config_flow.py | 65 +------------------ 3 files changed, 4 insertions(+), 117 deletions(-) diff --git a/homeassistant/components/trafikverket_weatherstation/config_flow.py b/homeassistant/components/trafikverket_weatherstation/config_flow.py index 103af1c7eb4157..ad68269def98de 100644 --- a/homeassistant/components/trafikverket_weatherstation/config_flow.py +++ b/homeassistant/components/trafikverket_weatherstation/config_flow.py @@ -36,16 +36,6 @@ async def validate_input(self, sensor_api: str, station: str) -> str: return str(err) return "connected" - async def async_step_import(self, config: dict): - """Import a configuration from config.yaml.""" - - self.context.update( - {"title_placeholders": {CONF_STATION: f"YAML import {DOMAIN}"}} - ) - - self._async_abort_entries_match({CONF_STATION: config[CONF_STATION]}) - return await self.async_step_user(user_input=config) - async def async_step_user(self, user_input=None): """Handle the initial step.""" errors = {} diff --git a/homeassistant/components/trafikverket_weatherstation/sensor.py b/homeassistant/components/trafikverket_weatherstation/sensor.py index 01b70d5d3c7668..9658cc4bd64264 100644 --- a/homeassistant/components/trafikverket_weatherstation/sensor.py +++ b/homeassistant/components/trafikverket_weatherstation/sensor.py @@ -9,20 +9,16 @@ import aiohttp from pytrafikverket.trafikverket_weather import TrafikverketWeather, WeatherStationInfo -import voluptuous as vol from homeassistant.components.sensor import ( - PLATFORM_SCHEMA as PARENT_PLATFORM_SCHEMA, STATE_CLASS_MEASUREMENT, SensorEntity, SensorEntityDescription, ) -from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry +from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( ATTR_ATTRIBUTION, CONF_API_KEY, - CONF_MONITORED_CONDITIONS, - CONF_NAME, DEGREE, DEVICE_CLASS_HUMIDITY, DEVICE_CLASS_TEMPERATURE, @@ -33,15 +29,10 @@ ) from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_get_clientsession -import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.entity_platform import ( - AddEntitiesCallback, - ConfigType, - DiscoveryInfoType, -) +from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import Throttle -from .const import ATTR_ACTIVE, ATTR_MEASURE_TIME, ATTRIBUTION, CONF_STATION, DOMAIN +from .const import ATTR_ACTIVE, ATTR_MEASURE_TIME, ATTRIBUTION, CONF_STATION _LOGGER = logging.getLogger(__name__) @@ -148,37 +139,6 @@ class TrafikverketSensorEntityDescription( ), ) -SENSOR_KEYS = [desc.key for desc in SENSOR_TYPES] - -PLATFORM_SCHEMA = PARENT_PLATFORM_SCHEMA.extend( - { - vol.Required(CONF_NAME): cv.string, - vol.Required(CONF_API_KEY): cv.string, - vol.Required(CONF_STATION): cv.string, - vol.Required(CONF_MONITORED_CONDITIONS, default=[]): [vol.In(SENSOR_KEYS)], - } -) - - -async def async_setup_platform( - hass: HomeAssistant, - config: ConfigType, - async_add_entities: AddEntitiesCallback, - discovery_info: DiscoveryInfoType = None, -) -> None: - """Import Trafikverket Weather configuration from YAML.""" - _LOGGER.warning( - # Config flow added in Home Assistant Core 2021.12, remove import flow in 2022.4 - "Loading Trafikverket Weather via platform setup is deprecated; Please remove it from your configuration" - ) - hass.async_create_task( - hass.config_entries.flow.async_init( - DOMAIN, - context={"source": SOURCE_IMPORT}, - data=config, - ) - ) - async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback diff --git a/tests/components/trafikverket_weatherstation/test_config_flow.py b/tests/components/trafikverket_weatherstation/test_config_flow.py index b8a18181a111c2..458652f8175145 100644 --- a/tests/components/trafikverket_weatherstation/test_config_flow.py +++ b/tests/components/trafikverket_weatherstation/test_config_flow.py @@ -6,12 +6,10 @@ import pytest from homeassistant import config_entries -from homeassistant.const import CONF_API_KEY, CONF_NAME +from homeassistant.const import CONF_API_KEY from homeassistant.core import HomeAssistant from homeassistant.data_entry_flow import RESULT_TYPE_FORM -from tests.common import MockConfigEntry - DOMAIN = "trafikverket_weatherstation" CONF_STATION = "station" @@ -49,67 +47,6 @@ async def test_form(hass: HomeAssistant) -> None: assert len(mock_setup_entry.mock_calls) == 1 -async def test_import_flow_success(hass: HomeAssistant) -> None: - """Test a successful import of yaml.""" - - with patch( - "homeassistant.components.trafikverket_weatherstation.config_flow.TrafikverketWeather.async_get_weather", - ), patch( - "homeassistant.components.trafikverket_weatherstation.async_setup_entry", - return_value=True, - ) as mock_setup_entry: - result2 = await hass.config_entries.flow.async_init( - DOMAIN, - context={"source": config_entries.SOURCE_IMPORT}, - data={ - CONF_NAME: "Vallby", - CONF_API_KEY: "1234567890", - CONF_STATION: "Vallby", - }, - ) - await hass.async_block_till_done() - - assert result2["type"] == "create_entry" - assert result2["title"] == "Vallby" - assert result2["data"] == { - "api_key": "1234567890", - "station": "Vallby", - } - assert len(mock_setup_entry.mock_calls) == 1 - - -async def test_import_flow_already_exist(hass: HomeAssistant) -> None: - """Test import of yaml already exist.""" - - MockConfigEntry( - domain=DOMAIN, - data={ - CONF_API_KEY: "1234567890", - CONF_STATION: "Vallby", - }, - ).add_to_hass(hass) - - with patch( - "homeassistant.components.trafikverket_weatherstation.async_setup_entry", - return_value=True, - ), patch( - "homeassistant.components.trafikverket_weatherstation.config_flow.TrafikverketWeather.async_get_weather", - ): - result3 = await hass.config_entries.flow.async_init( - DOMAIN, - context={"source": config_entries.SOURCE_IMPORT}, - data={ - CONF_NAME: "Vallby", - CONF_API_KEY: "1234567890", - CONF_STATION: "Vallby", - }, - ) - await hass.async_block_till_done() - - assert result3["type"] == "abort" - assert result3["reason"] == "already_configured" - - @pytest.mark.parametrize( "error_message,base_error", [