From fa9465d0032efbf9dd6d18a6b0f4def7857b1add Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Sun, 21 Nov 2021 23:33:06 +0100 Subject: [PATCH] Use ZeroconfServiceInfo in system_bridge (#60102) --- .../components/system_bridge/config_flow.py | 7 ++-- .../system_bridge/test_config_flow.py | 33 ++++++++++--------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/homeassistant/components/system_bridge/config_flow.py b/homeassistant/components/system_bridge/config_flow.py index 8d0b7a5dfff..ef3c1ccd2e4 100644 --- a/homeassistant/components/system_bridge/config_flow.py +++ b/homeassistant/components/system_bridge/config_flow.py @@ -151,8 +151,9 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): self, discovery_info: zeroconf.ZeroconfServiceInfo ) -> FlowResult: """Handle zeroconf discovery.""" - host = discovery_info["properties"].get("ip") - uuid = discovery_info["properties"].get("uuid") + properties = discovery_info[zeroconf.ATTR_PROPERTIES] + host = properties.get("ip") + uuid = properties.get("uuid") if host is None or uuid is None: return self.async_abort(reason="unknown") @@ -164,7 +165,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): self._name = host self._input = { CONF_HOST: host, - CONF_PORT: discovery_info["properties"].get("port"), + CONF_PORT: properties.get("port"), } return await self.async_step_authenticate() diff --git a/tests/components/system_bridge/test_config_flow.py b/tests/components/system_bridge/test_config_flow.py index 1b46bb45a6d..f8163eb98d9 100644 --- a/tests/components/system_bridge/test_config_flow.py +++ b/tests/components/system_bridge/test_config_flow.py @@ -5,6 +5,7 @@ from aiohttp.client_exceptions import ClientConnectionError from systembridge.exceptions import BridgeAuthenticationException from homeassistant import config_entries, data_entry_flow +from homeassistant.components import zeroconf from homeassistant.components.system_bridge.const import DOMAIN from homeassistant.const import CONF_API_KEY, CONF_HOST, CONF_PORT @@ -27,13 +28,13 @@ FIXTURE_ZEROCONF_INPUT = { CONF_PORT: "9170", } -FIXTURE_ZEROCONF = { - CONF_HOST: "1.1.1.1", - CONF_PORT: 9170, - "hostname": "test-bridge.local.", - "type": "_system-bridge._udp.local.", - "name": "System Bridge - test-bridge._system-bridge._udp.local.", - "properties": { +FIXTURE_ZEROCONF = zeroconf.ZeroconfServiceInfo( + host="1.1.1.1", + port=9170, + hostname="test-bridge.local.", + type="_system-bridge._udp.local.", + name="System Bridge - test-bridge._system-bridge._udp.local.", + properties={ "address": "http://test-bridge:9170", "fqdn": "test-bridge", "host": "test-bridge", @@ -42,18 +43,18 @@ FIXTURE_ZEROCONF = { "port": "9170", "uuid": FIXTURE_UUID, }, -} +) -FIXTURE_ZEROCONF_BAD = { - CONF_HOST: "1.1.1.1", - CONF_PORT: 9170, - "hostname": "test-bridge.local.", - "type": "_system-bridge._udp.local.", - "name": "System Bridge - test-bridge._system-bridge._udp.local.", - "properties": { +FIXTURE_ZEROCONF_BAD = zeroconf.ZeroconfServiceInfo( + host="1.1.1.1", + port=9170, + hostname="test-bridge.local.", + type="_system-bridge._udp.local.", + name="System Bridge - test-bridge._system-bridge._udp.local.", + properties={ "something": "bad", }, -} +) FIXTURE_INFORMATION = { -- GitLab