From 5a6be2370b447d2e81b8289b8ef0ebcdda593688 Mon Sep 17 00:00:00 2001 From: Simone Chemelli Date: Tue, 27 Jul 2021 21:19:29 +0200 Subject: [PATCH] Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 3 (#53424) --- homeassistant/components/emulated_roku/__init__.py | 8 ++++++-- homeassistant/components/emulated_roku/manifest.json | 1 + tests/components/emulated_roku/test_init.py | 6 +++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/emulated_roku/__init__.py b/homeassistant/components/emulated_roku/__init__.py index 4e577929644..45c9355603f 100644 --- a/homeassistant/components/emulated_roku/__init__.py +++ b/homeassistant/components/emulated_roku/__init__.py @@ -1,7 +1,9 @@ """Support for Roku API emulation.""" import voluptuous as vol -from homeassistant import config_entries, util +from homeassistant import config_entries +from homeassistant.components.network import async_get_source_ip +from homeassistant.components.network.const import PUBLIC_TARGET_IP from homeassistant.const import CONF_NAME import homeassistant.helpers.config_validation as cv @@ -71,7 +73,9 @@ async def async_setup_entry(hass, config_entry): name = config[CONF_NAME] listen_port = config[CONF_LISTEN_PORT] - host_ip = config.get(CONF_HOST_IP) or util.get_local_ip() + host_ip = config.get(CONF_HOST_IP) or await async_get_source_ip( + hass, PUBLIC_TARGET_IP + ) advertise_ip = config.get(CONF_ADVERTISE_IP) advertise_port = config.get(CONF_ADVERTISE_PORT) upnp_bind_multicast = config.get(CONF_UPNP_BIND_MULTICAST) diff --git a/homeassistant/components/emulated_roku/manifest.json b/homeassistant/components/emulated_roku/manifest.json index 6ef54d1d1cc..36a86137e87 100644 --- a/homeassistant/components/emulated_roku/manifest.json +++ b/homeassistant/components/emulated_roku/manifest.json @@ -4,6 +4,7 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/emulated_roku", "requirements": ["emulated_roku==0.2.1"], + "dependencies": ["network"], "codeowners": [], "iot_class": "local_push" } diff --git a/tests/components/emulated_roku/test_init.py b/tests/components/emulated_roku/test_init.py index 8f256ee4c79..d69df5a1fbe 100644 --- a/tests/components/emulated_roku/test_init.py +++ b/tests/components/emulated_roku/test_init.py @@ -93,7 +93,11 @@ async def test_setup_entry_successful(hass): async def test_unload_entry(hass): """Test being able to unload an entry.""" entry = Mock() - entry.data = {"name": "Emulated Roku Test", "listen_port": 8060} + entry.data = { + "name": "Emulated Roku Test", + "listen_port": 8060, + emulated_roku.CONF_HOST_IP: "1.2.3.5", + } with patch( "homeassistant.components.emulated_roku.binding.EmulatedRokuServer",