diff --git a/homeassistant/components/fritz/config_flow.py b/homeassistant/components/fritz/config_flow.py index 2288e811113..6a5d563fdef 100644 --- a/homeassistant/components/fritz/config_flow.py +++ b/homeassistant/components/fritz/config_flow.py @@ -272,17 +272,6 @@ class FritzBoxToolsFlowHandler(ConfigFlow, domain=DOMAIN): await self.hass.config_entries.async_reload(self._entry.entry_id) return self.async_abort(reason="reauth_successful") - async def async_step_import(self, import_config: dict[str, Any]) -> FlowResult: - """Import a config entry from configuration.yaml.""" - return await self.async_step_user( - { - CONF_HOST: import_config[CONF_HOST], - CONF_USERNAME: import_config[CONF_USERNAME], - CONF_PASSWORD: import_config.get(CONF_PASSWORD), - CONF_PORT: import_config.get(CONF_PORT, DEFAULT_PORT), - } - ) - class FritzBoxToolsOptionsFlowHandler(OptionsFlow): """Handle a option flow.""" diff --git a/homeassistant/components/fritz/device_tracker.py b/homeassistant/components/fritz/device_tracker.py index bf882eb9863..9d444151391 100644 --- a/homeassistant/components/fritz/device_tracker.py +++ b/homeassistant/components/fritz/device_tracker.py @@ -4,21 +4,12 @@ from __future__ import annotations import datetime import logging -import voluptuous as vol - -from homeassistant.components.device_tracker import ( - DOMAIN as DEVICE_TRACKER_DOMAIN, - PLATFORM_SCHEMA as PARENT_PLATFORM_SCHEMA, - SOURCE_TYPE_ROUTER, -) +from homeassistant.components.device_tracker import SOURCE_TYPE_ROUTER from homeassistant.components.device_tracker.config_entry import ScannerEntity -from homeassistant.config_entries import SOURCE_IMPORT, ConfigEntry -from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME +from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant, callback -import homeassistant.helpers.config_validation as cv from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.entity_platform import AddEntitiesCallback -from homeassistant.helpers.typing import ConfigType from .common import ( FritzBoxTools, @@ -34,40 +25,6 @@ _LOGGER = logging.getLogger(__name__) YAML_DEFAULT_HOST = "169.254.1.1" YAML_DEFAULT_USERNAME = "admin" -PLATFORM_SCHEMA = vol.All( - cv.deprecated(CONF_HOST), - cv.deprecated(CONF_USERNAME), - cv.deprecated(CONF_PASSWORD), - PARENT_PLATFORM_SCHEMA.extend( - { - vol.Optional(CONF_HOST, default=YAML_DEFAULT_HOST): cv.string, - vol.Optional(CONF_USERNAME, default=YAML_DEFAULT_USERNAME): cv.string, - vol.Optional(CONF_PASSWORD): cv.string, - } - ), -) - - -async def async_get_scanner(hass: HomeAssistant, config: ConfigType) -> None: - """Import legacy FRITZ!Box configuration.""" - _LOGGER.debug("Import legacy FRITZ!Box configuration from YAML") - - hass.async_create_task( - hass.config_entries.flow.async_init( - DOMAIN, - context={"source": SOURCE_IMPORT}, - data=config[DEVICE_TRACKER_DOMAIN], - ) - ) - - _LOGGER.warning( - "Your Fritz configuration has been imported into the UI, " - "please remove it from configuration.yaml. " - "Loading Fritz via scanner setup is now deprecated" - ) - - return None - async def async_setup_entry( hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback diff --git a/tests/components/fritz/test_config_flow.py b/tests/components/fritz/test_config_flow.py index 3981a3d2685..edb03c51603 100644 --- a/tests/components/fritz/test_config_flow.py +++ b/tests/components/fritz/test_config_flow.py @@ -17,12 +17,7 @@ from homeassistant.components.fritz.const import ( ERROR_UNKNOWN, ) from homeassistant.components.ssdp import ATTR_UPNP_FRIENDLY_NAME, ATTR_UPNP_UDN -from homeassistant.config_entries import ( - SOURCE_IMPORT, - SOURCE_REAUTH, - SOURCE_SSDP, - SOURCE_USER, -) +from homeassistant.config_entries import SOURCE_REAUTH, SOURCE_SSDP, SOURCE_USER from homeassistant.const import CONF_DEVICES, CONF_HOST, CONF_PASSWORD, CONF_USERNAME from homeassistant.core import HomeAssistant from homeassistant.data_entry_flow import ( @@ -48,7 +43,6 @@ MOCK_DEVICE_INFO = { ATTR_HOST: MOCK_HOST, ATTR_NEW_SERIAL_NUMBER: MOCK_SERIAL_NUMBER, } -MOCK_IMPORT_CONFIG = {CONF_HOST: MOCK_HOST, CONF_USERNAME: "username"} MOCK_SSDP_DATA = ssdp.SsdpServiceInfo( ssdp_usn="mock_usn", ssdp_st="mock_st", @@ -487,43 +481,6 @@ async def test_ssdp_exception(hass: HomeAssistant, mock_get_source_ip): assert result["step_id"] == "confirm" -async def test_import(hass: HomeAssistant, fc_class_mock, mock_get_source_ip): - """Test importing.""" - with patch( - "homeassistant.components.fritz.common.FritzConnection", - side_effect=fc_class_mock, - ), patch("homeassistant.components.fritz.common.FritzStatus"), patch( - "homeassistant.components.fritz.common.FritzBoxTools._update_device_info", - return_value=MOCK_FIRMWARE_INFO, - ), patch( - "homeassistant.components.fritz.async_setup_entry" - ) as mock_setup_entry, patch( - "requests.get" - ) as mock_request_get, patch( - "requests.post" - ) as mock_request_post, patch( - "homeassistant.components.fritz.config_flow.socket.gethostbyname", - return_value=MOCK_IP, - ): - - mock_request_get.return_value.status_code = 200 - mock_request_get.return_value.content = MOCK_REQUEST - mock_request_post.return_value.status_code = 200 - mock_request_post.return_value.text = MOCK_REQUEST - - result = await hass.config_entries.flow.async_init( - DOMAIN, context={"source": SOURCE_IMPORT}, data=MOCK_IMPORT_CONFIG - ) - - assert result["type"] == RESULT_TYPE_CREATE_ENTRY - assert result["data"][CONF_HOST] == "fake_host" - assert result["data"][CONF_PASSWORD] is None - assert result["data"][CONF_USERNAME] == "username" - await hass.async_block_till_done() - - assert mock_setup_entry.called - - async def test_options_flow(hass: HomeAssistant, fc_class_mock, mock_get_source_ip): """Test options flow."""