Don't reload integration for AuthError in Honeywell (#91228)
This commit is contained in:
parent
3364f0fce2
commit
799080eb00
2 changed files with 21 additions and 16 deletions
|
@ -419,11 +419,6 @@ class HoneywellUSThermostat(ClimateEntity):
|
|||
try:
|
||||
await self._data.client.login()
|
||||
|
||||
except aiosomecomfort.AuthError:
|
||||
self._attr_available = False
|
||||
await self.hass.async_create_task(
|
||||
self.hass.config_entries.async_reload(self._data.entry_id)
|
||||
)
|
||||
except (
|
||||
aiosomecomfort.SomeComfortError,
|
||||
ClientConnectionError,
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
"""Test the Whirlpool Sixth Sense climate domain."""
|
||||
import datetime
|
||||
from unittest.mock import MagicMock, patch
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from aiohttp import ClientConnectionError
|
||||
import aiosomecomfort
|
||||
import pytest
|
||||
from syrupy.assertion import SnapshotAssertion
|
||||
|
@ -1020,17 +1021,26 @@ async def test_async_update_errors(
|
|||
# "reload integration" test
|
||||
device.refresh.side_effect = aiosomecomfort.SomeComfortError
|
||||
client.login.side_effect = aiosomecomfort.AuthError
|
||||
with patch("homeassistant.config_entries.ConfigEntries.async_reload") as reload:
|
||||
async_fire_time_changed(
|
||||
hass,
|
||||
utcnow() + SCAN_INTERVAL,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
async_fire_time_changed(
|
||||
hass,
|
||||
utcnow() + SCAN_INTERVAL,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
entity_id = f"climate.{device.name}"
|
||||
state = hass.states.get(entity_id)
|
||||
assert state.state == "unavailable"
|
||||
assert reload.called_once()
|
||||
entity_id = f"climate.{device.name}"
|
||||
state = hass.states.get(entity_id)
|
||||
assert state.state == "unavailable"
|
||||
|
||||
device.refresh.side_effect = ClientConnectionError
|
||||
async_fire_time_changed(
|
||||
hass,
|
||||
utcnow() + SCAN_INTERVAL,
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
entity_id = f"climate.{device.name}"
|
||||
state = hass.states.get(entity_id)
|
||||
assert state.state == "unavailable"
|
||||
|
||||
|
||||
async def test_aux_heat_off_service_call(
|
||||
|
|
Loading…
Add table
Reference in a new issue