From 9134e5c8444b9c61377905bee564f67a566a6067 Mon Sep 17 00:00:00 2001 From: Joshua Roys Date: Fri, 11 Feb 2022 17:46:17 -0500 Subject: [PATCH] Get discovered zeroconf IPv6 addresses (#65462) --- .../components/homekit_controller/config_flow.py | 1 + homeassistant/components/zeroconf/__init__.py | 2 ++ tests/components/apple_tv/test_config_flow.py | 13 +++++++++++++ tests/components/axis/test_config_flow.py | 5 +++++ tests/components/axis/test_device.py | 1 + tests/components/bond/test_config_flow.py | 8 ++++++++ tests/components/bosch_shc/test_config_flow.py | 2 ++ tests/components/brother/test_config_flow.py | 5 +++++ tests/components/daikin/test_config_flow.py | 1 + tests/components/devolo_home_control/const.py | 3 +++ tests/components/devolo_home_network/const.py | 2 ++ tests/components/doorbird/test_config_flow.py | 4 ++++ tests/components/elgato/test_config_flow.py | 4 ++++ tests/components/enphase_envoy/test_config_flow.py | 3 +++ tests/components/esphome/test_config_flow.py | 6 ++++++ tests/components/forked_daapd/test_config_flow.py | 6 ++++++ tests/components/freebox/test_config_flow.py | 1 + tests/components/gogogate2/test_config_flow.py | 5 +++++ tests/components/guardian/test_config_flow.py | 2 ++ tests/components/homekit_controller/common.py | 1 + .../homekit_controller/test_config_flow.py | 1 + tests/components/homewizard/test_config_flow.py | 4 ++++ tests/components/hue/test_config_flow.py | 4 ++++ .../hunterdouglas_powerview/test_config_flow.py | 2 ++ tests/components/ipp/__init__.py | 2 ++ tests/components/kodi/util.py | 2 ++ tests/components/lookin/__init__.py | 1 + tests/components/lutron_caseta/test_config_flow.py | 4 ++++ tests/components/modern_forms/test_config_flow.py | 4 ++++ tests/components/nam/test_config_flow.py | 1 + tests/components/nanoleaf/test_config_flow.py | 2 ++ tests/components/netatmo/test_config_flow.py | 1 + tests/components/nut/test_config_flow.py | 1 + tests/components/octoprint/test_config_flow.py | 2 ++ tests/components/overkiz/test_config_flow.py | 1 + tests/components/plugwise/test_config_flow.py | 2 ++ tests/components/rachio/test_config_flow.py | 2 ++ tests/components/rainmachine/test_config_flow.py | 5 +++++ tests/components/roku/__init__.py | 1 + tests/components/samsungtv/test_config_flow.py | 1 + tests/components/shelly/test_config_flow.py | 1 + tests/components/smappee/test_config_flow.py | 8 ++++++++ tests/components/sonos/conftest.py | 1 + tests/components/sonos/test_config_flow.py | 1 + tests/components/spotify/test_config_flow.py | 1 + tests/components/system_bridge/test_config_flow.py | 2 ++ tests/components/tado/test_config_flow.py | 2 ++ tests/components/tradfri/test_config_flow.py | 5 +++++ tests/components/vizio/const.py | 1 + tests/components/volumio/test_config_flow.py | 1 + tests/components/wled/test_config_flow.py | 5 +++++ tests/components/xiaomi_aqara/test_config_flow.py | 3 +++ tests/components/xiaomi_miio/test_config_flow.py | 5 +++++ tests/components/yeelight/__init__.py | 1 + tests/components/yeelight/test_config_flow.py | 3 +++ tests/components/zeroconf/test_init.py | 1 + tests/components/zha/test_config_flow.py | 4 ++++ 57 files changed, 163 insertions(+) diff --git a/homeassistant/components/homekit_controller/config_flow.py b/homeassistant/components/homekit_controller/config_flow.py index 9053c79b939..3784e2830d7 100644 --- a/homeassistant/components/homekit_controller/config_flow.py +++ b/homeassistant/components/homekit_controller/config_flow.py @@ -162,6 +162,7 @@ class HomekitControllerFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): return await self.async_step_zeroconf( zeroconf.ZeroconfServiceInfo( host=record["address"], + addresses=[record["address"]], port=record["port"], hostname=record["name"], type="_hap._tcp.local.", diff --git a/homeassistant/components/zeroconf/__init__.py b/homeassistant/components/zeroconf/__init__.py index 1dc70cde610..78ad9b25cd7 100644 --- a/homeassistant/components/zeroconf/__init__.py +++ b/homeassistant/components/zeroconf/__init__.py @@ -101,6 +101,7 @@ class ZeroconfServiceInfo(BaseServiceInfo): """Prepared info from mDNS entries.""" host: str + addresses: list[str] port: int | None hostname: str type: str @@ -547,6 +548,7 @@ def info_from_service(service: AsyncServiceInfo) -> ZeroconfServiceInfo | None: return ZeroconfServiceInfo( host=str(host), + addresses=service.parsed_addresses(), port=service.port, hostname=service.server, type=service.type, diff --git a/tests/components/apple_tv/test_config_flow.py b/tests/components/apple_tv/test_config_flow.py index b4811e57739..ca617026d94 100644 --- a/tests/components/apple_tv/test_config_flow.py +++ b/tests/components/apple_tv/test_config_flow.py @@ -22,6 +22,7 @@ from tests.common import MockConfigEntry DMAP_SERVICE = zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_touch-able._tcp.local.", @@ -32,6 +33,7 @@ DMAP_SERVICE = zeroconf.ZeroconfServiceInfo( RAOP_SERVICE = zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_raop._tcp.local.", @@ -531,6 +533,7 @@ async def test_zeroconf_unsupported_service_aborts(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="mock_name", port=None, @@ -549,6 +552,7 @@ async def test_zeroconf_add_mrp_device(hass, mrp_device, pairing): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.2", + addresses=["127.0.0.2"], hostname="mock_hostname", port=None, name="Kitchen", @@ -563,6 +567,7 @@ async def test_zeroconf_add_mrp_device(hass, mrp_device, pairing): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, name="Kitchen", @@ -750,6 +755,7 @@ async def test_zeroconf_abort_if_other_in_progress(hass, mock_scan): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_airplay._tcp.local.", @@ -772,6 +778,7 @@ async def test_zeroconf_abort_if_other_in_progress(hass, mock_scan): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_mediaremotetv._tcp.local.", @@ -797,6 +804,7 @@ async def test_zeroconf_missing_device_during_protocol_resolve( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_airplay._tcp.local.", @@ -818,6 +826,7 @@ async def test_zeroconf_missing_device_during_protocol_resolve( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_mediaremotetv._tcp.local.", @@ -853,6 +862,7 @@ async def test_zeroconf_additional_protocol_resolve_failure( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_airplay._tcp.local.", @@ -874,6 +884,7 @@ async def test_zeroconf_additional_protocol_resolve_failure( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_mediaremotetv._tcp.local.", @@ -911,6 +922,7 @@ async def test_zeroconf_pair_additionally_found_protocols( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_airplay._tcp.local.", @@ -953,6 +965,7 @@ async def test_zeroconf_pair_additionally_found_protocols( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", port=None, type="_mediaremotetv._tcp.local.", diff --git a/tests/components/axis/test_config_flow.py b/tests/components/axis/test_config_flow.py index bc03cb99f07..112fa57fa64 100644 --- a/tests/components/axis/test_config_flow.py +++ b/tests/components/axis/test_config_flow.py @@ -298,6 +298,7 @@ async def test_reauth_flow_update_configuration(hass): SOURCE_ZEROCONF, zeroconf.ZeroconfServiceInfo( host=DEFAULT_HOST, + addresses=[DEFAULT_HOST], port=80, hostname=f"axis-{MAC.lower()}.local.", type="_axis-video._tcp.local.", @@ -376,6 +377,7 @@ async def test_discovery_flow(hass, source: str, discovery_info: dict): SOURCE_ZEROCONF, zeroconf.ZeroconfServiceInfo( host=DEFAULT_HOST, + addresses=[DEFAULT_HOST], hostname="mock_hostname", name=f"AXIS M1065-LW - {MAC}._axis-video._tcp.local.", port=80, @@ -430,6 +432,7 @@ async def test_discovered_device_already_configured( SOURCE_ZEROCONF, zeroconf.ZeroconfServiceInfo( host="2.3.4.5", + addresses=["2.3.4.5"], hostname="mock_hostname", name=f"AXIS M1065-LW - {MAC}._axis-video._tcp.local.", port=8080, @@ -504,6 +507,7 @@ async def test_discovery_flow_updated_configuration( SOURCE_ZEROCONF, zeroconf.ZeroconfServiceInfo( host="", + addresses=[""], hostname="mock_hostname", name="", port=0, @@ -552,6 +556,7 @@ async def test_discovery_flow_ignore_non_axis_device( SOURCE_ZEROCONF, zeroconf.ZeroconfServiceInfo( host="169.254.3.4", + addresses=["169.254.3.4"], hostname="mock_hostname", name=f"AXIS M1065-LW - {MAC}._axis-video._tcp.local.", port=80, diff --git a/tests/components/axis/test_device.py b/tests/components/axis/test_device.py index d43845e01ad..cca62babbb5 100644 --- a/tests/components/axis/test_device.py +++ b/tests/components/axis/test_device.py @@ -385,6 +385,7 @@ async def test_update_address(hass): AXIS_DOMAIN, data=zeroconf.ZeroconfServiceInfo( host="2.3.4.5", + addresses=["2.3.4.5"], hostname="mock_hostname", name="name", port=80, diff --git a/tests/components/bond/test_config_flow.py b/tests/components/bond/test_config_flow.py index b36637897d8..5d3b357b9f7 100644 --- a/tests/components/bond/test_config_flow.py +++ b/tests/components/bond/test_config_flow.py @@ -201,6 +201,7 @@ async def test_zeroconf_form(hass: core.HomeAssistant): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="test-host", + addresses=["test-host"], hostname="mock_hostname", name="test-bond-id.some-other-tail-info", port=None, @@ -238,6 +239,7 @@ async def test_zeroconf_form_token_unavailable(hass: core.HomeAssistant): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="test-host", + addresses=["test-host"], hostname="mock_hostname", name="test-bond-id.some-other-tail-info", port=None, @@ -278,6 +280,7 @@ async def test_zeroconf_form_with_token_available(hass: core.HomeAssistant): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="test-host", + addresses=["test-host"], hostname="mock_hostname", name="test-bond-id.some-other-tail-info", port=None, @@ -318,6 +321,7 @@ async def test_zeroconf_form_with_token_available_name_unavailable( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="test-host", + addresses=["test-host"], hostname="mock_hostname", name="test-bond-id.some-other-tail-info", port=None, @@ -361,6 +365,7 @@ async def test_zeroconf_already_configured(hass: core.HomeAssistant): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="updated-host", + addresses=["updated-host"], hostname="mock_hostname", name="already-registered-bond-id.some-other-tail-info", port=None, @@ -405,6 +410,7 @@ async def test_zeroconf_already_configured_refresh_token(hass: core.HomeAssistan context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="updated-host", + addresses=["updated-host"], hostname="mock_hostname", name="already-registered-bond-id.some-other-tail-info", port=None, @@ -442,6 +448,7 @@ async def test_zeroconf_already_configured_no_reload_same_host( context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="stored-host", + addresses=["stored-host"], hostname="mock_hostname", name="already-registered-bond-id.some-other-tail-info", port=None, @@ -463,6 +470,7 @@ async def test_zeroconf_form_unexpected_error(hass: core.HomeAssistant): source=config_entries.SOURCE_ZEROCONF, initial_input=zeroconf.ZeroconfServiceInfo( host="test-host", + addresses=["test-host"], hostname="mock_hostname", name="test-bond-id.some-other-tail-info", port=None, diff --git a/tests/components/bosch_shc/test_config_flow.py b/tests/components/bosch_shc/test_config_flow.py index 065035bedbe..e7c5e6d7d4d 100644 --- a/tests/components/bosch_shc/test_config_flow.py +++ b/tests/components/bosch_shc/test_config_flow.py @@ -22,6 +22,7 @@ MOCK_SETTINGS = { } DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="shc012345.local.", name="Bosch SHC [test-mac]._http._tcp.local.", port=0, @@ -533,6 +534,7 @@ async def test_zeroconf_not_bosch_shc(hass, mock_zeroconf): DOMAIN, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="mock_hostname", name="notboschshc", port=None, diff --git a/tests/components/brother/test_config_flow.py b/tests/components/brother/test_config_flow.py index 3bc7738bb8d..6dbaebdfa7b 100644 --- a/tests/components/brother/test_config_flow.py +++ b/tests/components/brother/test_config_flow.py @@ -146,6 +146,7 @@ async def test_zeroconf_snmp_error(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="example.local.", name="Brother Printer", port=None, @@ -166,6 +167,7 @@ async def test_zeroconf_unsupported_model(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="example.local.", name="Brother Printer", port=None, @@ -194,6 +196,7 @@ async def test_zeroconf_device_exists_abort(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="example.local.", name="Brother Printer", port=None, @@ -216,6 +219,7 @@ async def test_zeroconf_no_probe_existing_device(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="localhost", name="Brother Printer", port=None, @@ -242,6 +246,7 @@ async def test_zeroconf_confirm_create_entry(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="example.local.", name="Brother Printer", port=None, diff --git a/tests/components/daikin/test_config_flow.py b/tests/components/daikin/test_config_flow.py index 5421f6e1d52..3a6a56fe097 100644 --- a/tests/components/daikin/test_config_flow.py +++ b/tests/components/daikin/test_config_flow.py @@ -124,6 +124,7 @@ async def test_api_password_abort(hass): SOURCE_ZEROCONF, zeroconf.ZeroconfServiceInfo( host=HOST, + addresses=[HOST], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/devolo_home_control/const.py b/tests/components/devolo_home_control/const.py index 96686e204eb..96090195d20 100644 --- a/tests/components/devolo_home_control/const.py +++ b/tests/components/devolo_home_control/const.py @@ -4,6 +4,7 @@ from homeassistant.components import zeroconf DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host="192.168.0.1", + addresses=["192.168.0.1"], port=14791, hostname="test.local.", type="_dvl-deviceapi._tcp.local.", @@ -21,6 +22,7 @@ DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( DISCOVERY_INFO_WRONG_DEVOLO_DEVICE = zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="mock_hostname", name="mock_name", port=None, @@ -30,6 +32,7 @@ DISCOVERY_INFO_WRONG_DEVOLO_DEVICE = zeroconf.ZeroconfServiceInfo( DISCOVERY_INFO_WRONG_DEVICE = zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/devolo_home_network/const.py b/tests/components/devolo_home_network/const.py index 681c2673dff..0e48833a78b 100644 --- a/tests/components/devolo_home_network/const.py +++ b/tests/components/devolo_home_network/const.py @@ -18,6 +18,7 @@ CONNECTED_STATIONS = { DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host=IP, + addresses=[IP], port=14791, hostname="test.local.", type="_dvl-deviceapi._tcp.local.", @@ -38,6 +39,7 @@ DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( DISCOVERY_INFO_WRONG_DEVICE = zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/doorbird/test_config_flow.py b/tests/components/doorbird/test_config_flow.py index ccb05b327ac..10cc4a4fb77 100644 --- a/tests/components/doorbird/test_config_flow.py +++ b/tests/components/doorbird/test_config_flow.py @@ -84,6 +84,7 @@ async def test_form_zeroconf_wrong_oui(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.8", + addresses=["192.168.1.8"], hostname="mock_hostname", name="Doorstation - abc123._axis-video._tcp.local.", port=None, @@ -103,6 +104,7 @@ async def test_form_zeroconf_link_local_ignored(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="169.254.103.61", + addresses=["169.254.103.61"], hostname="mock_hostname", name="Doorstation - abc123._axis-video._tcp.local.", port=None, @@ -129,6 +131,7 @@ async def test_form_zeroconf_correct_oui(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.5", + addresses=["192.168.1.5"], hostname="mock_hostname", name="Doorstation - abc123._axis-video._tcp.local.", port=None, @@ -191,6 +194,7 @@ async def test_form_zeroconf_correct_oui_wrong_device(hass, doorbell_state_side_ context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.5", + addresses=["192.168.1.5"], hostname="mock_hostname", name="Doorstation - abc123._axis-video._tcp.local.", port=None, diff --git a/tests/components/elgato/test_config_flow.py b/tests/components/elgato/test_config_flow.py index dffd59cedcc..fdc0ad834d1 100644 --- a/tests/components/elgato/test_config_flow.py +++ b/tests/components/elgato/test_config_flow.py @@ -61,6 +61,7 @@ async def test_full_zeroconf_flow_implementation( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="example.local.", name="mock_name", port=9123, @@ -126,6 +127,7 @@ async def test_zeroconf_connection_error( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="mock_name", port=9123, @@ -167,6 +169,7 @@ async def test_zeroconf_device_exists_abort( context={CONF_SOURCE: SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="mock_name", port=9123, @@ -187,6 +190,7 @@ async def test_zeroconf_device_exists_abort( context={CONF_SOURCE: SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="127.0.0.2", + addresses=["127.0.0.2"], hostname="mock_hostname", name="mock_name", port=9123, diff --git a/tests/components/enphase_envoy/test_config_flow.py b/tests/components/enphase_envoy/test_config_flow.py index d8b23ac9864..76179c02e22 100644 --- a/tests/components/enphase_envoy/test_config_flow.py +++ b/tests/components/enphase_envoy/test_config_flow.py @@ -212,6 +212,7 @@ async def test_zeroconf(hass: HomeAssistant) -> None: context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="mock_hostname", name="mock_name", port=None, @@ -312,6 +313,7 @@ async def test_zeroconf_serial_already_exists(hass: HomeAssistant) -> None: context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="mock_hostname", name="mock_name", port=None, @@ -351,6 +353,7 @@ async def test_zeroconf_host_already_exists(hass: HomeAssistant) -> None: context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/esphome/test_config_flow.py b/tests/components/esphome/test_config_flow.py index 25103c4fe2a..f7da5d66bd5 100644 --- a/tests/components/esphome/test_config_flow.py +++ b/tests/components/esphome/test_config_flow.py @@ -218,6 +218,7 @@ async def test_discovery_initiation(hass, mock_client, mock_zeroconf): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], hostname="test8266.local.", name="mock_name", port=6053, @@ -252,6 +253,7 @@ async def test_discovery_already_configured_hostname(hass, mock_client): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], hostname="test8266.local.", name="mock_name", port=6053, @@ -279,6 +281,7 @@ async def test_discovery_already_configured_ip(hass, mock_client): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], hostname="test8266.local.", name="mock_name", port=6053, @@ -310,6 +313,7 @@ async def test_discovery_already_configured_name(hass, mock_client): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.184", + addresses=["192.168.43.184"], hostname="test8266.local.", name="mock_name", port=6053, @@ -331,6 +335,7 @@ async def test_discovery_duplicate_data(hass, mock_client): """Test discovery aborts if same mDNS packet arrives.""" service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], hostname="test8266.local.", name="mock_name", port=6053, @@ -364,6 +369,7 @@ async def test_discovery_updates_unique_id(hass, mock_client): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], hostname="test8266.local.", name="mock_name", port=6053, diff --git a/tests/components/forked_daapd/test_config_flow.py b/tests/components/forked_daapd/test_config_flow.py index abd2f1ab3a2..fd4d82b177c 100644 --- a/tests/components/forked_daapd/test_config_flow.py +++ b/tests/components/forked_daapd/test_config_flow.py @@ -101,6 +101,7 @@ async def test_zeroconf_updates_title(hass, config_entry): assert len(hass.config_entries.async_entries(DOMAIN)) == 2 discovery_info = zeroconf.ZeroconfServiceInfo( host="192.168.1.1", + addresses=["192.168.1.1"], hostname="mock_hostname", name="mock_name", port=23, @@ -135,6 +136,7 @@ async def test_config_flow_zeroconf_invalid(hass): # test with no discovery properties discovery_info = zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="mock_name", port=23, @@ -149,6 +151,7 @@ async def test_config_flow_zeroconf_invalid(hass): # test with forked-daapd version < 27 discovery_info = zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="mock_name", port=23, @@ -163,6 +166,7 @@ async def test_config_flow_zeroconf_invalid(hass): # test with verbose mtd-version from Firefly discovery_info = zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="mock_name", port=23, @@ -177,6 +181,7 @@ async def test_config_flow_zeroconf_invalid(hass): # test with svn mtd-version from Firefly discovery_info = zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="mock_name", port=23, @@ -194,6 +199,7 @@ async def test_config_flow_zeroconf_valid(hass): """Test that a valid zeroconf entry works.""" discovery_info = zeroconf.ZeroconfServiceInfo( host="192.168.1.1", + addresses=["192.168.1.1"], hostname="mock_hostname", name="mock_name", port=23, diff --git a/tests/components/freebox/test_config_flow.py b/tests/components/freebox/test_config_flow.py index 3bffd213b72..cee1c28cebd 100644 --- a/tests/components/freebox/test_config_flow.py +++ b/tests/components/freebox/test_config_flow.py @@ -20,6 +20,7 @@ from tests.common import MockConfigEntry MOCK_ZEROCONF_DATA = zeroconf.ZeroconfServiceInfo( host="192.168.0.254", + addresses=["192.168.0.254"], port=80, hostname="Freebox-Server.local.", type="_fbx-api._tcp.local.", diff --git a/tests/components/gogogate2/test_config_flow.py b/tests/components/gogogate2/test_config_flow.py index a20687c5f3d..713295c0efd 100644 --- a/tests/components/gogogate2/test_config_flow.py +++ b/tests/components/gogogate2/test_config_flow.py @@ -109,6 +109,7 @@ async def test_form_homekit_unique_id_already_setup(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="mock_name", port=None, @@ -136,6 +137,7 @@ async def test_form_homekit_unique_id_already_setup(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="mock_name", port=None, @@ -160,6 +162,7 @@ async def test_form_homekit_ip_address_already_setup(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="mock_name", port=None, @@ -178,6 +181,7 @@ async def test_form_homekit_ip_address(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="mock_name", port=None, @@ -260,6 +264,7 @@ async def test_discovered_by_homekit_and_dhcp(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/guardian/test_config_flow.py b/tests/components/guardian/test_config_flow.py index fc3157289e9..a56aa6355e8 100644 --- a/tests/components/guardian/test_config_flow.py +++ b/tests/components/guardian/test_config_flow.py @@ -74,6 +74,7 @@ async def test_step_zeroconf(hass, setup_guardian): """Test the zeroconf step.""" zeroconf_data = zeroconf.ZeroconfServiceInfo( host="192.168.1.100", + addresses=["192.168.1.100"], port=7777, hostname="GVC1-ABCD.local.", type="_api._udp.local.", @@ -103,6 +104,7 @@ async def test_step_zeroconf_already_in_progress(hass): """Test the zeroconf step aborting because it's already in progress.""" zeroconf_data = zeroconf.ZeroconfServiceInfo( host="192.168.1.100", + addresses=["192.168.1.100"], port=7777, hostname="GVC1-ABCD.local.", type="_api._udp.local.", diff --git a/tests/components/homekit_controller/common.py b/tests/components/homekit_controller/common.py index 7fae69ee01b..8f59fae8639 100644 --- a/tests/components/homekit_controller/common.py +++ b/tests/components/homekit_controller/common.py @@ -222,6 +222,7 @@ async def device_config_changed(hass, accessories): discovery_info = zeroconf.ZeroconfServiceInfo( host="127.0.0.1", + addresses=["127.0.0.1"], hostname="mock_hostname", name="TestDevice", port=8080, diff --git a/tests/components/homekit_controller/test_config_flow.py b/tests/components/homekit_controller/test_config_flow.py index c9354297a43..8a1f77d0e4c 100644 --- a/tests/components/homekit_controller/test_config_flow.py +++ b/tests/components/homekit_controller/test_config_flow.py @@ -141,6 +141,7 @@ def get_device_discovery_info( record = device.info result = zeroconf.ZeroconfServiceInfo( host=record["address"], + addresses=[record["address"]], hostname=record["name"], name=record["name"], port=record["port"], diff --git a/tests/components/homewizard/test_config_flow.py b/tests/components/homewizard/test_config_flow.py index 061b7b634d4..d0dc7d04509 100644 --- a/tests/components/homewizard/test_config_flow.py +++ b/tests/components/homewizard/test_config_flow.py @@ -58,6 +58,7 @@ async def test_discovery_flow_works(hass, aioclient_mock): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], port=80, hostname="p1meter-ddeeff.local.", type="", @@ -140,6 +141,7 @@ async def test_discovery_disabled_api(hass, aioclient_mock): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], port=80, hostname="p1meter-ddeeff.local.", type="", @@ -178,6 +180,7 @@ async def test_discovery_missing_data_in_service_info(hass, aioclient_mock): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], port=80, hostname="p1meter-ddeeff.local.", type="", @@ -206,6 +209,7 @@ async def test_discovery_invalid_api(hass, aioclient_mock): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.43.183", + addresses=["192.168.43.183"], port=80, hostname="p1meter-ddeeff.local.", type="", diff --git a/tests/components/hue/test_config_flow.py b/tests/components/hue/test_config_flow.py index 0aa032ddb0d..3c7a07ef5d6 100644 --- a/tests/components/hue/test_config_flow.py +++ b/tests/components/hue/test_config_flow.py @@ -566,6 +566,7 @@ async def test_bridge_homekit(hass, aioclient_mock): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="0.0.0.0", + addresses=["0.0.0.0"], hostname="mock_hostname", name="mock_name", port=None, @@ -613,6 +614,7 @@ async def test_bridge_homekit_already_configured(hass, aioclient_mock): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="0.0.0.0", + addresses=["0.0.0.0"], hostname="mock_hostname", name="mock_name", port=None, @@ -739,6 +741,7 @@ async def test_bridge_zeroconf(hass, aioclient_mock): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.217", + addresses=["192.168.1.217"], port=443, hostname="Philips-hue.local", type="_hue._tcp.local.", @@ -772,6 +775,7 @@ async def test_bridge_zeroconf_already_exists(hass, aioclient_mock): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.217", + addresses=["192.168.1.217"], port=443, hostname="Philips-hue.local", type="_hue._tcp.local.", diff --git a/tests/components/hunterdouglas_powerview/test_config_flow.py b/tests/components/hunterdouglas_powerview/test_config_flow.py index 7f5d4a569ed..114a747590e 100644 --- a/tests/components/hunterdouglas_powerview/test_config_flow.py +++ b/tests/components/hunterdouglas_powerview/test_config_flow.py @@ -13,6 +13,7 @@ from tests.common import MockConfigEntry, load_fixture HOMEKIT_DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="Hunter Douglas Powerview Hub._hap._tcp.local.", port=None, @@ -22,6 +23,7 @@ HOMEKIT_DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( ZEROCONF_DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="Hunter Douglas Powerview Hub._powerview._tcp.local.", port=None, diff --git a/tests/components/ipp/__init__.py b/tests/components/ipp/__init__.py index 0e88fb21baf..26e2c9b338e 100644 --- a/tests/components/ipp/__init__.py +++ b/tests/components/ipp/__init__.py @@ -38,6 +38,7 @@ MOCK_ZEROCONF_IPP_SERVICE_INFO = zeroconf.ZeroconfServiceInfo( type=IPP_ZEROCONF_SERVICE_TYPE, name=f"{ZEROCONF_NAME}.{IPP_ZEROCONF_SERVICE_TYPE}", host=ZEROCONF_HOST, + addresses=[ZEROCONF_HOST], hostname=ZEROCONF_HOSTNAME, port=ZEROCONF_PORT, properties={"rp": ZEROCONF_RP}, @@ -47,6 +48,7 @@ MOCK_ZEROCONF_IPPS_SERVICE_INFO = zeroconf.ZeroconfServiceInfo( type=IPPS_ZEROCONF_SERVICE_TYPE, name=f"{ZEROCONF_NAME}.{IPPS_ZEROCONF_SERVICE_TYPE}", host=ZEROCONF_HOST, + addresses=[ZEROCONF_HOST], hostname=ZEROCONF_HOSTNAME, port=ZEROCONF_PORT, properties={"rp": ZEROCONF_RP}, diff --git a/tests/components/kodi/util.py b/tests/components/kodi/util.py index c3aaca16d5a..5b8b07583c5 100644 --- a/tests/components/kodi/util.py +++ b/tests/components/kodi/util.py @@ -17,6 +17,7 @@ TEST_WS_PORT = {"ws_port": 9090} UUID = "11111111-1111-1111-1111-111111111111" TEST_DISCOVERY = zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], port=8080, hostname="hostname.local.", type="_xbmc-jsonrpc-h._tcp.local.", @@ -27,6 +28,7 @@ TEST_DISCOVERY = zeroconf.ZeroconfServiceInfo( TEST_DISCOVERY_WO_UUID = zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], port=8080, hostname="hostname.local.", type="_xbmc-jsonrpc-h._tcp.local.", diff --git a/tests/components/lookin/__init__.py b/tests/components/lookin/__init__.py index 911e984a57e..11426f20e57 100644 --- a/tests/components/lookin/__init__.py +++ b/tests/components/lookin/__init__.py @@ -19,6 +19,7 @@ ZC_NAME = f"LOOKin_{DEVICE_ID}" ZC_TYPE = "_lookin._tcp." ZEROCONF_DATA = ZeroconfServiceInfo( host=IP_ADDRESS, + addresses=[IP_ADDRESS], hostname=f"{ZC_NAME.lower()}.local.", port=80, type=ZC_TYPE, diff --git a/tests/components/lutron_caseta/test_config_flow.py b/tests/components/lutron_caseta/test_config_flow.py index 2b947c36982..47956e27002 100644 --- a/tests/components/lutron_caseta/test_config_flow.py +++ b/tests/components/lutron_caseta/test_config_flow.py @@ -427,6 +427,7 @@ async def test_zeroconf_host_already_configured(hass, tmpdir): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="LuTrOn-abc.local.", name="mock_name", port=None, @@ -454,6 +455,7 @@ async def test_zeroconf_lutron_id_already_configured(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="LuTrOn-abc.local.", name="mock_name", port=None, @@ -476,6 +478,7 @@ async def test_zeroconf_not_lutron_device(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="notlutron-abc.local.", name="mock_name", port=None, @@ -504,6 +507,7 @@ async def test_zeroconf(hass, source, tmpdir): context={"source": source}, data=zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="LuTrOn-abc.local.", name="mock_name", port=None, diff --git a/tests/components/modern_forms/test_config_flow.py b/tests/components/modern_forms/test_config_flow.py index b1b2eb618af..931d2918fe2 100644 --- a/tests/components/modern_forms/test_config_flow.py +++ b/tests/components/modern_forms/test_config_flow.py @@ -71,6 +71,7 @@ async def test_full_zeroconf_flow_implementation( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, @@ -140,6 +141,7 @@ async def test_zeroconf_connection_error( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, @@ -171,6 +173,7 @@ async def test_zeroconf_confirm_connection_error( }, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.com.", name="mock_name", port=None, @@ -240,6 +243,7 @@ async def test_zeroconf_with_mac_device_exists_abort( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, diff --git a/tests/components/nam/test_config_flow.py b/tests/components/nam/test_config_flow.py index 015c645a3e7..9479e29cdea 100644 --- a/tests/components/nam/test_config_flow.py +++ b/tests/components/nam/test_config_flow.py @@ -14,6 +14,7 @@ from tests.common import MockConfigEntry DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host="10.10.2.3", + addresses=["10.10.2.3"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/nanoleaf/test_config_flow.py b/tests/components/nanoleaf/test_config_flow.py index 4e4a48e9bfe..305f88a2e90 100644 --- a/tests/components/nanoleaf/test_config_flow.py +++ b/tests/components/nanoleaf/test_config_flow.py @@ -238,6 +238,7 @@ async def test_discovery_link_unavailable( context={"source": source}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name=f"{TEST_NAME}.{type_in_discovery_info}", port=None, @@ -422,6 +423,7 @@ async def test_import_discovery_integration( context={"source": source}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name=f"{TEST_NAME}.{type_in_discovery}", port=None, diff --git a/tests/components/netatmo/test_config_flow.py b/tests/components/netatmo/test_config_flow.py index b97f4c8b4ec..30fb5fd3d47 100644 --- a/tests/components/netatmo/test_config_flow.py +++ b/tests/components/netatmo/test_config_flow.py @@ -42,6 +42,7 @@ async def test_abort_if_existing_entry(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="0.0.0.0", + addresses=["0.0.0.0"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/nut/test_config_flow.py b/tests/components/nut/test_config_flow.py index 733d5807c5f..2261fec3a86 100644 --- a/tests/components/nut/test_config_flow.py +++ b/tests/components/nut/test_config_flow.py @@ -37,6 +37,7 @@ async def test_form_zeroconf(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.5", + addresses=["192.168.1.5"], hostname="mock_hostname", name="mock_name", port=1234, diff --git a/tests/components/octoprint/test_config_flow.py b/tests/components/octoprint/test_config_flow.py index 422b47668aa..7769e082016 100644 --- a/tests/components/octoprint/test_config_flow.py +++ b/tests/components/octoprint/test_config_flow.py @@ -175,6 +175,7 @@ async def test_show_zerconf_form(hass: HomeAssistant) -> None: context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=80, @@ -496,6 +497,7 @@ async def test_duplicate_zerconf_ignored(hass: HomeAssistant) -> None: context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=80, diff --git a/tests/components/overkiz/test_config_flow.py b/tests/components/overkiz/test_config_flow.py index e80add482b0..db86a4abc5c 100644 --- a/tests/components/overkiz/test_config_flow.py +++ b/tests/components/overkiz/test_config_flow.py @@ -33,6 +33,7 @@ MOCK_GATEWAY2_RESPONSE = [Mock(id=TEST_GATEWAY_ID2)] FAKE_ZERO_CONF_INFO = ZeroconfServiceInfo( host="192.168.0.51", + addresses=["192.168.0.51"], port=443, hostname=f"gateway-{TEST_GATEWAY_ID}.local.", type="_kizbox._tcp.local.", diff --git a/tests/components/plugwise/test_config_flow.py b/tests/components/plugwise/test_config_flow.py index 3e9ce985a5c..9fdd0323518 100644 --- a/tests/components/plugwise/test_config_flow.py +++ b/tests/components/plugwise/test_config_flow.py @@ -38,6 +38,7 @@ TEST_USERNAME2 = "stretch" TEST_DISCOVERY = ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname=f"{TEST_HOSTNAME}.local.", name="mock_name", port=DEFAULT_PORT, @@ -51,6 +52,7 @@ TEST_DISCOVERY = ZeroconfServiceInfo( TEST_DISCOVERY2 = ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname=f"{TEST_HOSTNAME2}.local.", name="mock_name", port=DEFAULT_PORT, diff --git a/tests/components/rachio/test_config_flow.py b/tests/components/rachio/test_config_flow.py index cf9e811ed5a..00445f23c01 100644 --- a/tests/components/rachio/test_config_flow.py +++ b/tests/components/rachio/test_config_flow.py @@ -114,6 +114,7 @@ async def test_form_homekit(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="mock_hostname", name="mock_name", port=None, @@ -138,6 +139,7 @@ async def test_form_homekit(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/rainmachine/test_config_flow.py b/tests/components/rainmachine/test_config_flow.py index 4514bbfb9d8..5a0e1fc08cc 100644 --- a/tests/components/rainmachine/test_config_flow.py +++ b/tests/components/rainmachine/test_config_flow.py @@ -149,6 +149,7 @@ async def test_step_homekit_zeroconf_ip_already_exists( context={"source": source}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.100", + addresses=["192.168.1.100"], hostname="mock_hostname", name="mock_name", port=None, @@ -174,6 +175,7 @@ async def test_step_homekit_zeroconf_ip_change(hass, client, config_entry, sourc context={"source": source}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.2", + addresses=["192.168.1.2"], hostname="mock_hostname", name="mock_name", port=None, @@ -202,6 +204,7 @@ async def test_step_homekit_zeroconf_new_controller_when_some_exist( context={"source": source}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.100", + addresses=["192.168.1.100"], hostname="mock_hostname", name="mock_name", port=None, @@ -249,6 +252,7 @@ async def test_discovery_by_homekit_and_zeroconf_same_time(hass, client): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.100", + addresses=["192.168.1.100"], hostname="mock_hostname", name="mock_name", port=None, @@ -268,6 +272,7 @@ async def test_discovery_by_homekit_and_zeroconf_same_time(hass, client): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.100", + addresses=["192.168.1.100"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/roku/__init__.py b/tests/components/roku/__init__.py index c0e044a3589..2ae0b308f9a 100644 --- a/tests/components/roku/__init__.py +++ b/tests/components/roku/__init__.py @@ -24,6 +24,7 @@ HOMEKIT_HOST = "192.168.1.161" MOCK_HOMEKIT_DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host=HOMEKIT_HOST, + addresses=[HOMEKIT_HOST], hostname="mock_hostname", name="onn._hap._tcp.local.", port=None, diff --git a/tests/components/samsungtv/test_config_flow.py b/tests/components/samsungtv/test_config_flow.py index c2a258b2afa..199c7d87eed 100644 --- a/tests/components/samsungtv/test_config_flow.py +++ b/tests/components/samsungtv/test_config_flow.py @@ -101,6 +101,7 @@ MOCK_DHCP_DATA = dhcp.DhcpServiceInfo( EXISTING_IP = "192.168.40.221" MOCK_ZEROCONF_DATA = zeroconf.ZeroconfServiceInfo( host="fake_host", + addresses=["fake_host"], hostname="mock_hostname", name="mock_name", port=1234, diff --git a/tests/components/shelly/test_config_flow.py b/tests/components/shelly/test_config_flow.py index 12690a35faa..02e86ef03f8 100644 --- a/tests/components/shelly/test_config_flow.py +++ b/tests/components/shelly/test_config_flow.py @@ -19,6 +19,7 @@ MOCK_SETTINGS = { } DISCOVERY_INFO = zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="mock_hostname", name="shelly1pm-12345", port=None, diff --git a/tests/components/smappee/test_config_flow.py b/tests/components/smappee/test_config_flow.py index f6f988a3caa..16d330a21a8 100644 --- a/tests/components/smappee/test_config_flow.py +++ b/tests/components/smappee/test_config_flow.py @@ -57,6 +57,7 @@ async def test_show_zeroconf_connection_error_form(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="Smappee1006000212.local.", type="_ssh._tcp.local.", @@ -86,6 +87,7 @@ async def test_show_zeroconf_connection_error_form_next_generation(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="Smappee5001000212.local.", type="_ssh._tcp.local.", @@ -168,6 +170,7 @@ async def test_zeroconf_wrong_mdns(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="example.local.", type="_ssh._tcp.local.", @@ -278,6 +281,7 @@ async def test_zeroconf_device_exists_abort(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="Smappee1006000212.local.", type="_ssh._tcp.local.", @@ -327,6 +331,7 @@ async def test_zeroconf_abort_if_cloud_device_exists(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="Smappee1006000212.local.", type="_ssh._tcp.local.", @@ -346,6 +351,7 @@ async def test_zeroconf_confirm_abort_if_cloud_device_exists(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="Smappee1006000212.local.", type="_ssh._tcp.local.", @@ -465,6 +471,7 @@ async def test_full_zeroconf_flow(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="Smappee1006000212.local.", type="_ssh._tcp.local.", @@ -540,6 +547,7 @@ async def test_full_zeroconf_flow_next_generation(hass): context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], port=22, hostname="Smappee5001000212.local.", type="_ssh._tcp.local.", diff --git a/tests/components/sonos/conftest.py b/tests/components/sonos/conftest.py index d7791c6ce72..bc49c12ed81 100644 --- a/tests/components/sonos/conftest.py +++ b/tests/components/sonos/conftest.py @@ -50,6 +50,7 @@ def zeroconf_payload(): """Return a default zeroconf payload.""" return zeroconf.ZeroconfServiceInfo( host="192.168.4.2", + addresses=["192.168.4.2"], hostname="Sonos-aaa", name="Sonos-aaa@Living Room._sonos._tcp.local.", port=None, diff --git a/tests/components/sonos/test_config_flow.py b/tests/components/sonos/test_config_flow.py index aa2ce6cc0be..f0e6c81a411 100644 --- a/tests/components/sonos/test_config_flow.py +++ b/tests/components/sonos/test_config_flow.py @@ -158,6 +158,7 @@ async def test_zeroconf_sonos_v1(hass: core.HomeAssistant): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.107", + addresses=["192.168.1.107"], port=1443, hostname="sonos5CAAFDE47AC8.local.", type="_sonos._tcp.local.", diff --git a/tests/components/spotify/test_config_flow.py b/tests/components/spotify/test_config_flow.py index a1a77da1d10..e2f1878c04d 100644 --- a/tests/components/spotify/test_config_flow.py +++ b/tests/components/spotify/test_config_flow.py @@ -15,6 +15,7 @@ from tests.common import MockConfigEntry BLANK_ZEROCONF_INFO = zeroconf.ZeroconfServiceInfo( host="1.2.3.4", + addresses=["1.2.3.4"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/system_bridge/test_config_flow.py b/tests/components/system_bridge/test_config_flow.py index ecc36641e6c..94d116bbd36 100644 --- a/tests/components/system_bridge/test_config_flow.py +++ b/tests/components/system_bridge/test_config_flow.py @@ -30,6 +30,7 @@ FIXTURE_ZEROCONF_INPUT = { FIXTURE_ZEROCONF = zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], port=9170, hostname="test-bridge.local.", type="_system-bridge._udp.local.", @@ -47,6 +48,7 @@ FIXTURE_ZEROCONF = zeroconf.ZeroconfServiceInfo( FIXTURE_ZEROCONF_BAD = zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], port=9170, hostname="test-bridge.local.", type="_system-bridge._udp.local.", diff --git a/tests/components/tado/test_config_flow.py b/tests/components/tado/test_config_flow.py index 4c234fee248..8e30ff37de6 100644 --- a/tests/components/tado/test_config_flow.py +++ b/tests/components/tado/test_config_flow.py @@ -129,6 +129,7 @@ async def test_form_homekit(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="mock_hostname", name="mock_name", port=None, @@ -155,6 +156,7 @@ async def test_form_homekit(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/tradfri/test_config_flow.py b/tests/components/tradfri/test_config_flow.py index 12726bc553a..90fce929f58 100644 --- a/tests/components/tradfri/test_config_flow.py +++ b/tests/components/tradfri/test_config_flow.py @@ -106,6 +106,7 @@ async def test_discovery_connection(hass, mock_auth, mock_entry_setup): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="123.123.123.123", + addresses=["123.123.123.123"], hostname="mock_hostname", name="mock_name", port=None, @@ -261,6 +262,7 @@ async def test_discovery_duplicate_aborted(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="new-host", + addresses=["new-host"], hostname="mock_hostname", name="mock_name", port=None, @@ -296,6 +298,7 @@ async def test_duplicate_discovery(hass, mock_auth, mock_entry_setup): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="123.123.123.123", + addresses=["123.123.123.123"], hostname="mock_hostname", name="mock_name", port=None, @@ -311,6 +314,7 @@ async def test_duplicate_discovery(hass, mock_auth, mock_entry_setup): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="123.123.123.123", + addresses=["123.123.123.123"], hostname="mock_hostname", name="mock_name", port=None, @@ -335,6 +339,7 @@ async def test_discovery_updates_unique_id(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host="some-host", + addresses=["some-host"], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/vizio/const.py b/tests/components/vizio/const.py index b4a3fc04766..e39864a6157 100644 --- a/tests/components/vizio/const.py +++ b/tests/components/vizio/const.py @@ -199,6 +199,7 @@ ZEROCONF_PORT = HOST.split(":")[1] MOCK_ZEROCONF_SERVICE_INFO = zeroconf.ZeroconfServiceInfo( host=ZEROCONF_HOST, + addresses=[ZEROCONF_HOST], hostname="mock_hostname", name=ZEROCONF_NAME, port=ZEROCONF_PORT, diff --git a/tests/components/volumio/test_config_flow.py b/tests/components/volumio/test_config_flow.py index 3eb254784d1..8a47155815c 100644 --- a/tests/components/volumio/test_config_flow.py +++ b/tests/components/volumio/test_config_flow.py @@ -19,6 +19,7 @@ TEST_CONNECTION = { TEST_DISCOVERY = zeroconf.ZeroconfServiceInfo( host="1.1.1.1", + addresses=["1.1.1.1"], hostname="mock_hostname", name="mock_name", port=3000, diff --git a/tests/components/wled/test_config_flow.py b/tests/components/wled/test_config_flow.py index 27023708400..c23f35534b8 100644 --- a/tests/components/wled/test_config_flow.py +++ b/tests/components/wled/test_config_flow.py @@ -51,6 +51,7 @@ async def test_full_zeroconf_flow_implementation( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, @@ -110,6 +111,7 @@ async def test_zeroconf_connection_error( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, @@ -168,6 +170,7 @@ async def test_zeroconf_without_mac_device_exists_abort( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, @@ -192,6 +195,7 @@ async def test_zeroconf_with_mac_device_exists_abort( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, @@ -216,6 +220,7 @@ async def test_zeroconf_with_cct_channel_abort( context={"source": SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host="192.168.1.123", + addresses=["192.168.1.123"], hostname="example.local.", name="mock_name", port=None, diff --git a/tests/components/xiaomi_aqara/test_config_flow.py b/tests/components/xiaomi_aqara/test_config_flow.py index 554e0460443..c27f273f26b 100644 --- a/tests/components/xiaomi_aqara/test_config_flow.py +++ b/tests/components/xiaomi_aqara/test_config_flow.py @@ -403,6 +403,7 @@ async def test_zeroconf_success(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name=TEST_ZEROCONF_NAME, port=None, @@ -449,6 +450,7 @@ async def test_zeroconf_missing_data(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name=TEST_ZEROCONF_NAME, port=None, @@ -468,6 +470,7 @@ async def test_zeroconf_unknown_device(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name="not-a-xiaomi-aqara-gateway", port=None, diff --git a/tests/components/xiaomi_miio/test_config_flow.py b/tests/components/xiaomi_miio/test_config_flow.py index 3be52e83237..09f0b4c0fb6 100644 --- a/tests/components/xiaomi_miio/test_config_flow.py +++ b/tests/components/xiaomi_miio/test_config_flow.py @@ -394,6 +394,7 @@ async def test_zeroconf_gateway_success(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name=TEST_ZEROCONF_NAME, port=None, @@ -436,6 +437,7 @@ async def test_zeroconf_unknown_device(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name="not-a-xiaomi-miio-device", port=None, @@ -455,6 +457,7 @@ async def test_zeroconf_no_data(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=None, + addresses=[], hostname="mock_hostname", name=None, port=None, @@ -474,6 +477,7 @@ async def test_zeroconf_missing_data(hass): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name=TEST_ZEROCONF_NAME, port=None, @@ -771,6 +775,7 @@ async def zeroconf_device_success(hass, zeroconf_name_to_test, model_to_test): context={"source": config_entries.SOURCE_ZEROCONF}, data=zeroconf.ZeroconfServiceInfo( host=TEST_HOST, + addresses=[TEST_HOST], hostname="mock_hostname", name=zeroconf_name_to_test, port=None, diff --git a/tests/components/yeelight/__init__.py b/tests/components/yeelight/__init__.py index 81972ca4352..d0112c5a544 100644 --- a/tests/components/yeelight/__init__.py +++ b/tests/components/yeelight/__init__.py @@ -42,6 +42,7 @@ ID_DECIMAL = f"{int(ID, 16):08d}" ZEROCONF_DATA = zeroconf.ZeroconfServiceInfo( host=IP_ADDRESS, + addresses=[IP_ADDRESS], port=54321, hostname=f"yeelink-light-strip1_miio{ID_DECIMAL}.local.", type="_miio._udp.local.", diff --git a/tests/components/yeelight/test_config_flow.py b/tests/components/yeelight/test_config_flow.py index aa5e7f98a45..dd6c8fe1cbd 100644 --- a/tests/components/yeelight/test_config_flow.py +++ b/tests/components/yeelight/test_config_flow.py @@ -467,6 +467,7 @@ async def test_discovered_by_homekit_and_dhcp(hass): context={"source": config_entries.SOURCE_HOMEKIT}, data=zeroconf.ZeroconfServiceInfo( host=IP_ADDRESS, + addresses=[IP_ADDRESS], hostname="mock_hostname", name="mock_name", port=None, @@ -536,6 +537,7 @@ async def test_discovered_by_homekit_and_dhcp(hass): config_entries.SOURCE_HOMEKIT, zeroconf.ZeroconfServiceInfo( host=IP_ADDRESS, + addresses=[IP_ADDRESS], hostname="mock_hostname", name="mock_name", port=None, @@ -603,6 +605,7 @@ async def test_discovered_by_dhcp_or_homekit(hass, source, data): config_entries.SOURCE_HOMEKIT, zeroconf.ZeroconfServiceInfo( host=IP_ADDRESS, + addresses=[IP_ADDRESS], hostname="mock_hostname", name="mock_name", port=None, diff --git a/tests/components/zeroconf/test_init.py b/tests/components/zeroconf/test_init.py index 24b6ec97ec6..dc007d5c2c5 100644 --- a/tests/components/zeroconf/test_init.py +++ b/tests/components/zeroconf/test_init.py @@ -1095,6 +1095,7 @@ async def test_service_info_compatibility(hass, caplog): """ discovery_info = zeroconf.ZeroconfServiceInfo( host="mock_host", + addresses=["mock_host"], port=None, hostname="mock_hostname", type="mock_type", diff --git a/tests/components/zha/test_config_flow.py b/tests/components/zha/test_config_flow.py index fe03f759304..0c51ecffe9b 100644 --- a/tests/components/zha/test_config_flow.py +++ b/tests/components/zha/test_config_flow.py @@ -51,6 +51,7 @@ async def test_discovery(detect_mock, hass): """Test zeroconf flow -- radio detected.""" service_info = zeroconf.ZeroconfServiceInfo( host="192.168.1.200", + addresses=["192.168.1.200"], hostname="_tube_zb_gw._tcp.local.", name="mock_name", port=6053, @@ -95,6 +96,7 @@ async def test_discovery_via_zeroconf_ip_change(detect_mock, hass): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.1.22", + addresses=["192.168.1.22"], hostname="tube_zb_gw_cc2652p2_poe.local.", name="mock_name", port=6053, @@ -127,6 +129,7 @@ async def test_discovery_via_zeroconf_ip_change_ignored(detect_mock, hass): service_info = zeroconf.ZeroconfServiceInfo( host="192.168.1.22", + addresses=["192.168.1.22"], hostname="tube_zb_gw_cc2652p2_poe.local.", name="mock_name", port=6053, @@ -389,6 +392,7 @@ async def test_discovery_already_setup(detect_mock, hass): """Test zeroconf flow -- radio detected.""" service_info = zeroconf.ZeroconfServiceInfo( host="192.168.1.200", + addresses=["192.168.1.200"], hostname="_tube_zb_gw._tcp.local.", name="mock_name", port=6053,