Fix flaky ZHA tests (#70956)

This commit is contained in:
David F. Mulcahey 2022-04-27 20:52:32 -04:00 committed by Paulus Schoutsen
parent f3a18bc8f2
commit e41490f8ba
2 changed files with 11 additions and 6 deletions

View File

@ -1,5 +1,6 @@
"""Test ZHA Gateway."""
import asyncio
import math
import time
from unittest.mock import patch
@ -207,14 +208,14 @@ async def test_updating_device_store(hass, zigpy_dev_basic, zha_dev_basic):
assert zha_dev_basic.last_seen is not None
entry = zha_gateway.zha_storage.async_get_or_create_device(zha_dev_basic)
assert entry.last_seen == zha_dev_basic.last_seen
assert math.isclose(entry.last_seen, zha_dev_basic.last_seen, rel_tol=1e-06)
assert zha_dev_basic.last_seen is not None
last_seen = zha_dev_basic.last_seen
# test that we can't set None as last seen any more
zha_dev_basic.async_update_last_seen(None)
assert last_seen == zha_dev_basic.last_seen
assert math.isclose(last_seen, zha_dev_basic.last_seen, rel_tol=1e-06)
# test that we won't put None in storage
zigpy_dev_basic.last_seen = None
@ -222,18 +223,18 @@ async def test_updating_device_store(hass, zigpy_dev_basic, zha_dev_basic):
await zha_gateway.async_update_device_storage()
await hass.async_block_till_done()
entry = zha_gateway.zha_storage.async_get_or_create_device(zha_dev_basic)
assert entry.last_seen == last_seen
assert math.isclose(entry.last_seen, last_seen, rel_tol=1e-06)
# test that we can still set a good last_seen
last_seen = time.time()
zha_dev_basic.async_update_last_seen(last_seen)
assert last_seen == zha_dev_basic.last_seen
assert math.isclose(last_seen, zha_dev_basic.last_seen, rel_tol=1e-06)
# test that we still put good values in storage
await zha_gateway.async_update_device_storage()
await hass.async_block_till_done()
entry = zha_gateway.zha_storage.async_get_or_create_device(zha_dev_basic)
assert entry.last_seen == last_seen
assert math.isclose(entry.last_seen, last_seen, rel_tol=1e-06)
async def test_cleaning_up_storage(hass, zigpy_dev_basic, zha_dev_basic, hass_storage):

View File

@ -193,7 +193,11 @@ async def test_on_off_select(hass, light, zha_device_joined_restored):
state = hass.states.get(entity_id)
assert state
assert state.state == STATE_UNKNOWN
if zha_device_joined_restored.name == "zha_device_joined":
assert state.state == general.OnOff.StartUpOnOff.On.name
else:
assert state.state == STATE_UNKNOWN
assert state.attributes["options"] == ["Off", "On", "Toggle", "PreviousValue"]
entity_entry = entity_registry.async_get(entity_id)