From 5cab63c5b842752d4fa712018c2797e79eac64ce Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 2 Mar 2023 19:01:50 +0100 Subject: [PATCH] Fix lingering task in debounce tests (#89019) * Fix lingering task in debounce tests * Correct fix * Use async_fire_time_changed --- tests/helpers/test_debounce.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/helpers/test_debounce.py b/tests/helpers/test_debounce.py index eb1cdf6db76..4c25413d9fb 100644 --- a/tests/helpers/test_debounce.py +++ b/tests/helpers/test_debounce.py @@ -1,8 +1,12 @@ """Tests for debounce.""" +from datetime import timedelta from unittest.mock import AsyncMock from homeassistant.core import HomeAssistant from homeassistant.helpers import debounce +from homeassistant.util.dt import utcnow + +from ..common import async_fire_time_changed async def test_immediate_works(hass: HomeAssistant) -> None: @@ -41,7 +45,8 @@ async def test_immediate_works(hass: HomeAssistant) -> None: # Call and let timer run out await debouncer.async_call() assert len(calls) == 2 - await debouncer._handle_timer_finish() + async_fire_time_changed(hass, utcnow() + timedelta(seconds=1)) + await hass.async_block_till_done() assert len(calls) == 2 assert debouncer._timer_task is None assert debouncer._execute_at_end_of_timer is False @@ -89,7 +94,8 @@ async def test_not_immediate_works(hass: HomeAssistant) -> None: # Call and let timer run out await debouncer.async_call() assert len(calls) == 0 - await debouncer._handle_timer_finish() + async_fire_time_changed(hass, utcnow() + timedelta(seconds=1)) + await hass.async_block_till_done() assert len(calls) == 1 assert debouncer._timer_task is not None assert debouncer._execute_at_end_of_timer is False @@ -150,7 +156,8 @@ async def test_immediate_works_with_function_swapped(hass: HomeAssistant) -> Non await debouncer.async_call() assert len(calls) == 2 assert calls == [1, 2] - await debouncer._handle_timer_finish() + async_fire_time_changed(hass, utcnow() + timedelta(seconds=1)) + await hass.async_block_till_done() assert len(calls) == 2 assert calls == [1, 2] assert debouncer._timer_task is None