Add freezer to known test fixtures in pylint (#89825)

Add freezer to known fixtures in pylint
This commit is contained in:
epenet 2023-03-17 03:39:41 +01:00 committed by GitHub
parent e16f17f5a8
commit ff8b91aeea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 61 additions and 31 deletions

View file

@ -104,6 +104,7 @@ _TEST_FIXTURES: dict[str, list[str] | str] = {
"enable_statistics": "bool", "enable_statistics": "bool",
"enable_statistics_table_validation": "bool", "enable_statistics_table_validation": "bool",
"entity_registry": "EntityRegistry", "entity_registry": "EntityRegistry",
"freezer": "FrozenDateTimeFactory",
"hass_access_token": "str", "hass_access_token": "str",
"hass_admin_credential": "Credentials", "hass_admin_credential": "Credentials",
"hass_admin_user": "MockUser", "hass_admin_user": "MockUser",

View file

@ -15,6 +15,7 @@ import secrets
from typing import Any from typing import Any
from unittest.mock import patch from unittest.mock import patch
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.components import calendar from homeassistant.components import calendar
@ -642,7 +643,7 @@ async def test_event_payload(
async def test_trigger_timestamp_window_edge( async def test_trigger_timestamp_window_edge(
hass: HomeAssistant, calls, fake_schedule, freezer hass: HomeAssistant, calls, fake_schedule, freezer: FrozenDateTimeFactory
) -> None: ) -> None:
"""Test that events in the edge of a scan are included.""" """Test that events in the edge of a scan are included."""
freezer.move_to("2022-04-19 11:00:00+00:00") freezer.move_to("2022-04-19 11:00:00+00:00")

View file

@ -1,6 +1,7 @@
"""The tests for the demo sensor component.""" """The tests for the demo sensor component."""
from datetime import timedelta from datetime import timedelta
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant import core as ha from homeassistant import core as ha
@ -13,7 +14,9 @@ from tests.common import mock_restore_cache_with_extra_data
@pytest.mark.parametrize(("entity_id", "delta"), (("sensor.total_energy_kwh", 0.5),)) @pytest.mark.parametrize(("entity_id", "delta"), (("sensor.total_energy_kwh", 0.5),))
async def test_energy_sensor(hass: HomeAssistant, entity_id, delta, freezer) -> None: async def test_energy_sensor(
hass: HomeAssistant, entity_id, delta, freezer: FrozenDateTimeFactory
) -> None:
"""Test energy sensors increase periodically.""" """Test energy sensors increase periodically."""
assert await async_setup_component( assert await async_setup_component(
hass, SENSOR_DOMAIN, {SENSOR_DOMAIN: {"platform": DOMAIN}} hass, SENSOR_DOMAIN, {SENSOR_DOMAIN: {"platform": DOMAIN}}
@ -32,7 +35,9 @@ async def test_energy_sensor(hass: HomeAssistant, entity_id, delta, freezer) ->
@pytest.mark.parametrize(("entity_id", "delta"), (("sensor.total_energy_kwh", 0.5),)) @pytest.mark.parametrize(("entity_id", "delta"), (("sensor.total_energy_kwh", 0.5),))
async def test_restore_state(hass: HomeAssistant, entity_id, delta, freezer) -> None: async def test_restore_state(
hass: HomeAssistant, entity_id, delta, freezer: FrozenDateTimeFactory
) -> None:
"""Test energy sensors restore state.""" """Test energy sensors restore state."""
fake_state = ha.State( fake_state = ha.State(
entity_id, entity_id,

View file

@ -65,7 +65,7 @@ async def test_unload_entry(hass: HomeAssistant) -> None:
async def test_remove_device( async def test_remove_device(
hass: HomeAssistant, hass: HomeAssistant,
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
): ) -> None:
"""Test removing a device.""" """Test removing a device."""
assert await async_setup_component(hass, "config", {}) assert await async_setup_component(hass, "config", {})
entry = configure_integration(hass) entry = configure_integration(hass)

View file

@ -3,6 +3,7 @@ from collections import namedtuple
import datetime import datetime
from unittest.mock import patch from unittest.mock import patch
from freezegun.api import FrozenDateTimeFactory
import psutil_home_assistant as ha_psutil import psutil_home_assistant as ha_psutil
from homeassistant.components.hardware.const import DOMAIN from homeassistant.components.hardware.const import DOMAIN
@ -33,7 +34,9 @@ TEST_TIME_ADVANCE_INTERVAL = datetime.timedelta(seconds=5 + 1)
async def test_system_status_subscription( async def test_system_status_subscription(
hass: HomeAssistant, hass_ws_client: WebSocketGenerator, freezer hass: HomeAssistant,
hass_ws_client: WebSocketGenerator,
freezer: FrozenDateTimeFactory,
) -> None: ) -> None:
"""Test websocket system status subscription.""" """Test websocket system status subscription."""

View file

@ -5,6 +5,7 @@ from datetime import timedelta
import json import json
from unittest.mock import ANY, patch from unittest.mock import ANY, patch
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.components.homeassistant_alerts import ( from homeassistant.components.homeassistant_alerts import (
@ -291,7 +292,7 @@ async def test_alerts_refreshed_on_component_load(
late_components, late_components,
initial_alerts, initial_alerts,
late_alerts, late_alerts,
freezer, freezer: FrozenDateTimeFactory,
) -> None: ) -> None:
"""Test alerts are refreshed when components are loaded.""" """Test alerts are refreshed when components are loaded."""

View file

@ -5,6 +5,7 @@ import json
from pathlib import Path from pathlib import Path
from unittest.mock import patch from unittest.mock import patch
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.components import binary_sensor, mqtt from homeassistant.components import binary_sensor, mqtt
@ -1088,7 +1089,7 @@ async def test_cleanup_triggers_and_restoring_state(
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
caplog: pytest.LogCaptureFixture, caplog: pytest.LogCaptureFixture,
tmp_path: Path, tmp_path: Path,
freezer, freezer: FrozenDateTimeFactory,
payload1, payload1,
state1, state1,
payload2, payload2,
@ -1147,7 +1148,7 @@ async def test_cleanup_triggers_and_restoring_state(
async def test_skip_restoring_state_with_over_due_expire_trigger( async def test_skip_restoring_state_with_over_due_expire_trigger(
hass: HomeAssistant, hass: HomeAssistant,
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
freezer, freezer: FrozenDateTimeFactory,
) -> None: ) -> None:
"""Test restoring a state with over due expire timer.""" """Test restoring a state with over due expire timer."""

View file

@ -5,6 +5,7 @@ import json
from pathlib import Path from pathlib import Path
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.components import mqtt, sensor from homeassistant.components import mqtt, sensor
@ -1278,7 +1279,7 @@ async def test_cleanup_triggers_and_restoring_state(
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
caplog: pytest.LogCaptureFixture, caplog: pytest.LogCaptureFixture,
tmp_path: Path, tmp_path: Path,
freezer, freezer: FrozenDateTimeFactory,
) -> None: ) -> None:
"""Test cleanup old triggers at reloading and restoring the state.""" """Test cleanup old triggers at reloading and restoring the state."""
domain = sensor.DOMAIN domain = sensor.DOMAIN
@ -1338,7 +1339,7 @@ async def test_cleanup_triggers_and_restoring_state(
async def test_skip_restoring_state_with_over_due_expire_trigger( async def test_skip_restoring_state_with_over_due_expire_trigger(
hass: HomeAssistant, hass: HomeAssistant,
mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator, mqtt_mock_entry_with_yaml_config: MqttMockHAClientGenerator,
freezer, freezer: FrozenDateTimeFactory,
) -> None: ) -> None:
"""Test restoring a state with over due expire timer.""" """Test restoring a state with over due expire timer."""

View file

@ -80,7 +80,7 @@ async def test_registry_cleanup(
config_entry: ConfigEntry, config_entry: ConfigEntry,
owproxy: MagicMock, owproxy: MagicMock,
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
): ) -> None:
"""Test being able to remove a disconnected device.""" """Test being able to remove a disconnected device."""
assert await async_setup_component(hass, "config", {}) assert await async_setup_component(hass, "config", {})

View file

@ -10,6 +10,7 @@ import threading
from typing import cast from typing import cast
from unittest.mock import Mock, patch from unittest.mock import Mock, patch
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from sqlalchemy.exc import DatabaseError, OperationalError, SQLAlchemyError from sqlalchemy.exc import DatabaseError, OperationalError, SQLAlchemyError
@ -1219,7 +1220,7 @@ def test_statistics_runs_initiated(hass_recorder: Callable[..., HomeAssistant])
@pytest.mark.freeze_time("2022-09-13 09:00:00+02:00") @pytest.mark.freeze_time("2022-09-13 09:00:00+02:00")
def test_compile_missing_statistics(tmpdir, freezer) -> None: def test_compile_missing_statistics(tmpdir, freezer: FrozenDateTimeFactory) -> None:
"""Test missing statistics are compiled on startup.""" """Test missing statistics are compiled on startup."""
now = dt_util.utcnow().replace(minute=0, second=0, microsecond=0) now = dt_util.utcnow().replace(minute=0, second=0, microsecond=0)
test_db_file = tmpdir.mkdir("sqlite").join("test_run_info.db") test_db_file = tmpdir.mkdir("sqlite").join("test_run_info.db")

View file

@ -2,6 +2,7 @@
from unittest.mock import AsyncMock, Mock from unittest.mock import AsyncMock, Mock
from freezegun import freeze_time from freezegun import freeze_time
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.components.repairs import repairs_flow_manager from homeassistant.components.repairs import repairs_flow_manager
@ -335,7 +336,9 @@ async def test_ignore_issue(
async def test_delete_issue( async def test_delete_issue(
hass: HomeAssistant, hass_ws_client: WebSocketGenerator, freezer hass: HomeAssistant,
hass_ws_client: WebSocketGenerator,
freezer: FrozenDateTimeFactory,
) -> None: ) -> None:
"""Test we can delete an issue.""" """Test we can delete an issue."""
freezer.move_to("2022-07-19 07:53:05") freezer.move_to("2022-07-19 07:53:05")

View file

@ -1,15 +1,13 @@
"""Test the sql utils.""" """Test the sql utils."""
from unittest.mock import AsyncMock from homeassistant.components.recorder import Recorder, get_instance
from homeassistant.components.recorder import get_instance
from homeassistant.components.sql.util import resolve_db_url from homeassistant.components.sql.util import resolve_db_url
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
async def test_resolve_db_url_when_none_configured( async def test_resolve_db_url_when_none_configured(
recorder_mock: AsyncMock, recorder_mock: Recorder,
hass: HomeAssistant, hass: HomeAssistant,
): ) -> None:
"""Test return recorder db_url if provided db_url is None.""" """Test return recorder db_url if provided db_url is None."""
db_url = None db_url = None
resolved_url = resolve_db_url(hass, db_url) resolved_url = resolve_db_url(hass, db_url)
@ -17,7 +15,7 @@ async def test_resolve_db_url_when_none_configured(
assert resolved_url == get_instance(hass).db_url assert resolved_url == get_instance(hass).db_url
async def test_resolve_db_url_when_configured(hass: HomeAssistant): async def test_resolve_db_url_when_configured(hass: HomeAssistant) -> None:
"""Test return provided db_url if it's set.""" """Test return provided db_url if it's set."""
db_url = "mssql://" db_url = "mssql://"
resolved_url = resolve_db_url(hass, db_url) resolved_url = resolve_db_url(hass, db_url)

View file

@ -3,6 +3,7 @@ from datetime import datetime, timedelta, timezone
import logging import logging
from unittest.mock import patch from unittest.mock import patch
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant import setup from homeassistant import setup
@ -1257,7 +1258,12 @@ async def test_trigger_entity_restore_state(
) )
@pytest.mark.parametrize("restored_state", [ON, OFF]) @pytest.mark.parametrize("restored_state", [ON, OFF])
async def test_trigger_entity_restore_state_auto_off( async def test_trigger_entity_restore_state_auto_off(
hass: HomeAssistant, count, domain, config, restored_state, freezer hass: HomeAssistant,
count,
domain,
config,
restored_state,
freezer: FrozenDateTimeFactory,
) -> None: ) -> None:
"""Test restoring trigger template binary sensor.""" """Test restoring trigger template binary sensor."""
@ -1317,7 +1323,7 @@ async def test_trigger_entity_restore_state_auto_off(
], ],
) )
async def test_trigger_entity_restore_state_auto_off_expired( async def test_trigger_entity_restore_state_auto_off_expired(
hass: HomeAssistant, count, domain, config, freezer hass: HomeAssistant, count, domain, config, freezer: FrozenDateTimeFactory
) -> None: ) -> None:
"""Test restoring trigger template binary sensor.""" """Test restoring trigger template binary sensor."""

View file

@ -2,6 +2,7 @@
from datetime import datetime, timedelta from datetime import datetime, timedelta
from freezegun import freeze_time from freezegun import freeze_time
from freezegun.api import FrozenDateTimeFactory
import pytest import pytest
from homeassistant.const import STATE_OFF, STATE_ON from homeassistant.const import STATE_OFF, STATE_ON
@ -104,7 +105,7 @@ async def test_midnight_turnover_before_midnight_inside_period(
async def test_midnight_turnover_after_midnight_inside_period( async def test_midnight_turnover_after_midnight_inside_period(
hass: HomeAssistant, freezer, hass_tz_info hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None: ) -> None:
"""Test midnight turnover setting before midnight inside period .""" """Test midnight turnover setting before midnight inside period ."""
test_time = datetime(2019, 1, 10, 21, 0, 0, tzinfo=hass_tz_info) test_time = datetime(2019, 1, 10, 21, 0, 0, tzinfo=hass_tz_info)
@ -163,7 +164,7 @@ async def test_after_happens_tomorrow(hass: HomeAssistant) -> None:
async def test_midnight_turnover_after_midnight_outside_period( async def test_midnight_turnover_after_midnight_outside_period(
hass: HomeAssistant, freezer, hass_tz_info hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None: ) -> None:
"""Test midnight turnover setting before midnight inside period .""" """Test midnight turnover setting before midnight inside period ."""
test_time = datetime(2019, 1, 10, 20, 0, 0, tzinfo=hass_tz_info) test_time = datetime(2019, 1, 10, 20, 0, 0, tzinfo=hass_tz_info)
@ -197,7 +198,7 @@ async def test_midnight_turnover_after_midnight_outside_period(
async def test_from_sunrise_to_sunset( async def test_from_sunrise_to_sunset(
hass: HomeAssistant, freezer, hass_tz_info hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None: ) -> None:
"""Test period from sunrise to sunset.""" """Test period from sunrise to sunset."""
test_time = datetime(2019, 1, 12, tzinfo=hass_tz_info) test_time = datetime(2019, 1, 12, tzinfo=hass_tz_info)
@ -256,7 +257,7 @@ async def test_from_sunrise_to_sunset(
async def test_from_sunset_to_sunrise( async def test_from_sunset_to_sunrise(
hass: HomeAssistant, freezer, hass_tz_info hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None: ) -> None:
"""Test period from sunset to sunrise.""" """Test period from sunset to sunrise."""
test_time = datetime(2019, 1, 12, tzinfo=hass_tz_info) test_time = datetime(2019, 1, 12, tzinfo=hass_tz_info)
@ -311,7 +312,9 @@ async def test_from_sunset_to_sunrise(
assert state.state == STATE_OFF assert state.state == STATE_OFF
async def test_offset(hass: HomeAssistant, freezer, hass_tz_info) -> None: async def test_offset(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None:
"""Test offset.""" """Test offset."""
after = datetime(2019, 1, 10, 18, 0, 0, tzinfo=hass_tz_info) + timedelta( after = datetime(2019, 1, 10, 18, 0, 0, tzinfo=hass_tz_info) + timedelta(
hours=1, minutes=34 hours=1, minutes=34
@ -365,7 +368,9 @@ async def test_offset(hass: HomeAssistant, freezer, hass_tz_info) -> None:
assert state.state == STATE_OFF assert state.state == STATE_OFF
async def test_offset_overnight(hass: HomeAssistant, freezer, hass_tz_info) -> None: async def test_offset_overnight(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None:
"""Test offset overnight.""" """Test offset overnight."""
after = datetime(2019, 1, 10, 18, 0, 0, tzinfo=hass_tz_info) + timedelta( after = datetime(2019, 1, 10, 18, 0, 0, tzinfo=hass_tz_info) + timedelta(
hours=1, minutes=34 hours=1, minutes=34
@ -397,7 +402,7 @@ async def test_offset_overnight(hass: HomeAssistant, freezer, hass_tz_info) -> N
async def test_norwegian_case_winter( async def test_norwegian_case_winter(
hass: HomeAssistant, freezer, hass_tz_info hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None: ) -> None:
"""Test location in Norway where the sun doesn't set in summer.""" """Test location in Norway where the sun doesn't set in summer."""
hass.config.latitude = 69.6 hass.config.latitude = 69.6
@ -465,7 +470,7 @@ async def test_norwegian_case_winter(
async def test_norwegian_case_summer( async def test_norwegian_case_summer(
hass: HomeAssistant, freezer, hass_tz_info hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None: ) -> None:
"""Test location in Norway where the sun doesn't set in summer.""" """Test location in Norway where the sun doesn't set in summer."""
hass.config.latitude = 69.6 hass.config.latitude = 69.6
@ -534,7 +539,9 @@ async def test_norwegian_case_summer(
assert state.state == STATE_OFF assert state.state == STATE_OFF
async def test_sun_offset(hass: HomeAssistant, freezer, hass_tz_info) -> None: async def test_sun_offset(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None:
"""Test sun event with offset.""" """Test sun event with offset."""
test_time = datetime(2019, 1, 12, tzinfo=hass_tz_info) test_time = datetime(2019, 1, 12, tzinfo=hass_tz_info)
sunrise = dt_util.as_local( sunrise = dt_util.as_local(
@ -608,7 +615,9 @@ async def test_sun_offset(hass: HomeAssistant, freezer, hass_tz_info) -> None:
assert state.state == STATE_ON assert state.state == STATE_ON
async def test_dst(hass: HomeAssistant, freezer, hass_tz_info) -> None: async def test_dst(
hass: HomeAssistant, freezer: FrozenDateTimeFactory, hass_tz_info
) -> None:
"""Test sun event with offset.""" """Test sun event with offset."""
hass.config.time_zone = "CET" hass.config.time_zone = "CET"
dt_util.set_default_time_zone(dt_util.get_time_zone("CET")) dt_util.set_default_time_zone(dt_util.get_time_zone("CET"))