Use freezegun in iotawatt tests (#99034)

pull/99058/head
Erik Montnemery 2023-08-25 16:03:29 +02:00 committed by GitHub
parent e6728f2f19
commit 1f9c180233
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 6 deletions

View File

@ -1,6 +1,8 @@
"""Test setting up sensors."""
from datetime import timedelta
from freezegun.api import FrozenDateTimeFactory
from homeassistant.components.sensor import (
ATTR_STATE_CLASS,
SensorDeviceClass,
@ -15,14 +17,15 @@ from homeassistant.const import (
)
from homeassistant.core import HomeAssistant
from homeassistant.setup import async_setup_component
from homeassistant.util.dt import utcnow
from . import INPUT_SENSOR, OUTPUT_SENSOR
from tests.common import async_fire_time_changed
async def test_sensor_type_input(hass: HomeAssistant, mock_iotawatt) -> None:
async def test_sensor_type_input(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, mock_iotawatt
) -> None:
"""Test input sensors work."""
assert await async_setup_component(hass, "iotawatt", {})
await hass.async_block_till_done()
@ -31,7 +34,8 @@ async def test_sensor_type_input(hass: HomeAssistant, mock_iotawatt) -> None:
# Discover this sensor during a regular update.
mock_iotawatt.getSensors.return_value["sensors"]["my_sensor_key"] = INPUT_SENSOR
async_fire_time_changed(hass, utcnow() + timedelta(seconds=30))
freezer.tick(timedelta(seconds=30))
async_fire_time_changed(hass)
await hass.async_block_till_done()
assert len(hass.states.async_entity_ids()) == 1
@ -47,13 +51,16 @@ async def test_sensor_type_input(hass: HomeAssistant, mock_iotawatt) -> None:
assert state.attributes["type"] == "Input"
mock_iotawatt.getSensors.return_value["sensors"].pop("my_sensor_key")
async_fire_time_changed(hass, utcnow() + timedelta(seconds=30))
freezer.tick(timedelta(seconds=30))
async_fire_time_changed(hass)
await hass.async_block_till_done()
assert hass.states.get("sensor.my_sensor") is None
async def test_sensor_type_output(hass: HomeAssistant, mock_iotawatt) -> None:
async def test_sensor_type_output(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, mock_iotawatt
) -> None:
"""Tests the sensor type of Output."""
mock_iotawatt.getSensors.return_value["sensors"][
"my_watthour_sensor_key"
@ -73,7 +80,8 @@ async def test_sensor_type_output(hass: HomeAssistant, mock_iotawatt) -> None:
assert state.attributes["type"] == "Output"
mock_iotawatt.getSensors.return_value["sensors"].pop("my_watthour_sensor_key")
async_fire_time_changed(hass, utcnow() + timedelta(seconds=30))
freezer.tick(timedelta(seconds=30))
async_fire_time_changed(hass)
await hass.async_block_till_done()
assert hass.states.get("sensor.my_watthour_sensor") is None