diff --git a/tests/conftest.py b/tests/conftest.py index 0b63ddec6af..31900dff6de 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,7 +4,6 @@ from __future__ import annotations import asyncio from collections.abc import AsyncGenerator, Callable, Coroutine, Generator from contextlib import asynccontextmanager -import datetime import functools import gc import itertools @@ -32,6 +31,9 @@ import pytest_socket import requests_mock from syrupy.assertion import SnapshotAssertion +# Setup patching if dt_util time functions before any other Home Assistant imports +from . import patch_time # noqa: F401, isort:skip + from homeassistant import core as ha, loader, runner from homeassistant.auth.const import GROUP_ID_ADMIN, GROUP_ID_READ_ONLY from homeassistant.auth.models import Credentials @@ -53,7 +55,6 @@ from homeassistant.helpers import ( config_entry_oauth2_flow, device_registry as dr, entity_registry as er, - event, issue_registry as ir, recorder as recorder_helper, ) @@ -109,15 +110,6 @@ asyncio.set_event_loop_policy(runner.HassEventLoopPolicy(False)) asyncio.set_event_loop_policy = lambda policy: None -def _utcnow() -> datetime.datetime: - """Make utcnow patchable by freezegun.""" - return datetime.datetime.now(datetime.UTC) - - -dt_util.utcnow = _utcnow # type: ignore[assignment] -event.time_tracker_utcnow = _utcnow # type: ignore[assignment] - - def pytest_addoption(parser: pytest.Parser) -> None: """Register custom pytest options.""" parser.addoption("--dburl", action="store", default="sqlite://") diff --git a/tests/patch_time.py b/tests/patch_time.py new file mode 100644 index 00000000000..2a453053170 --- /dev/null +++ b/tests/patch_time.py @@ -0,0 +1,16 @@ +"""Patch time related functions.""" +from __future__ import annotations + +import datetime + +from homeassistant import util +from homeassistant.util import dt as dt_util + + +def _utcnow() -> datetime.datetime: + """Make utcnow patchable by freezegun.""" + return datetime.datetime.now(datetime.UTC) + + +dt_util.utcnow = _utcnow # type: ignore[assignment] +util.utcnow = _utcnow # type: ignore[assignment]