hass-core/tests/helpers/test_network.py
Paulus Schoutsen 2af984917e
Use asynctest-mock in most places (#35109)
* Use asynctest-mock in most places

* Fix broken patch in pilight
2020-05-03 11:27:19 -07:00

34 lines
1.1 KiB
Python

"""Test network helper."""
from homeassistant.components import cloud
from homeassistant.helpers import network
from tests.async_mock import Mock, patch
async def test_get_external_url(hass):
"""Test get_external_url."""
hass.config.api = Mock(base_url="http://192.168.1.100:8123")
assert network.async_get_external_url(hass) is None
hass.config.api = Mock(base_url="http://example.duckdns.org:8123")
assert network.async_get_external_url(hass) == "http://example.duckdns.org:8123"
hass.config.components.add("cloud")
assert network.async_get_external_url(hass) == "http://example.duckdns.org:8123"
with patch.object(
hass.components.cloud,
"async_remote_ui_url",
side_effect=cloud.CloudNotAvailable,
):
assert network.async_get_external_url(hass) == "http://example.duckdns.org:8123"
with patch.object(
hass.components.cloud,
"async_remote_ui_url",
return_value="https://example.nabu.casa",
):
assert network.async_get_external_url(hass) == "https://example.nabu.casa"