Use freezegun in hue tests (#99033)

This commit is contained in:
Erik Montnemery 2023-08-25 16:04:28 +02:00 committed by GitHub
parent 3b07181d87
commit dd39e8fe64
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,6 +3,7 @@ import asyncio
from unittest.mock import Mock
import aiohue
from freezegun.api import FrozenDateTimeFactory
from homeassistant.components import hue
from homeassistant.components.hue.const import ATTR_HUE_EVENT
@ -10,7 +11,6 @@ from homeassistant.components.hue.v1 import sensor_base
from homeassistant.const import EntityCategory
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_registry import async_get
from homeassistant.util import dt as dt_util
from .conftest import create_mock_bridge, setup_platform
@ -448,7 +448,9 @@ async def test_update_unauthorized(hass: HomeAssistant, mock_bridge_v1) -> None:
assert len(mock_bridge_v1.handle_unauthorized_error.mock_calls) == 1
async def test_hue_events(hass: HomeAssistant, mock_bridge_v1, device_reg) -> None:
async def test_hue_events(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, mock_bridge_v1, device_reg
) -> None:
"""Test that hue remotes fire events when pressed."""
mock_bridge_v1.mock_sensor_responses.append(SENSOR_RESPONSE)
@ -475,9 +477,8 @@ async def test_hue_events(hass: HomeAssistant, mock_bridge_v1, device_reg) -> No
mock_bridge_v1.mock_sensor_responses.append(new_sensor_response)
# Force updates to run again
async_fire_time_changed(
hass, dt_util.utcnow() + sensor_base.SensorManager.SCAN_INTERVAL
)
freezer.tick(sensor_base.SensorManager.SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
assert len(mock_bridge_v1.mock_requests) == 2
@ -504,9 +505,8 @@ async def test_hue_events(hass: HomeAssistant, mock_bridge_v1, device_reg) -> No
mock_bridge_v1.mock_sensor_responses.append(new_sensor_response)
# Force updates to run again
async_fire_time_changed(
hass, dt_util.utcnow() + sensor_base.SensorManager.SCAN_INTERVAL
)
freezer.tick(sensor_base.SensorManager.SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
assert len(mock_bridge_v1.mock_requests) == 3
@ -530,9 +530,8 @@ async def test_hue_events(hass: HomeAssistant, mock_bridge_v1, device_reg) -> No
mock_bridge_v1.mock_sensor_responses.append(new_sensor_response)
# Force updates to run again
async_fire_time_changed(
hass, dt_util.utcnow() + sensor_base.SensorManager.SCAN_INTERVAL
)
freezer.tick(sensor_base.SensorManager.SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
assert len(mock_bridge_v1.mock_requests) == 4
@ -575,9 +574,8 @@ async def test_hue_events(hass: HomeAssistant, mock_bridge_v1, device_reg) -> No
mock_bridge_v1.mock_sensor_responses.append(new_sensor_response)
# Force updates to run again
async_fire_time_changed(
hass, dt_util.utcnow() + sensor_base.SensorManager.SCAN_INTERVAL
)
freezer.tick(sensor_base.SensorManager.SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
assert len(mock_bridge_v1.mock_requests) == 5
@ -589,9 +587,8 @@ async def test_hue_events(hass: HomeAssistant, mock_bridge_v1, device_reg) -> No
mock_bridge_v1.mock_sensor_responses.append(new_sensor_response)
# Force updates to run again
async_fire_time_changed(
hass, dt_util.utcnow() + sensor_base.SensorManager.SCAN_INTERVAL
)
freezer.tick(sensor_base.SensorManager.SCAN_INTERVAL)
async_fire_time_changed(hass)
await hass.async_block_till_done()
hue_aurora_device = device_reg.async_get_device(