From e41490f8bab0578c033b2f53fa2e5d833663b412 Mon Sep 17 00:00:00 2001 From: "David F. Mulcahey" Date: Wed, 27 Apr 2022 20:52:32 -0400 Subject: [PATCH] Fix flaky ZHA tests (#70956) --- tests/components/zha/test_gateway.py | 11 ++++++----- tests/components/zha/test_select.py | 6 +++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/tests/components/zha/test_gateway.py b/tests/components/zha/test_gateway.py index a263a6d7ed3..67ce6481542 100644 --- a/tests/components/zha/test_gateway.py +++ b/tests/components/zha/test_gateway.py @@ -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): diff --git a/tests/components/zha/test_select.py b/tests/components/zha/test_select.py index a761b8ea36b..452939420bf 100644 --- a/tests/components/zha/test_select.py +++ b/tests/components/zha/test_select.py @@ -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)