From 25e526395488c100a51bca5dc4f2ed639291c934 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Sun, 21 Nov 2021 14:51:50 +0100 Subject: [PATCH] Use ZeroconfServiceInfo in nanoleaf (#60045) --- .../components/nanoleaf/config_flow.py | 8 +++--- tests/components/nanoleaf/test_config_flow.py | 25 ++++++++++--------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/homeassistant/components/nanoleaf/config_flow.py b/homeassistant/components/nanoleaf/config_flow.py index 1d0b31549df..f55a0d86b08 100644 --- a/homeassistant/components/nanoleaf/config_flow.py +++ b/homeassistant/components/nanoleaf/config_flow.py @@ -107,9 +107,11 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): ) -> FlowResult: """Handle Nanoleaf Homekit and Zeroconf discovery.""" return await self._async_discovery_handler( - discovery_info["host"], - discovery_info["name"].replace(f".{discovery_info['type']}", ""), - discovery_info["properties"]["id"], + discovery_info[zeroconf.ATTR_HOST], + discovery_info[zeroconf.ATTR_NAME].replace( + f".{discovery_info[zeroconf.ATTR_TYPE]}", "" + ), + discovery_info[zeroconf.ATTR_PROPERTIES][zeroconf.ATTR_PROPERTIES_ID], ) async def async_step_ssdp(self, discovery_info: DiscoveryInfoType) -> FlowResult: diff --git a/tests/components/nanoleaf/test_config_flow.py b/tests/components/nanoleaf/test_config_flow.py index ba0eff4abe3..5e781499325 100644 --- a/tests/components/nanoleaf/test_config_flow.py +++ b/tests/components/nanoleaf/test_config_flow.py @@ -7,6 +7,7 @@ from aionanoleaf import InvalidToken, NanoleafException, Unauthorized, Unavailab import pytest from homeassistant import config_entries +from homeassistant.components import zeroconf from homeassistant.components.nanoleaf.const import DOMAIN from homeassistant.const import CONF_HOST, CONF_TOKEN from homeassistant.core import HomeAssistant @@ -235,12 +236,12 @@ async def test_discovery_link_unavailable( result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": source}, - data={ - "host": TEST_HOST, - "name": f"{TEST_NAME}.{type_in_discovery_info}", - "type": type_in_discovery_info, - "properties": {"id": TEST_DEVICE_ID}, - }, + data=zeroconf.ZeroconfServiceInfo( + host=TEST_HOST, + name=f"{TEST_NAME}.{type_in_discovery_info}", + type=type_in_discovery_info, + properties={zeroconf.ATTR_PROPERTIES_ID: TEST_DEVICE_ID}, + ), ) assert result["type"] == "form" assert result["step_id"] == "link" @@ -417,12 +418,12 @@ async def test_import_discovery_integration( result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": source}, - data={ - "host": TEST_HOST, - "name": f"{TEST_NAME}.{type_in_discovery}", - "type": type_in_discovery, - "properties": {"id": TEST_DEVICE_ID}, - }, + data=zeroconf.ZeroconfServiceInfo( + host=TEST_HOST, + name=f"{TEST_NAME}.{type_in_discovery}", + type=type_in_discovery, + properties={zeroconf.ATTR_PROPERTIES_ID: TEST_DEVICE_ID}, + ), ) assert result["type"] == "create_entry" assert result["title"] == TEST_NAME