mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Add cloud_connected method to CloudClient (#91997)
* Add cloud_connected method to CloudClient * Add cloud_disconnected method * Update client.py
This commit is contained in:
parent
50605e62bd
commit
b600c2cd85
@ -234,7 +234,6 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|||||||
websession = async_get_clientsession(hass)
|
websession = async_get_clientsession(hass)
|
||||||
client = CloudClient(hass, prefs, websession, alexa_conf, google_conf)
|
client = CloudClient(hass, prefs, websession, alexa_conf, google_conf)
|
||||||
cloud = hass.data[DOMAIN] = Cloud(client, **kwargs)
|
cloud = hass.data[DOMAIN] = Cloud(client, **kwargs)
|
||||||
cloud.iot.register_on_connect(client.on_cloud_connected)
|
|
||||||
|
|
||||||
async def _shutdown(event: Event) -> None:
|
async def _shutdown(event: Event) -> None:
|
||||||
"""Shutdown event."""
|
"""Shutdown event."""
|
||||||
|
@ -135,7 +135,7 @@ class CloudClient(Interface):
|
|||||||
|
|
||||||
return self._google_config
|
return self._google_config
|
||||||
|
|
||||||
async def on_cloud_connected(self) -> None:
|
async def cloud_connected(self) -> None:
|
||||||
"""When cloud is connected."""
|
"""When cloud is connected."""
|
||||||
is_new_user = await self.prefs.async_set_username(self.cloud.username)
|
is_new_user = await self.prefs.async_set_username(self.cloud.username)
|
||||||
|
|
||||||
@ -182,9 +182,6 @@ class CloudClient(Interface):
|
|||||||
if tasks:
|
if tasks:
|
||||||
await asyncio.gather(*(task(None) for task in tasks))
|
await asyncio.gather(*(task(None) for task in tasks))
|
||||||
|
|
||||||
async def cloud_connected(self) -> None:
|
|
||||||
"""When cloud connected."""
|
|
||||||
|
|
||||||
async def cloud_disconnected(self) -> None:
|
async def cloud_disconnected(self) -> None:
|
||||||
"""When cloud disconnected."""
|
"""When cloud disconnected."""
|
||||||
|
|
||||||
|
@ -306,7 +306,7 @@ async def test_set_username(hass: HomeAssistant) -> None:
|
|||||||
)
|
)
|
||||||
client = CloudClient(hass, prefs, None, {}, {})
|
client = CloudClient(hass, prefs, None, {}, {})
|
||||||
client.cloud = MagicMock(is_logged_in=True, username="mock-username")
|
client.cloud = MagicMock(is_logged_in=True, username="mock-username")
|
||||||
await client.on_cloud_connected()
|
await client.cloud_connected()
|
||||||
|
|
||||||
assert len(prefs.async_set_username.mock_calls) == 1
|
assert len(prefs.async_set_username.mock_calls) == 1
|
||||||
assert prefs.async_set_username.mock_calls[0][1][0] == "mock-username"
|
assert prefs.async_set_username.mock_calls[0][1][0] == "mock-username"
|
||||||
@ -326,7 +326,7 @@ async def test_login_recovers_bad_internet(
|
|||||||
client._alexa_config = Mock(
|
client._alexa_config = Mock(
|
||||||
async_enable_proactive_mode=Mock(side_effect=aiohttp.ClientError)
|
async_enable_proactive_mode=Mock(side_effect=aiohttp.ClientError)
|
||||||
)
|
)
|
||||||
await client.on_cloud_connected()
|
await client.cloud_connected()
|
||||||
assert len(client._alexa_config.async_enable_proactive_mode.mock_calls) == 1
|
assert len(client._alexa_config.async_enable_proactive_mode.mock_calls) == 1
|
||||||
assert "Unable to activate Alexa Report State" in caplog.text
|
assert "Unable to activate Alexa Report State" in caplog.text
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ async def test_on_connect(hass: HomeAssistant, mock_cloud_fixture) -> None:
|
|||||||
"""Test cloud on connect triggers."""
|
"""Test cloud on connect triggers."""
|
||||||
cl: Cloud[cloud.client.CloudClient] = hass.data["cloud"]
|
cl: Cloud[cloud.client.CloudClient] = hass.data["cloud"]
|
||||||
|
|
||||||
assert len(cl.iot._on_connect) == 4
|
assert len(cl.iot._on_connect) == 3
|
||||||
|
|
||||||
assert len(hass.states.async_entity_ids("binary_sensor")) == 0
|
assert len(hass.states.async_entity_ids("binary_sensor")) == 0
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user