Remove deprecated async_get_scanner from fritz (#63857)
Co-authored-by: epenet <epenet@users.noreply.github.com>pull/63877/head
parent
d8a3a26444
commit
431d15bf8b
|
@ -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."""
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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."""
|
||||
|
||||
|
|
Loading…
Reference in New Issue