From 2af984917e7cf3ee649ed3a531a872e7aaeba713 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen <balloob@gmail.com> Date: Sun, 3 May 2020 11:27:19 -0700 Subject: [PATCH] Use asynctest-mock in most places (#35109) * Use asynctest-mock in most places * Fix broken patch in pilight --- tests/auth/mfa_modules/test_notify.py | 2 +- tests/auth/mfa_modules/test_totp.py | 2 +- tests/auth/test_init.py | 2 +- tests/components/abode/common.py | 3 +-- .../abode/test_alarm_control_panel.py | 4 ++-- tests/components/abode/test_camera.py | 4 ++-- tests/components/abode/test_config_flow.py | 3 +-- tests/components/abode/test_cover.py | 4 ++-- tests/components/abode/test_init.py | 4 ++-- tests/components/abode/test_light.py | 4 ++-- tests/components/abode/test_lock.py | 4 ++-- tests/components/abode/test_switch.py | 4 ++-- tests/components/androidtv/patchers.py | 2 +- .../components/androidtv/test_media_player.py | 3 ++- tests/components/api/test_init.py | 2 +- tests/components/apns/test_notify.py | 2 +- tests/components/apprise/test_notify.py | 4 ++-- tests/components/aprs/test_device_tracker.py | 3 +-- tests/components/arlo/test_sensor.py | 5 ++-- tests/components/atag/test_config_flow.py | 4 +--- tests/components/august/test_gateway.py | 4 +--- tests/components/auth/test_init.py | 2 +- tests/components/auth/test_login_flow.py | 3 +-- .../automation/test_homeassistant.py | 4 +--- tests/components/automation/test_init.py | 2 +- .../automation/test_numeric_state.py | 2 +- tests/components/automation/test_state.py | 2 +- tests/components/automation/test_sun.py | 2 +- tests/components/automation/test_time.py | 2 +- tests/components/axis/test_init.py | 4 +--- tests/components/axis/test_switch.py | 4 ++-- .../binary_sensor/test_device_condition.py | 2 +- .../test_device_tracker.py | 2 +- tests/components/bom/test_sensor.py | 2 +- tests/components/broadlink/test_init.py | 3 ++- tests/components/caldav/test_calendar.py | 3 +-- tests/components/camera/test_init.py | 3 +-- tests/components/canary/test_init.py | 2 +- tests/components/canary/test_sensor.py | 2 +- .../cast/test_home_assistant_cast.py | 3 +-- tests/components/climate/test_init.py | 2 +- tests/components/cloud/conftest.py | 4 ++-- tests/components/cloud/test_binary_sensor.py | 4 +--- tests/components/cloud/test_google_config.py | 4 +--- tests/components/cloud/test_prefs.py | 4 ++-- tests/components/coinmarketcap/test_sensor.py | 2 +- tests/components/command_line/test_notify.py | 2 +- tests/components/command_line/test_sensor.py | 2 +- tests/components/config/test_group.py | 3 +-- tests/components/config/test_script.py | 4 ++-- tests/components/config/test_zwave.py | 2 +- tests/components/daikin/test_config_flow.py | 2 +- tests/components/darksky/test_sensor.py | 2 +- tests/components/darksky/test_weather.py | 2 +- tests/components/default_config/test_init.py | 4 ++-- tests/components/demo/test_camera.py | 4 ++-- tests/components/demo/test_geo_location.py | 2 +- tests/components/demo/test_notify.py | 2 +- .../components/denonavr/test_media_player.py | 4 ++-- tests/components/derivative/test_sensor.py | 3 ++- tests/components/dialogflow/test_init.py | 3 ++- tests/components/dsmr/test_sensor.py | 2 +- tests/components/emulated_hue/test_hue_api.py | 2 +- tests/components/emulated_hue/test_init.py | 4 ++-- tests/components/emulated_hue/test_upnp.py | 2 +- .../components/emulated_roku/test_binding.py | 4 +--- tests/components/emulated_roku/test_init.py | 4 +--- .../facebox/test_image_processing.py | 4 ++-- tests/components/fail2ban/test_sensor.py | 2 +- tests/components/feedreader/test_init.py | 2 +- tests/components/ffmpeg/test_init.py | 3 +-- tests/components/fido/test_sensor.py | 2 +- tests/components/file/test_notify.py | 2 +- tests/components/file/test_sensor.py | 2 +- tests/components/filter/test_sensor.py | 2 +- tests/components/folder_watcher/test_init.py | 3 ++- tests/components/foobot/test_sensor.py | 2 +- tests/components/freebox/conftest.py | 4 ++-- tests/components/fritzbox/__init__.py | 4 ++-- tests/components/fritzbox/conftest.py | 4 ++-- .../components/fritzbox/test_binary_sensor.py | 2 +- tests/components/fritzbox/test_climate.py | 2 +- tests/components/fritzbox/test_config_flow.py | 3 ++- tests/components/fritzbox/test_init.py | 3 +-- tests/components/fritzbox/test_sensor.py | 2 +- tests/components/fritzbox/test_switch.py | 2 +- .../garmin_connect/test_config_flow.py | 3 +-- tests/components/gdacs/__init__.py | 2 +- .../components/geo_rss_events/test_sensor.py | 2 +- tests/components/geofency/test_init.py | 6 ++--- tests/components/geonetnz_quakes/__init__.py | 2 +- tests/components/geonetnz_volcano/__init__.py | 2 +- tests/components/google/conftest.py | 4 ++-- tests/components/google/test_calendar.py | 2 +- tests/components/google/test_init.py | 4 ++-- .../components/google_assistant/test_trait.py | 3 +-- tests/components/google_translate/test_tts.py | 2 +- tests/components/google_wifi/test_sensor.py | 2 +- tests/components/gpslogger/test_init.py | 4 ++-- tests/components/graphite/test_init.py | 2 +- tests/components/group/test_init.py | 2 +- tests/components/group/test_light.py | 3 +-- tests/components/group/test_notify.py | 2 +- .../components/group/test_reproduce_state.py | 3 ++- tests/components/hangouts/test_config_flow.py | 4 ++-- tests/components/hassio/test_http.py | 3 ++- tests/components/hddtemp/test_sensor.py | 2 +- .../here_travel_time/test_sensor.py | 2 +- tests/components/history/test_init.py | 2 +- tests/components/history_stats/test_sensor.py | 2 +- tests/components/homeassistant/test_scene.py | 3 +-- tests/components/homekit/common.py | 2 +- tests/components/homekit/conftest.py | 4 ++-- tests/components/homekit/test_accessories.py | 2 +- .../homekit/test_get_accessories.py | 4 ++-- tests/components/homekit/test_homekit.py | 3 +-- tests/components/homekit/test_type_fans.py | 2 +- .../homekit/test_type_thermostats.py | 2 +- tests/components/html5/test_notify.py | 3 ++- tests/components/http/test_auth.py | 3 ++- tests/components/http/test_ban.py | 3 +-- tests/components/http/test_cors.py | 3 ++- tests/components/http/test_data_validator.py | 4 ++-- tests/components/http/test_init.py | 3 ++- tests/components/http/test_view.py | 4 +--- tests/components/hue/conftest.py | 3 ++- tests/components/hue/test_config_flow.py | 3 +-- tests/components/hue/test_light.py | 3 ++- tests/components/hue/test_sensor_base.py | 3 ++- tests/components/icloud/conftest.py | 4 ++-- tests/components/icloud/test_config_flow.py | 3 +-- tests/components/ifttt/test_init.py | 4 ++-- .../ign_sismologia/test_geo_location.py | 2 +- .../components/image_processing/test_init.py | 4 +--- tests/components/input_boolean/test_init.py | 2 +- tests/components/input_datetime/test_init.py | 2 +- tests/components/input_number/test_init.py | 5 ++-- tests/components/input_select/test_init.py | 5 ++-- tests/components/input_text/test_init.py | 5 ++-- tests/components/integration/test_sensor.py | 3 ++- .../islamic_prayer_times/test_config_flow.py | 3 +-- .../islamic_prayer_times/test_init.py | 2 +- .../islamic_prayer_times/test_sensor.py | 3 +-- tests/components/jewish_calendar/__init__.py | 3 ++- tests/components/kira/test_init.py | 2 +- tests/components/kira/test_remote.py | 2 +- tests/components/kira/test_sensor.py | 2 +- tests/components/lastfm/test_sensor.py | 4 ++-- .../components/light/test_device_condition.py | 2 +- tests/components/light/test_init.py | 2 +- tests/components/linky/conftest.py | 4 ++-- tests/components/linky/test_config_flow.py | 3 +-- tests/components/locative/test_init.py | 4 ++-- tests/components/lovelace/test_dashboard.py | 3 +-- tests/components/luftdaten/test_init.py | 4 ++-- tests/components/mailgun/test_init.py | 3 ++- .../manual/test_alarm_control_panel.py | 2 +- .../manual_mqtt/test_alarm_control_panel.py | 2 +- tests/components/melissa/test_climate.py | 3 +-- tests/components/meteo_france/conftest.py | 4 ++-- .../meteo_france/test_config_flow.py | 3 +-- tests/components/mfi/test_sensor.py | 2 +- tests/components/mfi/test_switch.py | 2 +- tests/components/mhz19/test_sensor.py | 2 +- tests/components/mikrotik/test_config_flow.py | 2 +- tests/components/minio/test_minio.py | 3 +-- tests/components/mochad/test_light.py | 2 +- tests/components/mochad/test_switch.py | 2 +- tests/components/moon/test_sensor.py | 2 +- tests/components/mqtt/test_binary_sensor.py | 2 +- tests/components/mqtt/test_climate.py | 22 ++++-------------- tests/components/mqtt/test_common.py | 2 +- tests/components/mqtt/test_discovery.py | 3 +-- tests/components/mqtt/test_sensor.py | 2 +- .../components/mqtt_eventstream/test_init.py | 2 +- tests/components/mqtt_room/test_sensor.py | 2 +- .../components/mqtt_statestream/test_init.py | 3 +-- tests/components/neato/test_config_flow.py | 3 +-- tests/components/neato/test_init.py | 3 +-- tests/components/nextbus/test_sensor.py | 2 +- .../nsw_fuel_station/test_sensor.py | 2 +- .../test_geo_location.py | 3 +-- tests/components/nuheat/test_init.py | 4 ++-- tests/components/nws/conftest.py | 4 +--- tests/components/onboarding/test_views.py | 2 +- tests/components/openerz/test_sensor.py | 4 ++-- tests/components/owntracks/test_helper.py | 4 ++-- .../panasonic_viera/test_config_flow.py | 4 +--- tests/components/panasonic_viera/test_init.py | 3 +-- tests/components/panel_custom/test_init.py | 4 ++-- tests/components/pi_hole/test_init.py | 4 +--- tests/components/pilight/test_init.py | 10 ++++---- tests/components/ptvsd/test_ptvsd.py | 4 +--- tests/components/pushbullet/test_notify.py | 2 +- .../pvpc_hourly_pricing/test_config_flow.py | 2 +- .../pvpc_hourly_pricing/test_sensor.py | 2 +- tests/components/python_script/test_init.py | 2 +- .../qld_bushfire/test_geo_location.py | 2 +- tests/components/radarr/test_sensor.py | 19 +++++++-------- tests/components/random/test_binary_sensor.py | 2 +- tests/components/recorder/test_init.py | 2 +- tests/components/recorder/test_migrate.py | 5 ++-- tests/components/recorder/test_purge.py | 2 +- tests/components/recorder/test_util.py | 3 +-- tests/components/reddit/test_sensor.py | 2 +- .../components/remember_the_milk/test_init.py | 2 +- tests/components/rest/test_binary_sensor.py | 2 +- tests/components/rest/test_sensor.py | 2 +- tests/components/rflink/test_binary_sensor.py | 2 +- tests/components/rflink/test_init.py | 4 ++-- tests/components/ring/common.py | 3 +-- tests/components/ring/test_binary_sensor.py | 3 ++- tests/components/script/test_init.py | 2 +- .../signal_messenger/test_notify.py | 3 ++- .../components/simplisafe/test_config_flow.py | 3 +-- .../components/sleepiq/test_binary_sensor.py | 2 +- tests/components/sleepiq/test_init.py | 2 +- tests/components/sleepiq/test_sensor.py | 2 +- tests/components/smhi/common.py | 2 +- tests/components/smhi/test_init.py | 4 ++-- tests/components/smtp/test_notify.py | 2 +- .../components/solaredge/test_config_flow.py | 3 +-- tests/components/soma/test_config_flow.py | 3 +-- tests/components/somfy/test_config_flow.py | 2 +- tests/components/sonarr/test_sensor.py | 23 ++++++++++--------- .../soundtouch/test_media_player.py | 4 +--- tests/components/spotify/test_config_flow.py | 3 +-- tests/components/statistics/test_sensor.py | 2 +- tests/components/stream/test_init.py | 4 +--- tests/components/stream/test_recorder.py | 2 +- tests/components/sun/test_init.py | 3 ++- .../switch/test_device_condition.py | 2 +- tests/components/synology_dsm/conftest.py | 4 ++-- .../synology_dsm/test_config_flow.py | 2 +- tests/components/system_log/test_init.py | 3 ++- tests/components/tcp/test_binary_sensor.py | 2 +- tests/components/tcp/test_sensor.py | 2 +- tests/components/time_date/test_sensor.py | 2 +- tests/components/timer/test_init.py | 2 +- tests/components/tod/test_binary_sensor.py | 2 +- tests/components/toon/test_config_flow.py | 3 +-- .../totalconnect/test_config_flow.py | 3 +-- tests/components/tplink/test_common.py | 3 ++- tests/components/tplink/test_light.py | 3 ++- tests/components/traccar/test_init.py | 4 ++-- tests/components/tradfri/test_light.py | 2 +- .../transmission/test_config_flow.py | 2 +- tests/components/transport_nsw/test_sensor.py | 2 +- tests/components/trend/test_binary_sensor.py | 2 +- tests/components/tts/test_init.py | 2 +- tests/components/twilio/test_init.py | 4 ++-- tests/components/twitch/test_twitch.py | 4 ++-- tests/components/uptime/test_sensor.py | 2 +- .../test_geo_location.py | 2 +- tests/components/utility_meter/test_init.py | 3 ++- tests/components/utility_meter/test_sensor.py | 2 +- tests/components/velbus/test_config_flow.py | 3 +-- tests/components/vera/test_binary_sensor.py | 4 ++-- tests/components/vera/test_climate.py | 4 ++-- tests/components/vera/test_config_flow.py | 3 +-- tests/components/vera/test_cover.py | 4 ++-- tests/components/vera/test_light.py | 4 ++-- tests/components/vera/test_lock.py | 4 ++-- tests/components/vera/test_scene.py | 4 ++-- tests/components/vera/test_sensor.py | 3 ++- tests/components/vera/test_switch.py | 4 ++-- .../verisure/test_ethernet_status.py | 3 ++- tests/components/verisure/test_lock.py | 3 ++- tests/components/version/test_sensor.py | 4 ++-- tests/components/vesync/test_config_flow.py | 3 +-- tests/components/vizio/test_media_player.py | 3 +-- tests/components/vultr/test_binary_sensor.py | 2 +- tests/components/vultr/test_init.py | 2 +- tests/components/vultr/test_sensor.py | 2 +- tests/components/vultr/test_switch.py | 2 +- tests/components/wake_on_lan/test_switch.py | 2 +- tests/components/webhook/test_init.py | 4 ++-- tests/components/webostv/test_media_player.py | 2 +- tests/components/websocket_api/test_init.py | 4 ++-- tests/components/withings/test_common.py | 3 +-- .../components/workday/test_binary_sensor.py | 2 +- .../xiaomi_miio/test_config_flow.py | 4 +--- tests/components/yamaha/test_media_player.py | 2 +- tests/components/yessssms/test_notify.py | 3 ++- tests/components/yr/test_sensor.py | 2 +- tests/components/zha/common.py | 3 +-- tests/components/zha/test_fan.py | 4 ++-- tests/components/zha/test_light.py | 3 +-- tests/components/zwave/conftest.py | 3 +-- tests/components/zwave/test_binary_sensor.py | 2 +- tests/components/zwave/test_cover.py | 3 +-- tests/components/zwave/test_init.py | 3 +-- tests/components/zwave/test_light.py | 7 +++--- tests/components/zwave/test_lock.py | 3 +-- tests/components/zwave/test_node_entity.py | 2 +- tests/components/zwave/test_switch.py | 3 +-- tests/helpers/test_check_config.py | 2 +- tests/helpers/test_condition.py | 4 ++-- .../helpers/test_config_entry_oauth2_flow.py | 2 +- tests/helpers/test_config_validation.py | 3 ++- tests/helpers/test_deprecation.py | 4 ++-- tests/helpers/test_device_registry.py | 2 +- tests/helpers/test_entity.py | 8 +++---- tests/helpers/test_entity_registry.py | 2 +- tests/helpers/test_event.py | 2 +- tests/helpers/test_integration_platform.py | 3 +-- tests/helpers/test_network.py | 4 ++-- tests/helpers/test_state.py | 2 +- tests/helpers/test_sun.py | 3 ++- tests/helpers/test_template.py | 3 ++- tests/mock/zwave.py | 4 ++-- tests/scripts/test_auth.py | 3 +-- tests/scripts/test_check_config.py | 2 +- tests/scripts/test_init.py | 4 ++-- tests/test_main.py | 4 ++-- tests/util/test_async.py | 3 ++- tests/util/test_init.py | 3 ++- tests/util/test_json.py | 3 ++- tests/util/test_yaml.py | 2 +- 319 files changed, 456 insertions(+), 522 deletions(-) diff --git a/tests/auth/mfa_modules/test_notify.py b/tests/auth/mfa_modules/test_notify.py index c79d76baf4f..65ee5d5d0c5 100644 --- a/tests/auth/mfa_modules/test_notify.py +++ b/tests/auth/mfa_modules/test_notify.py @@ -1,12 +1,12 @@ """Test the HMAC-based One Time Password (MFA) auth module.""" import asyncio -from unittest.mock import patch from homeassistant import data_entry_flow from homeassistant.auth import auth_manager_from_config, models as auth_models from homeassistant.auth.mfa_modules import auth_mfa_module_from_config from homeassistant.components.notify import NOTIFY_SERVICE_SCHEMA +from tests.async_mock import patch from tests.common import MockUser, async_mock_service MOCK_CODE = "123456" diff --git a/tests/auth/mfa_modules/test_totp.py b/tests/auth/mfa_modules/test_totp.py index d0a4f3cf3ac..b14b20297eb 100644 --- a/tests/auth/mfa_modules/test_totp.py +++ b/tests/auth/mfa_modules/test_totp.py @@ -1,11 +1,11 @@ """Test the Time-based One Time Password (MFA) auth module.""" import asyncio -from unittest.mock import patch from homeassistant import data_entry_flow from homeassistant.auth import auth_manager_from_config, models as auth_models from homeassistant.auth.mfa_modules import auth_mfa_module_from_config +from tests.async_mock import patch from tests.common import MockUser MOCK_CODE = "123456" diff --git a/tests/auth/test_init.py b/tests/auth/test_init.py index edcd01d51e1..f303a59179b 100644 --- a/tests/auth/test_init.py +++ b/tests/auth/test_init.py @@ -1,6 +1,5 @@ """Tests for the Home Assistant auth module.""" from datetime import timedelta -from unittest.mock import Mock, patch import jwt import pytest @@ -12,6 +11,7 @@ from homeassistant.auth.const import MFA_SESSION_EXPIRATION from homeassistant.core import callback from homeassistant.util import dt as dt_util +from tests.async_mock import Mock, patch from tests.common import CLIENT_ID, MockUser, ensure_auth_manager_loaded, flush_store diff --git a/tests/components/abode/common.py b/tests/components/abode/common.py index aabc732daa2..157a5441bb1 100644 --- a/tests/components/abode/common.py +++ b/tests/components/abode/common.py @@ -1,10 +1,9 @@ """Common methods used across tests for Abode.""" -from unittest.mock import patch - from homeassistant.components.abode import DOMAIN as ABODE_DOMAIN from homeassistant.const import CONF_PASSWORD, CONF_USERNAME from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import MockConfigEntry diff --git a/tests/components/abode/test_alarm_control_panel.py b/tests/components/abode/test_alarm_control_panel.py index ca546157c93..d64b211f304 100644 --- a/tests/components/abode/test_alarm_control_panel.py +++ b/tests/components/abode/test_alarm_control_panel.py @@ -1,6 +1,4 @@ """Tests for the Abode alarm control panel device.""" -from unittest.mock import PropertyMock, patch - import abodepy.helpers.constants as CONST from homeassistant.components.abode import ATTR_DEVICE_ID @@ -19,6 +17,8 @@ from homeassistant.const import ( from .common import setup_platform +from tests.async_mock import PropertyMock, patch + DEVICE_ID = "alarm_control_panel.abode_alarm" diff --git a/tests/components/abode/test_camera.py b/tests/components/abode/test_camera.py index 8b11671a456..0e843c59023 100644 --- a/tests/components/abode/test_camera.py +++ b/tests/components/abode/test_camera.py @@ -1,12 +1,12 @@ """Tests for the Abode camera device.""" -from unittest.mock import patch - from homeassistant.components.abode.const import DOMAIN as ABODE_DOMAIN from homeassistant.components.camera import DOMAIN as CAMERA_DOMAIN from homeassistant.const import ATTR_ENTITY_ID, STATE_IDLE from .common import setup_platform +from tests.async_mock import patch + async def test_entity_registry(hass): """Tests that the devices are registered in the entity registry.""" diff --git a/tests/components/abode/test_config_flow.py b/tests/components/abode/test_config_flow.py index d9762296e70..01508d412a2 100644 --- a/tests/components/abode/test_config_flow.py +++ b/tests/components/abode/test_config_flow.py @@ -1,12 +1,11 @@ """Tests for the Abode config flow.""" -from unittest.mock import patch - from abodepy.exceptions import AbodeAuthenticationException from homeassistant import data_entry_flow from homeassistant.components.abode import config_flow from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, HTTP_INTERNAL_SERVER_ERROR +from tests.async_mock import patch from tests.common import MockConfigEntry CONF_POLLING = "polling" diff --git a/tests/components/abode/test_cover.py b/tests/components/abode/test_cover.py index bb1b8fceffb..b166ec5464a 100644 --- a/tests/components/abode/test_cover.py +++ b/tests/components/abode/test_cover.py @@ -1,6 +1,4 @@ """Tests for the Abode cover device.""" -from unittest.mock import patch - from homeassistant.components.abode import ATTR_DEVICE_ID from homeassistant.components.cover import DOMAIN as COVER_DOMAIN from homeassistant.const import ( @@ -13,6 +11,8 @@ from homeassistant.const import ( from .common import setup_platform +from tests.async_mock import patch + DEVICE_ID = "cover.garage_door" diff --git a/tests/components/abode/test_init.py b/tests/components/abode/test_init.py index 3f73ccd77ce..1598e7bfa91 100644 --- a/tests/components/abode/test_init.py +++ b/tests/components/abode/test_init.py @@ -1,6 +1,4 @@ """Tests for the Abode module.""" -from unittest.mock import patch - from homeassistant.components.abode import ( DOMAIN as ABODE_DOMAIN, SERVICE_CAPTURE_IMAGE, @@ -11,6 +9,8 @@ from homeassistant.components.alarm_control_panel import DOMAIN as ALARM_DOMAIN from .common import setup_platform +from tests.async_mock import patch + async def test_change_settings(hass): """Test change_setting service.""" diff --git a/tests/components/abode/test_light.py b/tests/components/abode/test_light.py index f0eee4b209b..6506746783c 100644 --- a/tests/components/abode/test_light.py +++ b/tests/components/abode/test_light.py @@ -1,6 +1,4 @@ """Tests for the Abode light device.""" -from unittest.mock import patch - from homeassistant.components.abode import ATTR_DEVICE_ID from homeassistant.components.light import ( ATTR_BRIGHTNESS, @@ -19,6 +17,8 @@ from homeassistant.const import ( from .common import setup_platform +from tests.async_mock import patch + DEVICE_ID = "light.living_room_lamp" diff --git a/tests/components/abode/test_lock.py b/tests/components/abode/test_lock.py index 45e17861d33..6850eebe0ce 100644 --- a/tests/components/abode/test_lock.py +++ b/tests/components/abode/test_lock.py @@ -1,6 +1,4 @@ """Tests for the Abode lock device.""" -from unittest.mock import patch - from homeassistant.components.abode import ATTR_DEVICE_ID from homeassistant.components.lock import DOMAIN as LOCK_DOMAIN from homeassistant.const import ( @@ -13,6 +11,8 @@ from homeassistant.const import ( from .common import setup_platform +from tests.async_mock import patch + DEVICE_ID = "lock.test_lock" diff --git a/tests/components/abode/test_switch.py b/tests/components/abode/test_switch.py index 3ec9648d87d..5c480b33225 100644 --- a/tests/components/abode/test_switch.py +++ b/tests/components/abode/test_switch.py @@ -1,6 +1,4 @@ """Tests for the Abode switch device.""" -from unittest.mock import patch - from homeassistant.components.abode import ( DOMAIN as ABODE_DOMAIN, SERVICE_TRIGGER_AUTOMATION, @@ -16,6 +14,8 @@ from homeassistant.const import ( from .common import setup_platform +from tests.async_mock import patch + AUTOMATION_ID = "switch.test_automation" AUTOMATION_UID = "47fae27488f74f55b964a81a066c3a01" DEVICE_ID = "switch.test_switch" diff --git a/tests/components/androidtv/patchers.py b/tests/components/androidtv/patchers.py index c49b6ad11e9..85c80dd0b1c 100644 --- a/tests/components/androidtv/patchers.py +++ b/tests/components/androidtv/patchers.py @@ -1,6 +1,6 @@ """Define patches used for androidtv tests.""" -from unittest.mock import mock_open, patch +from tests.async_mock import mock_open, patch class AdbDeviceTcpFake: diff --git a/tests/components/androidtv/test_media_player.py b/tests/components/androidtv/test_media_player.py index c9f2c271000..fa4f6ffbed6 100644 --- a/tests/components/androidtv/test_media_player.py +++ b/tests/components/androidtv/test_media_player.py @@ -1,7 +1,6 @@ """The tests for the androidtv platform.""" import base64 import logging -from unittest.mock import patch from androidtv.exceptions import LockNotAcquiredException @@ -41,6 +40,8 @@ from homeassistant.setup import async_setup_component from . import patchers +from tests.async_mock import patch + # Android TV device with Python ADB implementation CONFIG_ANDROIDTV_PYTHON_ADB = { DOMAIN: { diff --git a/tests/components/api/test_init.py b/tests/components/api/test_init.py index e73b65661c9..1c93158ec03 100644 --- a/tests/components/api/test_init.py +++ b/tests/components/api/test_init.py @@ -1,7 +1,6 @@ """The tests for the Home Assistant API component.""" # pylint: disable=protected-access import json -from unittest.mock import patch from aiohttp import web import pytest @@ -12,6 +11,7 @@ from homeassistant.bootstrap import DATA_LOGGING import homeassistant.core as ha from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import async_mock_service diff --git a/tests/components/apns/test_notify.py b/tests/components/apns/test_notify.py index 61092899e24..5c69e19435e 100644 --- a/tests/components/apns/test_notify.py +++ b/tests/components/apns/test_notify.py @@ -1,7 +1,6 @@ """The tests for the APNS component.""" import io import unittest -from unittest.mock import Mock, mock_open, patch from apns2.errors import Unregistered import yaml @@ -11,6 +10,7 @@ import homeassistant.components.notify as notify from homeassistant.core import State from homeassistant.setup import setup_component +from tests.async_mock import Mock, mock_open, patch from tests.common import assert_setup_component, get_test_home_assistant CONFIG = { diff --git a/tests/components/apprise/test_notify.py b/tests/components/apprise/test_notify.py index 8135f4e8e2c..125971016cb 100644 --- a/tests/components/apprise/test_notify.py +++ b/tests/components/apprise/test_notify.py @@ -1,8 +1,8 @@ """The tests for the apprise notification platform.""" -from unittest.mock import MagicMock, patch - from homeassistant.setup import async_setup_component +from tests.async_mock import MagicMock, patch + BASE_COMPONENT = "notify" diff --git a/tests/components/aprs/test_device_tracker.py b/tests/components/aprs/test_device_tracker.py index dc0cf09f28d..95cdf4befec 100644 --- a/tests/components/aprs/test_device_tracker.py +++ b/tests/components/aprs/test_device_tracker.py @@ -1,11 +1,10 @@ """Test APRS device tracker.""" -from unittest.mock import Mock, patch - import aprslib import homeassistant.components.aprs.device_tracker as device_tracker from homeassistant.const import EVENT_HOMEASSISTANT_START +from tests.async_mock import Mock, patch from tests.common import get_test_home_assistant DEFAULT_PORT = 14580 diff --git a/tests/components/arlo/test_sensor.py b/tests/components/arlo/test_sensor.py index 15b85959ff0..e75db4a57dd 100644 --- a/tests/components/arlo/test_sensor.py +++ b/tests/components/arlo/test_sensor.py @@ -1,6 +1,5 @@ """The tests for the Netgear Arlo sensors.""" from collections import namedtuple -from unittest.mock import MagicMock, patch import pytest @@ -12,6 +11,8 @@ from homeassistant.const import ( UNIT_PERCENTAGE, ) +from tests.async_mock import patch + def _get_named_tuple(input_dict): return namedtuple("Struct", input_dict.keys())(*input_dict.values()) @@ -94,7 +95,7 @@ def sensor_with_hass_data(default_sensor, hass): def mock_dispatch(): """Mock the dispatcher connect method.""" target = "homeassistant.components.arlo.sensor.async_dispatcher_connect" - with patch(target, MagicMock()) as _mock: + with patch(target) as _mock: yield _mock diff --git a/tests/components/atag/test_config_flow.py b/tests/components/atag/test_config_flow.py index c860b85c240..9885c9081dd 100644 --- a/tests/components/atag/test_config_flow.py +++ b/tests/components/atag/test_config_flow.py @@ -1,13 +1,11 @@ """Tests for the Atag config flow.""" -from unittest.mock import PropertyMock - from pyatag import AtagException from homeassistant import config_entries, data_entry_flow from homeassistant.components.atag import DOMAIN from homeassistant.const import CONF_DEVICE, CONF_HOST, CONF_PORT -from tests.async_mock import patch +from tests.async_mock import PropertyMock, patch from tests.common import MockConfigEntry FIXTURE_USER_INPUT = { diff --git a/tests/components/august/test_gateway.py b/tests/components/august/test_gateway.py index b9d1959d18a..ec035b9ec38 100644 --- a/tests/components/august/test_gateway.py +++ b/tests/components/august/test_gateway.py @@ -1,10 +1,8 @@ """The gateway tests for the august platform.""" -from unittest.mock import MagicMock - from homeassistant.components.august.const import DOMAIN from homeassistant.components.august.gateway import AugustGateway -from tests.async_mock import patch +from tests.async_mock import MagicMock, patch from tests.components.august.mocks import _mock_august_authentication, _mock_get_config diff --git a/tests/components/auth/test_init.py b/tests/components/auth/test_init.py index 2c9a39c6fb6..3d799fe0078 100644 --- a/tests/components/auth/test_init.py +++ b/tests/components/auth/test_init.py @@ -1,6 +1,5 @@ """Integration tests for the auth component.""" from datetime import timedelta -from unittest.mock import patch from homeassistant.auth.models import Credentials from homeassistant.components import auth @@ -10,6 +9,7 @@ from homeassistant.util.dt import utcnow from . import async_setup_auth +from tests.async_mock import patch from tests.common import CLIENT_ID, CLIENT_REDIRECT_URI, MockUser diff --git a/tests/components/auth/test_login_flow.py b/tests/components/auth/test_login_flow.py index e6e5281d601..f2629a27bb9 100644 --- a/tests/components/auth/test_login_flow.py +++ b/tests/components/auth/test_login_flow.py @@ -1,8 +1,7 @@ """Tests for the login flow.""" -from unittest.mock import patch - from . import async_setup_auth +from tests.async_mock import patch from tests.common import CLIENT_ID, CLIENT_REDIRECT_URI diff --git a/tests/components/automation/test_homeassistant.py b/tests/components/automation/test_homeassistant.py index b0db66e16a9..d7bdfbeef3e 100644 --- a/tests/components/automation/test_homeassistant.py +++ b/tests/components/automation/test_homeassistant.py @@ -1,11 +1,9 @@ """The tests for the Event automation.""" -from unittest.mock import patch - import homeassistant.components.automation as automation from homeassistant.core import CoreState from homeassistant.setup import async_setup_component -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, patch from tests.common import async_mock_service diff --git a/tests/components/automation/test_init.py b/tests/components/automation/test_init.py index a039604525f..7a082ba1931 100644 --- a/tests/components/automation/test_init.py +++ b/tests/components/automation/test_init.py @@ -1,6 +1,5 @@ """The tests for the automation component.""" from datetime import timedelta -from unittest.mock import Mock, patch import pytest @@ -19,6 +18,7 @@ from homeassistant.exceptions import HomeAssistantError, Unauthorized from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import Mock, patch from tests.common import ( assert_setup_component, async_fire_time_changed, diff --git a/tests/components/automation/test_numeric_state.py b/tests/components/automation/test_numeric_state.py index 1173de4b02a..46b774c1cc9 100644 --- a/tests/components/automation/test_numeric_state.py +++ b/tests/components/automation/test_numeric_state.py @@ -1,6 +1,5 @@ """The tests for numeric state automation.""" from datetime import timedelta -from unittest.mock import patch import pytest import voluptuous as vol @@ -11,6 +10,7 @@ from homeassistant.core import Context from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( assert_setup_component, async_fire_time_changed, diff --git a/tests/components/automation/test_state.py b/tests/components/automation/test_state.py index 033ce44e5a4..0d591c967be 100644 --- a/tests/components/automation/test_state.py +++ b/tests/components/automation/test_state.py @@ -1,6 +1,5 @@ """The test for state automation.""" from datetime import timedelta -from unittest.mock import patch import pytest @@ -9,6 +8,7 @@ from homeassistant.core import Context from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( assert_setup_component, async_fire_time_changed, diff --git a/tests/components/automation/test_sun.py b/tests/components/automation/test_sun.py index 4cb2672ab64..4efb19ff201 100644 --- a/tests/components/automation/test_sun.py +++ b/tests/components/automation/test_sun.py @@ -1,6 +1,5 @@ """The tests for the sun automation.""" from datetime import datetime -from unittest.mock import patch import pytest @@ -10,6 +9,7 @@ from homeassistant.const import SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import async_fire_time_changed, async_mock_service, mock_component from tests.components.automation import common diff --git a/tests/components/automation/test_time.py b/tests/components/automation/test_time.py index ec8d504652b..0ba85467fcd 100644 --- a/tests/components/automation/test_time.py +++ b/tests/components/automation/test_time.py @@ -1,6 +1,5 @@ """The tests for the time automation.""" from datetime import timedelta -from unittest.mock import patch import pytest @@ -8,6 +7,7 @@ import homeassistant.components.automation as automation from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( assert_setup_component, async_fire_time_changed, diff --git a/tests/components/axis/test_init.py b/tests/components/axis/test_init.py index 5803f31d526..b8baf18a67d 100644 --- a/tests/components/axis/test_init.py +++ b/tests/components/axis/test_init.py @@ -1,12 +1,10 @@ """Test Axis component setup process.""" -from unittest.mock import Mock, patch - from homeassistant.components import axis from homeassistant.setup import async_setup_component from .test_device import MAC, setup_axis_integration -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, Mock, patch from tests.common import MockConfigEntry diff --git a/tests/components/axis/test_switch.py b/tests/components/axis/test_switch.py index 844cfedf7fe..d8d69265f3a 100644 --- a/tests/components/axis/test_switch.py +++ b/tests/components/axis/test_switch.py @@ -1,13 +1,13 @@ """Axis switch platform tests.""" -from unittest.mock import Mock, call as mock_call - from homeassistant.components import axis import homeassistant.components.switch as switch from homeassistant.setup import async_setup_component from .test_device import NAME, setup_axis_integration +from tests.async_mock import Mock, call as mock_call + EVENTS = [ { "operation": "Initialized", diff --git a/tests/components/binary_sensor/test_device_condition.py b/tests/components/binary_sensor/test_device_condition.py index 1ac24e03702..968b54b7892 100644 --- a/tests/components/binary_sensor/test_device_condition.py +++ b/tests/components/binary_sensor/test_device_condition.py @@ -1,6 +1,5 @@ """The test for binary_sensor device automation.""" from datetime import timedelta -from unittest.mock import patch import pytest @@ -12,6 +11,7 @@ from homeassistant.helpers import device_registry from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( MockConfigEntry, async_get_device_automation_capabilities, diff --git a/tests/components/bluetooth_le_tracker/test_device_tracker.py b/tests/components/bluetooth_le_tracker/test_device_tracker.py index 308371c9aaa..af4df463339 100644 --- a/tests/components/bluetooth_le_tracker/test_device_tracker.py +++ b/tests/components/bluetooth_le_tracker/test_device_tracker.py @@ -1,7 +1,6 @@ """Test Bluetooth LE device tracker.""" from datetime import timedelta -from unittest.mock import patch from homeassistant.components.bluetooth_le_tracker import device_tracker from homeassistant.components.device_tracker.const import ( @@ -13,6 +12,7 @@ from homeassistant.const import CONF_PLATFORM from homeassistant.setup import async_setup_component from homeassistant.util import dt as dt_util, slugify +from tests.async_mock import patch from tests.common import async_fire_time_changed diff --git a/tests/components/bom/test_sensor.py b/tests/components/bom/test_sensor.py index 7a9daa26c2b..6e85dbca1cd 100644 --- a/tests/components/bom/test_sensor.py +++ b/tests/components/bom/test_sensor.py @@ -2,7 +2,6 @@ import json import re import unittest -from unittest.mock import patch from urllib.parse import urlparse import requests @@ -11,6 +10,7 @@ from homeassistant.components import sensor from homeassistant.components.bom.sensor import BOMCurrentData from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant, load_fixture VALID_CONFIG = { diff --git a/tests/components/broadlink/test_init.py b/tests/components/broadlink/test_init.py index 1bdad193f52..c5477dff49f 100644 --- a/tests/components/broadlink/test_init.py +++ b/tests/components/broadlink/test_init.py @@ -1,7 +1,6 @@ """The tests for the broadlink component.""" from base64 import b64decode from datetime import timedelta -from unittest.mock import MagicMock, call, patch import pytest @@ -9,6 +8,8 @@ from homeassistant.components.broadlink import async_setup_service, data_packet from homeassistant.components.broadlink.const import DOMAIN, SERVICE_LEARN, SERVICE_SEND from homeassistant.util.dt import utcnow +from tests.async_mock import MagicMock, call, patch + DUMMY_IR_PACKET = ( "JgBGAJKVETkRORA6ERQRFBEUERQRFBE5ETkQOhAVEBUQFREUEBUQ" "OhEUERQRORE5EBURFBA6EBUQOhE5EBUQFRA6EDoRFBEADQUAAA==" diff --git a/tests/components/caldav/test_calendar.py b/tests/components/caldav/test_calendar.py index 8e88c6e564e..1b6c21c7358 100644 --- a/tests/components/caldav/test_calendar.py +++ b/tests/components/caldav/test_calendar.py @@ -1,6 +1,5 @@ """The tests for the webdav calendar component.""" import datetime -from unittest.mock import MagicMock, Mock from caldav.objects import Event import pytest @@ -9,7 +8,7 @@ from homeassistant.const import STATE_OFF, STATE_ON from homeassistant.setup import async_setup_component from homeassistant.util import dt -from tests.async_mock import patch +from tests.async_mock import MagicMock, Mock, patch # pylint: disable=redefined-outer-name diff --git a/tests/components/camera/test_init.py b/tests/components/camera/test_init.py index 401350ec93c..3eaef6575ac 100644 --- a/tests/components/camera/test_init.py +++ b/tests/components/camera/test_init.py @@ -2,7 +2,6 @@ import asyncio import base64 import io -from unittest.mock import PropertyMock, mock_open import pytest @@ -14,7 +13,7 @@ from homeassistant.const import ATTR_ENTITY_ID, EVENT_HOMEASSISTANT_START from homeassistant.exceptions import HomeAssistantError from homeassistant.setup import async_setup_component -from tests.async_mock import patch +from tests.async_mock import PropertyMock, mock_open, patch from tests.components.camera import common diff --git a/tests/components/canary/test_init.py b/tests/components/canary/test_init.py index 819d1ce0e90..a3f6fbd7e2d 100644 --- a/tests/components/canary/test_init.py +++ b/tests/components/canary/test_init.py @@ -1,10 +1,10 @@ """The tests for the Canary component.""" import unittest -from unittest.mock import MagicMock, PropertyMock, patch from homeassistant import setup import homeassistant.components.canary as canary +from tests.async_mock import MagicMock, PropertyMock, patch from tests.common import get_test_home_assistant diff --git a/tests/components/canary/test_sensor.py b/tests/components/canary/test_sensor.py index 1d559dbb7ba..5a4a82ccc5a 100644 --- a/tests/components/canary/test_sensor.py +++ b/tests/components/canary/test_sensor.py @@ -1,7 +1,6 @@ """The tests for the Canary sensor platform.""" import copy import unittest -from unittest.mock import Mock from homeassistant.components.canary import DATA_CANARY, sensor as canary from homeassistant.components.canary.sensor import ( @@ -14,6 +13,7 @@ from homeassistant.components.canary.sensor import ( ) from homeassistant.const import TEMP_CELSIUS, UNIT_PERCENTAGE +from tests.async_mock import Mock from tests.common import get_test_home_assistant from tests.components.canary.test_init import mock_device, mock_location diff --git a/tests/components/cast/test_home_assistant_cast.py b/tests/components/cast/test_home_assistant_cast.py index 2ec02da7669..50685d5f3e7 100644 --- a/tests/components/cast/test_home_assistant_cast.py +++ b/tests/components/cast/test_home_assistant_cast.py @@ -1,8 +1,7 @@ """Test Home Assistant Cast.""" -from unittest.mock import Mock, patch - from homeassistant.components.cast import home_assistant_cast +from tests.async_mock import Mock, patch from tests.common import MockConfigEntry, async_mock_signal diff --git a/tests/components/climate/test_init.py b/tests/components/climate/test_init.py index b5ec45d3aa0..e42bf8c7e3c 100644 --- a/tests/components/climate/test_init.py +++ b/tests/components/climate/test_init.py @@ -1,6 +1,5 @@ """The tests for the climate component.""" from typing import List -from unittest.mock import MagicMock import pytest import voluptuous as vol @@ -13,6 +12,7 @@ from homeassistant.components.climate import ( ClimateEntity, ) +from tests.async_mock import MagicMock from tests.common import async_mock_service diff --git a/tests/components/cloud/conftest.py b/tests/components/cloud/conftest.py index 4755d470418..02d9b4c41aa 100644 --- a/tests/components/cloud/conftest.py +++ b/tests/components/cloud/conftest.py @@ -1,6 +1,4 @@ """Fixtures for cloud tests.""" -from unittest.mock import patch - import jwt import pytest @@ -8,6 +6,8 @@ from homeassistant.components.cloud import const, prefs from . import mock_cloud, mock_cloud_prefs +from tests.async_mock import patch + @pytest.fixture(autouse=True) def mock_user_data(): diff --git a/tests/components/cloud/test_binary_sensor.py b/tests/components/cloud/test_binary_sensor.py index 38c3067873f..6a2d76dc403 100644 --- a/tests/components/cloud/test_binary_sensor.py +++ b/tests/components/cloud/test_binary_sensor.py @@ -1,10 +1,8 @@ """Tests for the cloud binary sensor.""" -from unittest.mock import Mock - from homeassistant.components.cloud.const import DISPATCHER_REMOTE_UPDATE from homeassistant.setup import async_setup_component -from tests.async_mock import patch +from tests.async_mock import Mock, patch async def test_remote_connection_sensor(hass): diff --git a/tests/components/cloud/test_google_config.py b/tests/components/cloud/test_google_config.py index 9866270473d..3808f9b179c 100644 --- a/tests/components/cloud/test_google_config.py +++ b/tests/components/cloud/test_google_config.py @@ -1,6 +1,4 @@ """Test the Cloud Google Config.""" -from unittest.mock import Mock - from homeassistant.components.cloud import GACTIONS_SCHEMA from homeassistant.components.cloud.google_config import CloudGoogleConfig from homeassistant.components.google_assistant import helpers as ga_helpers @@ -9,7 +7,7 @@ from homeassistant.core import CoreState from homeassistant.helpers.entity_registry import EVENT_ENTITY_REGISTRY_UPDATED from homeassistant.util.dt import utcnow -from tests.async_mock import AsyncMock, patch +from tests.async_mock import AsyncMock, Mock, patch from tests.common import async_fire_time_changed diff --git a/tests/components/cloud/test_prefs.py b/tests/components/cloud/test_prefs.py index d1b6f9ed867..4f2d5d6d661 100644 --- a/tests/components/cloud/test_prefs.py +++ b/tests/components/cloud/test_prefs.py @@ -1,9 +1,9 @@ """Test Cloud preferences.""" -from unittest.mock import patch - from homeassistant.auth.const import GROUP_ID_ADMIN from homeassistant.components.cloud.prefs import STORAGE_KEY, CloudPreferences +from tests.async_mock import patch + async def test_set_username(hass): """Test we clear config if we set different username.""" diff --git a/tests/components/coinmarketcap/test_sensor.py b/tests/components/coinmarketcap/test_sensor.py index 9d1e89fbc24..8997bc4a5d6 100644 --- a/tests/components/coinmarketcap/test_sensor.py +++ b/tests/components/coinmarketcap/test_sensor.py @@ -1,11 +1,11 @@ """Tests for the CoinMarketCap sensor platform.""" import json import unittest -from unittest.mock import patch import homeassistant.components.sensor as sensor from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant, load_fixture VALID_CONFIG = { diff --git a/tests/components/command_line/test_notify.py b/tests/components/command_line/test_notify.py index 0cb7e9293e9..f20011d4482 100644 --- a/tests/components/command_line/test_notify.py +++ b/tests/components/command_line/test_notify.py @@ -2,11 +2,11 @@ import os import tempfile import unittest -from unittest.mock import patch import homeassistant.components.notify as notify from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/command_line/test_sensor.py b/tests/components/command_line/test_sensor.py index b923be81888..bbf69dc73a0 100644 --- a/tests/components/command_line/test_sensor.py +++ b/tests/components/command_line/test_sensor.py @@ -1,10 +1,10 @@ """The tests for the Command line sensor platform.""" import unittest -from unittest.mock import patch from homeassistant.components.command_line import sensor as command_line from homeassistant.helpers.template import Template +from tests.async_mock import patch from tests.common import get_test_home_assistant diff --git a/tests/components/config/test_group.py b/tests/components/config/test_group.py index f555660fb7a..98ad2041713 100644 --- a/tests/components/config/test_group.py +++ b/tests/components/config/test_group.py @@ -1,11 +1,10 @@ """Test Group config panel.""" import json -from unittest.mock import patch from homeassistant.bootstrap import async_setup_component from homeassistant.components import config -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, patch VIEW_NAME = "api:config:group:config" diff --git a/tests/components/config/test_script.py b/tests/components/config/test_script.py index 0026729766c..4dc906e92f3 100644 --- a/tests/components/config/test_script.py +++ b/tests/components/config/test_script.py @@ -1,9 +1,9 @@ """Tests for config/script.""" -from unittest.mock import patch - from homeassistant.bootstrap import async_setup_component from homeassistant.components import config +from tests.async_mock import patch + async def test_delete_script(hass, hass_client): """Test deleting a script.""" diff --git a/tests/components/config/test_zwave.py b/tests/components/config/test_zwave.py index 3624554843a..75a66f61939 100644 --- a/tests/components/config/test_zwave.py +++ b/tests/components/config/test_zwave.py @@ -1,6 +1,5 @@ """Test Z-Wave config panel.""" import json -from unittest.mock import MagicMock, patch import pytest @@ -9,6 +8,7 @@ from homeassistant.components import config from homeassistant.components.zwave import DATA_NETWORK, const from homeassistant.const import HTTP_NOT_FOUND +from tests.async_mock import MagicMock, patch from tests.mock.zwave import MockEntityValues, MockNode, MockValue VIEW_NAME = "api:config:zwave:device_config" diff --git a/tests/components/daikin/test_config_flow.py b/tests/components/daikin/test_config_flow.py index aea78f17564..996aef3db4b 100644 --- a/tests/components/daikin/test_config_flow.py +++ b/tests/components/daikin/test_config_flow.py @@ -1,7 +1,6 @@ # pylint: disable=redefined-outer-name """Tests for the Daikin config flow.""" import asyncio -from unittest.mock import patch import pytest @@ -10,6 +9,7 @@ from homeassistant.components.daikin import config_flow from homeassistant.components.daikin.const import KEY_IP, KEY_MAC from homeassistant.const import CONF_HOST +from tests.async_mock import patch from tests.common import MockConfigEntry MAC = "AABBCCDDEEFF" diff --git a/tests/components/darksky/test_sensor.py b/tests/components/darksky/test_sensor.py index 2dc2a3ff30b..b4707af01b2 100644 --- a/tests/components/darksky/test_sensor.py +++ b/tests/components/darksky/test_sensor.py @@ -2,7 +2,6 @@ from datetime import timedelta import re import unittest -from unittest.mock import MagicMock, patch import forecastio from requests.exceptions import HTTPError @@ -11,6 +10,7 @@ import requests_mock from homeassistant.components.darksky import sensor as darksky from homeassistant.setup import setup_component +from tests.async_mock import MagicMock, patch from tests.common import get_test_home_assistant, load_fixture VALID_CONFIG_MINIMAL = { diff --git a/tests/components/darksky/test_weather.py b/tests/components/darksky/test_weather.py index 09ffe7bdc90..f871d424db6 100644 --- a/tests/components/darksky/test_weather.py +++ b/tests/components/darksky/test_weather.py @@ -1,7 +1,6 @@ """The tests for the Dark Sky weather component.""" import re import unittest -from unittest.mock import patch import forecastio from requests.exceptions import ConnectionError @@ -11,6 +10,7 @@ from homeassistant.components import weather from homeassistant.setup import setup_component from homeassistant.util.unit_system import METRIC_SYSTEM +from tests.async_mock import patch from tests.common import get_test_home_assistant, load_fixture diff --git a/tests/components/default_config/test_init.py b/tests/components/default_config/test_init.py index 8e0862eb0cb..00fb1c1047b 100644 --- a/tests/components/default_config/test_init.py +++ b/tests/components/default_config/test_init.py @@ -1,10 +1,10 @@ """Test the default_config init.""" -from unittest.mock import patch - import pytest from homeassistant.setup import async_setup_component +from tests.async_mock import patch + @pytest.fixture(autouse=True) def recorder_url_mock(): diff --git a/tests/components/demo/test_camera.py b/tests/components/demo/test_camera.py index d46d1fdc62b..49b8e017f1a 100644 --- a/tests/components/demo/test_camera.py +++ b/tests/components/demo/test_camera.py @@ -1,6 +1,4 @@ """The tests for local file camera component.""" -from unittest.mock import patch - import pytest from homeassistant.components.camera import ( @@ -18,6 +16,8 @@ from homeassistant.const import ATTR_ENTITY_ID from homeassistant.exceptions import HomeAssistantError from homeassistant.setup import async_setup_component +from tests.async_mock import patch + ENTITY_CAMERA = "camera.demo_camera" diff --git a/tests/components/demo/test_geo_location.py b/tests/components/demo/test_geo_location.py index 5d5f2fc8106..0ba3a35b891 100644 --- a/tests/components/demo/test_geo_location.py +++ b/tests/components/demo/test_geo_location.py @@ -1,6 +1,5 @@ """The tests for the demo platform.""" import unittest -from unittest.mock import patch from homeassistant.components import geo_location from homeassistant.components.demo.geo_location import ( @@ -11,6 +10,7 @@ from homeassistant.const import LENGTH_KILOMETERS from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( assert_setup_component, fire_time_changed, diff --git a/tests/components/demo/test_notify.py b/tests/components/demo/test_notify.py index e30d65112e8..7c7b7fa0aa1 100644 --- a/tests/components/demo/test_notify.py +++ b/tests/components/demo/test_notify.py @@ -1,6 +1,5 @@ """The tests for the notify demo platform.""" import unittest -from unittest.mock import patch import pytest import voluptuous as vol @@ -11,6 +10,7 @@ from homeassistant.core import callback from homeassistant.helpers import discovery from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant from tests.components.notify import common diff --git a/tests/components/denonavr/test_media_player.py b/tests/components/denonavr/test_media_player.py index 91bc2abf94d..1547391a339 100644 --- a/tests/components/denonavr/test_media_player.py +++ b/tests/components/denonavr/test_media_player.py @@ -1,6 +1,4 @@ """The tests for the denonavr media player platform.""" -from unittest.mock import patch - import pytest from homeassistant.components import media_player @@ -8,6 +6,8 @@ from homeassistant.components.denonavr import ATTR_COMMAND, DOMAIN, SERVICE_GET_ from homeassistant.const import ATTR_ENTITY_ID, CONF_HOST, CONF_NAME, CONF_PLATFORM from homeassistant.setup import async_setup_component +from tests.async_mock import patch + NAME = "fake" ENTITY_ID = f"{media_player.DOMAIN}.{NAME}" diff --git a/tests/components/derivative/test_sensor.py b/tests/components/derivative/test_sensor.py index 466f07a9deb..96fee84126a 100644 --- a/tests/components/derivative/test_sensor.py +++ b/tests/components/derivative/test_sensor.py @@ -1,11 +1,12 @@ """The tests for the derivative sensor platform.""" from datetime import timedelta -from unittest.mock import patch from homeassistant.const import POWER_WATT, TIME_HOURS, TIME_MINUTES, TIME_SECONDS from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch + async def test_state(hass): """Test derivative sensor state.""" diff --git a/tests/components/dialogflow/test_init.py b/tests/components/dialogflow/test_init.py index 5c2a71ad88f..c8c508a0d88 100644 --- a/tests/components/dialogflow/test_init.py +++ b/tests/components/dialogflow/test_init.py @@ -1,7 +1,6 @@ """The tests for the Dialogflow component.""" import copy import json -from unittest.mock import Mock import pytest @@ -10,6 +9,8 @@ from homeassistant.components import dialogflow, intent_script from homeassistant.core import callback from homeassistant.setup import async_setup_component +from tests.async_mock import Mock + SESSION_ID = "a9b84cec-46b6-484e-8f31-f65dba03ae6d" INTENT_ID = "c6a74079-a8f0-46cd-b372-5a934d23591c" INTENT_NAME = "tests" diff --git a/tests/components/dsmr/test_sensor.py b/tests/components/dsmr/test_sensor.py index 936a1e68037..895a95bef7b 100644 --- a/tests/components/dsmr/test_sensor.py +++ b/tests/components/dsmr/test_sensor.py @@ -9,7 +9,6 @@ import asyncio import datetime from decimal import Decimal from itertools import chain, repeat -from unittest.mock import DEFAULT, Mock import pytest @@ -18,6 +17,7 @@ from homeassistant.components.dsmr.sensor import DerivativeDSMREntity from homeassistant.const import ENERGY_KILO_WATT_HOUR, TIME_HOURS, VOLUME_CUBIC_METERS import tests.async_mock +from tests.async_mock import DEFAULT, Mock from tests.common import assert_setup_component diff --git a/tests/components/emulated_hue/test_hue_api.py b/tests/components/emulated_hue/test_hue_api.py index 052228e7aab..67baed7878e 100644 --- a/tests/components/emulated_hue/test_hue_api.py +++ b/tests/components/emulated_hue/test_hue_api.py @@ -2,7 +2,6 @@ from datetime import timedelta from ipaddress import ip_address import json -from unittest.mock import patch from aiohttp.hdrs import CONTENT_TYPE import pytest @@ -42,6 +41,7 @@ from homeassistant.const import ( ) import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( async_fire_time_changed, async_mock_service, diff --git a/tests/components/emulated_hue/test_init.py b/tests/components/emulated_hue/test_init.py index 6fa6d969539..b1cf2aacb1b 100644 --- a/tests/components/emulated_hue/test_init.py +++ b/tests/components/emulated_hue/test_init.py @@ -1,8 +1,8 @@ """Test the Emulated Hue component.""" -from unittest.mock import MagicMock, Mock, patch - from homeassistant.components.emulated_hue import Config +from tests.async_mock import MagicMock, Mock, patch + def test_config_google_home_entity_id_to_number(): """Test config adheres to the type.""" diff --git a/tests/components/emulated_hue/test_upnp.py b/tests/components/emulated_hue/test_upnp.py index 889f6437b0a..2557ecac2dd 100644 --- a/tests/components/emulated_hue/test_upnp.py +++ b/tests/components/emulated_hue/test_upnp.py @@ -1,7 +1,6 @@ """The tests for the emulated Hue component.""" import json import unittest -from unittest.mock import patch from aiohttp.hdrs import CONTENT_TYPE import defusedxml.ElementTree as ET @@ -10,6 +9,7 @@ import requests from homeassistant import const, setup from homeassistant.components import emulated_hue +from tests.async_mock import patch from tests.common import get_test_home_assistant, get_test_instance_port HTTP_SERVER_PORT = get_test_instance_port() diff --git a/tests/components/emulated_roku/test_binding.py b/tests/components/emulated_roku/test_binding.py index 61c93690548..5ff29194adf 100644 --- a/tests/components/emulated_roku/test_binding.py +++ b/tests/components/emulated_roku/test_binding.py @@ -1,6 +1,4 @@ """Tests for emulated_roku library bindings.""" -from unittest.mock import Mock, patch - from homeassistant.components.emulated_roku.binding import ( ATTR_APP_ID, ATTR_COMMAND_TYPE, @@ -14,7 +12,7 @@ from homeassistant.components.emulated_roku.binding import ( EmulatedRoku, ) -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, Mock, patch async def test_events_fired_properly(hass): diff --git a/tests/components/emulated_roku/test_init.py b/tests/components/emulated_roku/test_init.py index 8d58519ddf9..92952a5d840 100644 --- a/tests/components/emulated_roku/test_init.py +++ b/tests/components/emulated_roku/test_init.py @@ -1,10 +1,8 @@ """Test emulated_roku component setup process.""" -from unittest.mock import Mock, patch - from homeassistant.components import emulated_roku from homeassistant.setup import async_setup_component -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, Mock, patch async def test_config_required_fields(hass): diff --git a/tests/components/facebox/test_image_processing.py b/tests/components/facebox/test_image_processing.py index 8506cd2d817..b40211d5a91 100644 --- a/tests/components/facebox/test_image_processing.py +++ b/tests/components/facebox/test_image_processing.py @@ -1,6 +1,4 @@ """The tests for the facebox component.""" -from unittest.mock import Mock, mock_open, patch - import pytest import requests import requests_mock @@ -23,6 +21,8 @@ from homeassistant.const import ( from homeassistant.core import callback from homeassistant.setup import async_setup_component +from tests.async_mock import Mock, mock_open, patch + MOCK_IP = "192.168.0.1" MOCK_PORT = "8080" diff --git a/tests/components/fail2ban/test_sensor.py b/tests/components/fail2ban/test_sensor.py index fc8bfc318bb..b164cc93f2e 100644 --- a/tests/components/fail2ban/test_sensor.py +++ b/tests/components/fail2ban/test_sensor.py @@ -1,6 +1,5 @@ """The tests for local file sensor platform.""" import unittest -from unittest.mock import Mock, patch from mock_open import MockOpen @@ -12,6 +11,7 @@ from homeassistant.components.fail2ban.sensor import ( ) from homeassistant.setup import setup_component +from tests.async_mock import Mock, patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/feedreader/test_init.py b/tests/components/feedreader/test_init.py index 58a660fcb5d..823bdf6eb63 100644 --- a/tests/components/feedreader/test_init.py +++ b/tests/components/feedreader/test_init.py @@ -6,7 +6,6 @@ from os.path import exists import time import unittest from unittest import mock -from unittest.mock import patch from homeassistant.components import feedreader from homeassistant.components.feedreader import ( @@ -22,6 +21,7 @@ from homeassistant.const import CONF_SCAN_INTERVAL, EVENT_HOMEASSISTANT_START from homeassistant.core import callback from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant, load_fixture _LOGGER = getLogger(__name__) diff --git a/tests/components/ffmpeg/test_init.py b/tests/components/ffmpeg/test_init.py index 3c6a2fbb92d..4187fe561cc 100644 --- a/tests/components/ffmpeg/test_init.py +++ b/tests/components/ffmpeg/test_init.py @@ -1,6 +1,4 @@ """The tests for Home Assistant ffmpeg.""" -from unittest.mock import MagicMock - import homeassistant.components.ffmpeg as ffmpeg from homeassistant.components.ffmpeg import ( DOMAIN, @@ -12,6 +10,7 @@ from homeassistant.const import ATTR_ENTITY_ID from homeassistant.core import callback from homeassistant.setup import async_setup_component, setup_component +from tests.async_mock import MagicMock from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/fido/test_sensor.py b/tests/components/fido/test_sensor.py index 9a316a85735..b57232d25ad 100644 --- a/tests/components/fido/test_sensor.py +++ b/tests/components/fido/test_sensor.py @@ -1,11 +1,11 @@ """The test for the fido sensor platform.""" import logging import sys -from unittest.mock import MagicMock, patch from homeassistant.bootstrap import async_setup_component from homeassistant.components.fido import sensor as fido +from tests.async_mock import MagicMock, patch from tests.common import assert_setup_component CONTRACT = "123456789" diff --git a/tests/components/file/test_notify.py b/tests/components/file/test_notify.py index bd5ae68cb37..e4ae125949a 100644 --- a/tests/components/file/test_notify.py +++ b/tests/components/file/test_notify.py @@ -1,13 +1,13 @@ """The tests for the notify file platform.""" import os import unittest -from unittest.mock import call, mock_open, patch import homeassistant.components.notify as notify from homeassistant.components.notify import ATTR_TITLE_DEFAULT from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import call, mock_open, patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/file/test_sensor.py b/tests/components/file/test_sensor.py index 3afdd8284fc..416f3e8c721 100644 --- a/tests/components/file/test_sensor.py +++ b/tests/components/file/test_sensor.py @@ -1,6 +1,5 @@ """The tests for local file sensor platform.""" import unittest -from unittest.mock import Mock, patch # Using third party package because of a bug reading binary data in Python 3.4 # https://bugs.python.org/issue23004 @@ -9,6 +8,7 @@ from mock_open import MockOpen from homeassistant.const import STATE_UNKNOWN from homeassistant.setup import setup_component +from tests.async_mock import Mock, patch from tests.common import get_test_home_assistant, mock_registry diff --git a/tests/components/filter/test_sensor.py b/tests/components/filter/test_sensor.py index 06bf7cfaf12..238cb366f73 100644 --- a/tests/components/filter/test_sensor.py +++ b/tests/components/filter/test_sensor.py @@ -1,7 +1,6 @@ """The test for the data filter sensor platform.""" from datetime import timedelta import unittest -from unittest.mock import patch from homeassistant.components.filter.sensor import ( LowPassFilter, @@ -15,6 +14,7 @@ import homeassistant.core as ha from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( assert_setup_component, get_test_home_assistant, diff --git a/tests/components/folder_watcher/test_init.py b/tests/components/folder_watcher/test_init.py index fa2cfc6d3f1..997bac23f22 100644 --- a/tests/components/folder_watcher/test_init.py +++ b/tests/components/folder_watcher/test_init.py @@ -1,10 +1,11 @@ """The tests for the folder_watcher component.""" import os -from unittest.mock import Mock, patch from homeassistant.components import folder_watcher from homeassistant.setup import async_setup_component +from tests.async_mock import Mock, patch + async def test_invalid_path_setup(hass): """Test that an invalid path is not set up.""" diff --git a/tests/components/foobot/test_sensor.py b/tests/components/foobot/test_sensor.py index 37a0310d163..0a145c88479 100644 --- a/tests/components/foobot/test_sensor.py +++ b/tests/components/foobot/test_sensor.py @@ -2,7 +2,6 @@ import asyncio import re -from unittest.mock import MagicMock import pytest @@ -20,6 +19,7 @@ from homeassistant.const import ( from homeassistant.exceptions import PlatformNotReady from homeassistant.setup import async_setup_component +from tests.async_mock import MagicMock from tests.common import load_fixture VALID_CONFIG = { diff --git a/tests/components/freebox/conftest.py b/tests/components/freebox/conftest.py index e813469cbbf..7581b03ce72 100644 --- a/tests/components/freebox/conftest.py +++ b/tests/components/freebox/conftest.py @@ -1,8 +1,8 @@ """Test helpers for Freebox.""" -from unittest.mock import patch - import pytest +from tests.async_mock import patch + @pytest.fixture(autouse=True) def mock_path(): diff --git a/tests/components/fritzbox/__init__.py b/tests/components/fritzbox/__init__.py index f19e05b84df..066b9a30cb3 100644 --- a/tests/components/fritzbox/__init__.py +++ b/tests/components/fritzbox/__init__.py @@ -1,9 +1,9 @@ """Tests for the AVM Fritz!Box integration.""" -from unittest.mock import Mock - from homeassistant.components.fritzbox.const import DOMAIN from homeassistant.const import CONF_DEVICES, CONF_HOST, CONF_PASSWORD, CONF_USERNAME +from tests.async_mock import Mock + MOCK_CONFIG = { DOMAIN: { CONF_DEVICES: [ diff --git a/tests/components/fritzbox/conftest.py b/tests/components/fritzbox/conftest.py index 591c1037525..7dcee138382 100644 --- a/tests/components/fritzbox/conftest.py +++ b/tests/components/fritzbox/conftest.py @@ -1,8 +1,8 @@ """Fixtures for the AVM Fritz!Box integration.""" -from unittest.mock import Mock, patch - import pytest +from tests.async_mock import Mock, patch + @pytest.fixture(name="fritz") def fritz_fixture() -> Mock: diff --git a/tests/components/fritzbox/test_binary_sensor.py b/tests/components/fritzbox/test_binary_sensor.py index 89c1dea1704..b3157a3be33 100644 --- a/tests/components/fritzbox/test_binary_sensor.py +++ b/tests/components/fritzbox/test_binary_sensor.py @@ -1,7 +1,6 @@ """Tests for AVM Fritz!Box binary sensor component.""" from datetime import timedelta from unittest import mock -from unittest.mock import Mock from requests.exceptions import HTTPError @@ -19,6 +18,7 @@ import homeassistant.util.dt as dt_util from . import MOCK_CONFIG, FritzDeviceBinarySensorMock +from tests.async_mock import Mock from tests.common import async_fire_time_changed ENTITY_ID = f"{DOMAIN}.fake_name" diff --git a/tests/components/fritzbox/test_climate.py b/tests/components/fritzbox/test_climate.py index 627eae5da91..519e3afa31a 100644 --- a/tests/components/fritzbox/test_climate.py +++ b/tests/components/fritzbox/test_climate.py @@ -1,6 +1,5 @@ """Tests for AVM Fritz!Box climate component.""" from datetime import timedelta -from unittest.mock import Mock, call from requests.exceptions import HTTPError @@ -42,6 +41,7 @@ import homeassistant.util.dt as dt_util from . import MOCK_CONFIG, FritzDeviceClimateMock +from tests.async_mock import Mock, call from tests.common import async_fire_time_changed ENTITY_ID = f"{DOMAIN}.fake_name" diff --git a/tests/components/fritzbox/test_config_flow.py b/tests/components/fritzbox/test_config_flow.py index 8bfd992347f..35b41d52118 100644 --- a/tests/components/fritzbox/test_config_flow.py +++ b/tests/components/fritzbox/test_config_flow.py @@ -1,6 +1,5 @@ """Tests for AVM Fritz!Box config flow.""" from unittest import mock -from unittest.mock import Mock, patch from pyfritzhome import LoginError import pytest @@ -17,6 +16,8 @@ from homeassistant.helpers.typing import HomeAssistantType from . import MOCK_CONFIG +from tests.async_mock import Mock, patch + MOCK_USER_DATA = MOCK_CONFIG[DOMAIN][CONF_DEVICES][0] MOCK_SSDP_DATA = { ATTR_SSDP_LOCATION: "https://fake_host:12345/test", diff --git a/tests/components/fritzbox/test_init.py b/tests/components/fritzbox/test_init.py index 11067c1aa51..55dab3626db 100644 --- a/tests/components/fritzbox/test_init.py +++ b/tests/components/fritzbox/test_init.py @@ -1,6 +1,4 @@ """Tests for the AVM Fritz!Box integration.""" -from unittest.mock import Mock, call - from homeassistant.components.fritzbox.const import DOMAIN as FB_DOMAIN from homeassistant.components.switch import DOMAIN as SWITCH_DOMAIN from homeassistant.config_entries import ENTRY_STATE_LOADED, ENTRY_STATE_NOT_LOADED @@ -10,6 +8,7 @@ from homeassistant.setup import async_setup_component from . import MOCK_CONFIG, FritzDeviceSwitchMock +from tests.async_mock import Mock, call from tests.common import MockConfigEntry diff --git a/tests/components/fritzbox/test_sensor.py b/tests/components/fritzbox/test_sensor.py index 6dde22f074e..7f97e8abfb1 100644 --- a/tests/components/fritzbox/test_sensor.py +++ b/tests/components/fritzbox/test_sensor.py @@ -1,6 +1,5 @@ """Tests for AVM Fritz!Box sensor component.""" from datetime import timedelta -from unittest.mock import Mock from requests.exceptions import HTTPError @@ -21,6 +20,7 @@ import homeassistant.util.dt as dt_util from . import MOCK_CONFIG, FritzDeviceSensorMock +from tests.async_mock import Mock from tests.common import async_fire_time_changed ENTITY_ID = f"{DOMAIN}.fake_name" diff --git a/tests/components/fritzbox/test_switch.py b/tests/components/fritzbox/test_switch.py index 1c0f7b3f37a..c9e05b2d481 100644 --- a/tests/components/fritzbox/test_switch.py +++ b/tests/components/fritzbox/test_switch.py @@ -1,6 +1,5 @@ """Tests for AVM Fritz!Box switch component.""" from datetime import timedelta -from unittest.mock import Mock from requests.exceptions import HTTPError @@ -29,6 +28,7 @@ import homeassistant.util.dt as dt_util from . import MOCK_CONFIG, FritzDeviceSwitchMock +from tests.async_mock import Mock from tests.common import async_fire_time_changed ENTITY_ID = f"{DOMAIN}.fake_name" diff --git a/tests/components/garmin_connect/test_config_flow.py b/tests/components/garmin_connect/test_config_flow.py index 276b6f46871..1c383d4343a 100644 --- a/tests/components/garmin_connect/test_config_flow.py +++ b/tests/components/garmin_connect/test_config_flow.py @@ -1,6 +1,4 @@ """Test the Garmin Connect config flow.""" -from unittest.mock import patch - from garminconnect import ( GarminConnectAuthenticationError, GarminConnectConnectionError, @@ -12,6 +10,7 @@ from homeassistant import data_entry_flow from homeassistant.components.garmin_connect.const import DOMAIN from homeassistant.const import CONF_ID, CONF_PASSWORD, CONF_USERNAME +from tests.async_mock import patch from tests.common import MockConfigEntry MOCK_CONF = { diff --git a/tests/components/gdacs/__init__.py b/tests/components/gdacs/__init__.py index 6e61b86dbb7..648ab08507b 100644 --- a/tests/components/gdacs/__init__.py +++ b/tests/components/gdacs/__init__.py @@ -1,5 +1,5 @@ """Tests for the GDACS component.""" -from unittest.mock import MagicMock +from tests.async_mock import MagicMock def _generate_mock_feed_entry( diff --git a/tests/components/geo_rss_events/test_sensor.py b/tests/components/geo_rss_events/test_sensor.py index 25243afea78..9f7cdd3faab 100644 --- a/tests/components/geo_rss_events/test_sensor.py +++ b/tests/components/geo_rss_events/test_sensor.py @@ -1,7 +1,6 @@ """The test for the geo rss events sensor platform.""" import unittest from unittest import mock -from unittest.mock import MagicMock, patch from homeassistant.components import sensor import homeassistant.components.geo_rss_events.sensor as geo_rss_events @@ -14,6 +13,7 @@ from homeassistant.const import ( from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import MagicMock, patch from tests.common import ( assert_setup_component, fire_time_changed, diff --git a/tests/components/geofency/test_init.py b/tests/components/geofency/test_init.py index b988d613d6c..bdb5b49d11b 100644 --- a/tests/components/geofency/test_init.py +++ b/tests/components/geofency/test_init.py @@ -1,7 +1,4 @@ """The tests for the Geofency device tracker platform.""" -# pylint: disable=redefined-outer-name -from unittest.mock import Mock, patch - import pytest from homeassistant import data_entry_flow @@ -16,6 +13,9 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component from homeassistant.util import slugify +# pylint: disable=redefined-outer-name +from tests.async_mock import Mock, patch + HOME_LATITUDE = 37.239622 HOME_LONGITUDE = -115.815811 diff --git a/tests/components/geonetnz_quakes/__init__.py b/tests/components/geonetnz_quakes/__init__.py index 424c6372ea8..82cb62b3939 100644 --- a/tests/components/geonetnz_quakes/__init__.py +++ b/tests/components/geonetnz_quakes/__init__.py @@ -1,5 +1,5 @@ """Tests for the geonetnz_quakes component.""" -from unittest.mock import MagicMock +from tests.async_mock import MagicMock def _generate_mock_feed_entry( diff --git a/tests/components/geonetnz_volcano/__init__.py b/tests/components/geonetnz_volcano/__init__.py index 708b69e0031..023cab46ec8 100644 --- a/tests/components/geonetnz_volcano/__init__.py +++ b/tests/components/geonetnz_volcano/__init__.py @@ -1,5 +1,5 @@ """The tests for the GeoNet NZ Volcano Feed integration.""" -from unittest.mock import MagicMock +from tests.async_mock import MagicMock def _generate_mock_feed_entry( diff --git a/tests/components/google/conftest.py b/tests/components/google/conftest.py index 20cb13130ec..6ec75ad53f6 100644 --- a/tests/components/google/conftest.py +++ b/tests/components/google/conftest.py @@ -1,8 +1,8 @@ """Test configuration and mocks for the google integration.""" -from unittest.mock import patch - import pytest +from tests.async_mock import patch + TEST_CALENDAR = { "id": "qwertyuiopasdfghjklzxcvbnm@import.calendar.google.com", "etag": '"3584134138943410"', diff --git a/tests/components/google/test_calendar.py b/tests/components/google/test_calendar.py index ad7b6b12001..92f03396965 100644 --- a/tests/components/google/test_calendar.py +++ b/tests/components/google/test_calendar.py @@ -1,6 +1,5 @@ """The tests for the google calendar platform.""" import copy -from unittest.mock import Mock, patch import httplib2 import pytest @@ -23,6 +22,7 @@ from homeassistant.setup import async_setup_component from homeassistant.util import slugify import homeassistant.util.dt as dt_util +from tests.async_mock import Mock, patch from tests.common import async_mock_service GOOGLE_CONFIG = {CONF_CLIENT_ID: "client_id", CONF_CLIENT_SECRET: "client_secret"} diff --git a/tests/components/google/test_init.py b/tests/components/google/test_init.py index 59a9f9f5ab2..6f7ce74ce62 100644 --- a/tests/components/google/test_init.py +++ b/tests/components/google/test_init.py @@ -1,11 +1,11 @@ """The tests for the Google Calendar component.""" -from unittest.mock import patch - import pytest import homeassistant.components.google as google from homeassistant.setup import async_setup_component +from tests.async_mock import patch + @pytest.fixture(name="google_setup") def mock_google_setup(hass): diff --git a/tests/components/google_assistant/test_trait.py b/tests/components/google_assistant/test_trait.py index f133db26d89..f4e54176b19 100644 --- a/tests/components/google_assistant/test_trait.py +++ b/tests/components/google_assistant/test_trait.py @@ -1,6 +1,5 @@ """Tests for the Google Assistant traits.""" import logging -from unittest.mock import Mock import pytest @@ -45,7 +44,7 @@ from homeassistant.util import color from . import BASIC_CONFIG, MockConfig -from tests.async_mock import patch +from tests.async_mock import Mock, patch from tests.common import async_mock_service _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/google_translate/test_tts.py b/tests/components/google_translate/test_tts.py index 6703852528c..280258125df 100644 --- a/tests/components/google_translate/test_tts.py +++ b/tests/components/google_translate/test_tts.py @@ -2,7 +2,6 @@ import asyncio import os import shutil -from unittest.mock import patch from homeassistant.components.media_player.const import ( ATTR_MEDIA_CONTENT_ID, @@ -12,6 +11,7 @@ from homeassistant.components.media_player.const import ( import homeassistant.components.tts as tts from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant, mock_service from tests.components.tts.test_init import mutagen_mock # noqa: F401 diff --git a/tests/components/google_wifi/test_sensor.py b/tests/components/google_wifi/test_sensor.py index 22059706dc5..69db8de184b 100644 --- a/tests/components/google_wifi/test_sensor.py +++ b/tests/components/google_wifi/test_sensor.py @@ -1,7 +1,6 @@ """The tests for the Google Wifi platform.""" from datetime import datetime, timedelta import unittest -from unittest.mock import Mock, patch import requests_mock @@ -11,6 +10,7 @@ from homeassistant.const import STATE_UNKNOWN from homeassistant.setup import setup_component from homeassistant.util import dt as dt_util +from tests.async_mock import Mock, patch from tests.common import assert_setup_component, get_test_home_assistant NAME = "foo" diff --git a/tests/components/gpslogger/test_init.py b/tests/components/gpslogger/test_init.py index 9135f583d19..bfdc087193e 100644 --- a/tests/components/gpslogger/test_init.py +++ b/tests/components/gpslogger/test_init.py @@ -1,6 +1,4 @@ """The tests the for GPSLogger device tracker platform.""" -from unittest.mock import Mock, patch - import pytest from homeassistant import data_entry_flow @@ -16,6 +14,8 @@ from homeassistant.const import ( from homeassistant.helpers.dispatcher import DATA_DISPATCHER from homeassistant.setup import async_setup_component +from tests.async_mock import Mock, patch + HOME_LATITUDE = 37.239622 HOME_LONGITUDE = -115.815811 diff --git a/tests/components/graphite/test_init.py b/tests/components/graphite/test_init.py index 88be3723936..19b8c165f37 100644 --- a/tests/components/graphite/test_init.py +++ b/tests/components/graphite/test_init.py @@ -2,7 +2,6 @@ import socket import unittest from unittest import mock -from unittest.mock import patch import homeassistant.components.graphite as graphite from homeassistant.const import ( @@ -15,6 +14,7 @@ from homeassistant.const import ( import homeassistant.core as ha from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant diff --git a/tests/components/group/test_init.py b/tests/components/group/test_init.py index 467bd1ede95..c4d98ad37cc 100644 --- a/tests/components/group/test_init.py +++ b/tests/components/group/test_init.py @@ -2,7 +2,6 @@ # pylint: disable=protected-access from collections import OrderedDict import unittest -from unittest.mock import patch import homeassistant.components.group as group from homeassistant.const import ( @@ -17,6 +16,7 @@ from homeassistant.const import ( ) from homeassistant.setup import async_setup_component, setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant from tests.components.group import common diff --git a/tests/components/group/test_light.py b/tests/components/group/test_light.py index ed807ed57d9..70dab4472ed 100644 --- a/tests/components/group/test_light.py +++ b/tests/components/group/test_light.py @@ -1,6 +1,4 @@ """The tests for the Group Light platform.""" -from unittest.mock import MagicMock - from homeassistant.components.group import DOMAIN import homeassistant.components.group.light as group from homeassistant.components.light import ( @@ -31,6 +29,7 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component import tests.async_mock +from tests.async_mock import MagicMock async def test_default_state(hass): diff --git a/tests/components/group/test_notify.py b/tests/components/group/test_notify.py index f029ec9d2fa..0925b318c9e 100644 --- a/tests/components/group/test_notify.py +++ b/tests/components/group/test_notify.py @@ -1,13 +1,13 @@ """The tests for the notify.group platform.""" import asyncio import unittest -from unittest.mock import MagicMock, patch import homeassistant.components.demo.notify as demo import homeassistant.components.group.notify as group import homeassistant.components.notify as notify from homeassistant.setup import setup_component +from tests.async_mock import MagicMock, patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/group/test_reproduce_state.py b/tests/components/group/test_reproduce_state.py index 58bbc94876e..13422cd0826 100644 --- a/tests/components/group/test_reproduce_state.py +++ b/tests/components/group/test_reproduce_state.py @@ -1,11 +1,12 @@ """The tests for reproduction of state.""" from asyncio import Future -from unittest.mock import patch from homeassistant.components.group.reproduce_state import async_reproduce_states from homeassistant.core import Context, State +from tests.async_mock import patch + async def test_reproduce_group(hass): """Test reproduce_state with group.""" diff --git a/tests/components/hangouts/test_config_flow.py b/tests/components/hangouts/test_config_flow.py index 93f909d3bd4..9cdb5799951 100644 --- a/tests/components/hangouts/test_config_flow.py +++ b/tests/components/hangouts/test_config_flow.py @@ -1,11 +1,11 @@ """Tests for the Google Hangouts config flow.""" -from unittest.mock import patch - from homeassistant import data_entry_flow from homeassistant.components.hangouts import config_flow from homeassistant.const import CONF_EMAIL, CONF_PASSWORD +from tests.async_mock import patch + EMAIL = "test@test.com" PASSWORD = "1232456" diff --git a/tests/components/hassio/test_http.py b/tests/components/hassio/test_http.py index a5af24eb868..7386cf57d0c 100644 --- a/tests/components/hassio/test_http.py +++ b/tests/components/hassio/test_http.py @@ -1,9 +1,10 @@ """The tests for the hassio component.""" import asyncio -from unittest.mock import patch import pytest +from tests.async_mock import patch + async def test_forward_request(hassio_client, aioclient_mock): """Test fetching normal path.""" diff --git a/tests/components/hddtemp/test_sensor.py b/tests/components/hddtemp/test_sensor.py index cbaed220f11..4583079829a 100644 --- a/tests/components/hddtemp/test_sensor.py +++ b/tests/components/hddtemp/test_sensor.py @@ -1,11 +1,11 @@ """The tests for the hddtemp platform.""" import socket import unittest -from unittest.mock import patch from homeassistant.const import TEMP_CELSIUS from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant VALID_CONFIG_MINIMAL = {"sensor": {"platform": "hddtemp"}} diff --git a/tests/components/here_travel_time/test_sensor.py b/tests/components/here_travel_time/test_sensor.py index d399f5b67aa..fd2922e94fe 100644 --- a/tests/components/here_travel_time/test_sensor.py +++ b/tests/components/here_travel_time/test_sensor.py @@ -1,6 +1,5 @@ """The test for the here_travel_time sensor platform.""" import logging -from unittest.mock import patch import urllib import herepy @@ -43,6 +42,7 @@ from homeassistant.const import ATTR_ICON, EVENT_HOMEASSISTANT_START from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import async_fire_time_changed, load_fixture DOMAIN = "sensor" diff --git a/tests/components/history/test_init.py b/tests/components/history/test_init.py index b2687b2bd50..29e43c8428e 100644 --- a/tests/components/history/test_init.py +++ b/tests/components/history/test_init.py @@ -2,13 +2,13 @@ # pylint: disable=protected-access,invalid-name from datetime import timedelta import unittest -from unittest.mock import patch, sentinel from homeassistant.components import history, recorder import homeassistant.core as ha from homeassistant.setup import async_setup_component, setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch, sentinel from tests.common import ( get_test_home_assistant, init_recorder_component, diff --git a/tests/components/history_stats/test_sensor.py b/tests/components/history_stats/test_sensor.py index 588e0df81db..d9f489d20b4 100644 --- a/tests/components/history_stats/test_sensor.py +++ b/tests/components/history_stats/test_sensor.py @@ -2,7 +2,6 @@ # pylint: disable=protected-access from datetime import datetime, timedelta import unittest -from unittest.mock import patch import pytest import pytz @@ -14,6 +13,7 @@ from homeassistant.helpers.template import Template from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import get_test_home_assistant, init_recorder_component diff --git a/tests/components/homeassistant/test_scene.py b/tests/components/homeassistant/test_scene.py index 1371db87b3d..6234d425d8d 100644 --- a/tests/components/homeassistant/test_scene.py +++ b/tests/components/homeassistant/test_scene.py @@ -1,12 +1,11 @@ """Test Home Assistant scenes.""" -from unittest.mock import patch - import pytest import voluptuous as vol from homeassistant.components.homeassistant import scene as ha_scene from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import async_mock_service diff --git a/tests/components/homekit/common.py b/tests/components/homekit/common.py index 6453bbbc788..8f38332f112 100644 --- a/tests/components/homekit/common.py +++ b/tests/components/homekit/common.py @@ -1,5 +1,5 @@ """Collection of fixtures and functions for the HomeKit tests.""" -from unittest.mock import patch +from tests.async_mock import patch def patch_debounce(): diff --git a/tests/components/homekit/conftest.py b/tests/components/homekit/conftest.py index 7093bebf9ab..d23bda67cee 100644 --- a/tests/components/homekit/conftest.py +++ b/tests/components/homekit/conftest.py @@ -1,12 +1,12 @@ """HomeKit session fixtures.""" -from unittest.mock import patch - from pyhap.accessory_driver import AccessoryDriver import pytest from homeassistant.components.homekit.const import EVENT_HOMEKIT_CHANGED from homeassistant.core import callback as ha_callback +from tests.async_mock import patch + @pytest.fixture(scope="session") def hk_driver(): diff --git a/tests/components/homekit/test_accessories.py b/tests/components/homekit/test_accessories.py index e2fb79f56ce..55b7f764d76 100644 --- a/tests/components/homekit/test_accessories.py +++ b/tests/components/homekit/test_accessories.py @@ -3,7 +3,6 @@ This includes tests for all mock object types. """ from datetime import datetime, timedelta -from unittest.mock import Mock, patch import pytest @@ -43,6 +42,7 @@ from homeassistant.const import ( ) import homeassistant.util.dt as dt_util +from tests.async_mock import Mock, patch from tests.common import async_mock_service diff --git a/tests/components/homekit/test_get_accessories.py b/tests/components/homekit/test_get_accessories.py index 286fe51535e..634c098b8f0 100644 --- a/tests/components/homekit/test_get_accessories.py +++ b/tests/components/homekit/test_get_accessories.py @@ -1,6 +1,4 @@ """Package to test the get_accessory method.""" -from unittest.mock import Mock, patch - import pytest import homeassistant.components.climate as climate @@ -31,6 +29,8 @@ from homeassistant.const import ( ) from homeassistant.core import State +from tests.async_mock import Mock, patch + def test_not_supported(caplog): """Test if none is returned if entity isn't supported.""" diff --git a/tests/components/homekit/test_homekit.py b/tests/components/homekit/test_homekit.py index e5bee83a0eb..7bdfa0b14bd 100644 --- a/tests/components/homekit/test_homekit.py +++ b/tests/components/homekit/test_homekit.py @@ -1,7 +1,6 @@ """Tests for the HomeKit component.""" import os from typing import Dict -from unittest.mock import ANY, Mock, patch import pytest from zeroconf import InterfaceChoice @@ -55,7 +54,7 @@ from homeassistant.util import json as json_util from .util import PATH_HOMEKIT, async_init_entry, async_init_integration -from tests.async_mock import AsyncMock +from tests.async_mock import ANY, AsyncMock, Mock, patch from tests.common import MockConfigEntry, mock_device_registry, mock_registry from tests.components.homekit.common import patch_debounce diff --git a/tests/components/homekit/test_type_fans.py b/tests/components/homekit/test_type_fans.py index 4d2ace24eab..6d5b0f9841b 100644 --- a/tests/components/homekit/test_type_fans.py +++ b/tests/components/homekit/test_type_fans.py @@ -1,6 +1,5 @@ """Test different accessory types: Fans.""" from collections import namedtuple -from unittest.mock import Mock from pyhap.const import HAP_REPR_AID, HAP_REPR_CHARS, HAP_REPR_IID, HAP_REPR_VALUE import pytest @@ -33,6 +32,7 @@ from homeassistant.const import ( from homeassistant.core import CoreState from homeassistant.helpers import entity_registry +from tests.async_mock import Mock from tests.common import async_mock_service from tests.components.homekit.common import patch_debounce diff --git a/tests/components/homekit/test_type_thermostats.py b/tests/components/homekit/test_type_thermostats.py index 82abed32c0e..8a303ede876 100644 --- a/tests/components/homekit/test_type_thermostats.py +++ b/tests/components/homekit/test_type_thermostats.py @@ -1,6 +1,5 @@ """Test different accessory types: Thermostats.""" from collections import namedtuple -from unittest.mock import patch from pyhap.const import HAP_REPR_AID, HAP_REPR_CHARS, HAP_REPR_IID, HAP_REPR_VALUE import pytest @@ -56,6 +55,7 @@ from homeassistant.const import ( from homeassistant.core import CoreState from homeassistant.helpers import entity_registry +from tests.async_mock import patch from tests.common import async_mock_service from tests.components.homekit.common import patch_debounce diff --git a/tests/components/html5/test_notify.py b/tests/components/html5/test_notify.py index 4a62eb76c27..d3faa761435 100644 --- a/tests/components/html5/test_notify.py +++ b/tests/components/html5/test_notify.py @@ -1,6 +1,5 @@ """Test HTML5 notify platform.""" import json -from unittest.mock import MagicMock, mock_open, patch from aiohttp.hdrs import AUTHORIZATION @@ -9,6 +8,8 @@ from homeassistant.const import HTTP_INTERNAL_SERVER_ERROR from homeassistant.exceptions import HomeAssistantError from homeassistant.setup import async_setup_component +from tests.async_mock import MagicMock, mock_open, patch + CONFIG_FILE = "file.conf" VAPID_CONF = { diff --git a/tests/components/http/test_auth.py b/tests/components/http/test_auth.py index 408bfd325c1..9282bf4587b 100644 --- a/tests/components/http/test_auth.py +++ b/tests/components/http/test_auth.py @@ -1,7 +1,6 @@ """The tests for the Home Assistant HTTP component.""" from datetime import timedelta from ipaddress import ip_network -from unittest.mock import patch from aiohttp import BasicAuth, web from aiohttp.web_exceptions import HTTPUnauthorized @@ -15,6 +14,8 @@ from homeassistant.setup import async_setup_component from . import HTTP_HEADER_HA_AUTH, mock_real_ip +from tests.async_mock import patch + API_PASSWORD = "test-password" # Don't add 127.0.0.1/::1 as trusted, as it may interfere with other test cases diff --git a/tests/components/http/test_ban.py b/tests/components/http/test_ban.py index d13581e12a2..702912dd9d0 100644 --- a/tests/components/http/test_ban.py +++ b/tests/components/http/test_ban.py @@ -2,7 +2,6 @@ # pylint: disable=protected-access from ipaddress import ip_address import os -from unittest.mock import Mock, mock_open from aiohttp import web from aiohttp.web_exceptions import HTTPUnauthorized @@ -24,7 +23,7 @@ from homeassistant.setup import async_setup_component from . import mock_real_ip -from tests.async_mock import patch +from tests.async_mock import Mock, mock_open, patch SUPERVISOR_IP = "1.2.3.4" BANNED_IPS = ["200.201.202.203", "100.64.0.2"] diff --git a/tests/components/http/test_cors.py b/tests/components/http/test_cors.py index 04447191fd5..191cdb0ba49 100644 --- a/tests/components/http/test_cors.py +++ b/tests/components/http/test_cors.py @@ -1,6 +1,5 @@ """Test cors for the HTTP component.""" from pathlib import Path -from unittest.mock import patch from aiohttp import web from aiohttp.hdrs import ( @@ -19,6 +18,8 @@ from homeassistant.setup import async_setup_component from . import HTTP_HEADER_HA_AUTH +from tests.async_mock import patch + TRUSTED_ORIGIN = "https://home-assistant.io" diff --git a/tests/components/http/test_data_validator.py b/tests/components/http/test_data_validator.py index 71b4b95cd8e..b0a14a31bc5 100644 --- a/tests/components/http/test_data_validator.py +++ b/tests/components/http/test_data_validator.py @@ -1,12 +1,12 @@ """Test data validator decorator.""" -from unittest.mock import Mock - from aiohttp import web import voluptuous as vol from homeassistant.components.http import HomeAssistantView from homeassistant.components.http.data_validator import RequestDataValidator +from tests.async_mock import Mock + async def get_client(aiohttp_client, validator): """Generate a client that hits a view decorated with validator.""" diff --git a/tests/components/http/test_init.py b/tests/components/http/test_init.py index 58e6d8824dd..651783ec47e 100644 --- a/tests/components/http/test_init.py +++ b/tests/components/http/test_init.py @@ -2,12 +2,13 @@ from ipaddress import ip_network import logging import unittest -from unittest.mock import patch import homeassistant.components.http as http from homeassistant.setup import async_setup_component from homeassistant.util.ssl import server_context_intermediate, server_context_modern +from tests.async_mock import patch + class TestView(http.HomeAssistantView): """Test the HTTP views.""" diff --git a/tests/components/http/test_view.py b/tests/components/http/test_view.py index b298fff6674..a6e4bdc12c8 100644 --- a/tests/components/http/test_view.py +++ b/tests/components/http/test_view.py @@ -1,6 +1,4 @@ """Tests for Home Assistant View.""" -from unittest.mock import Mock - from aiohttp.web_exceptions import ( HTTPBadRequest, HTTPInternalServerError, @@ -15,7 +13,7 @@ from homeassistant.components.http.view import ( ) from homeassistant.exceptions import ServiceNotFound, Unauthorized -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, Mock @pytest.fixture diff --git a/tests/components/hue/conftest.py b/tests/components/hue/conftest.py index fa7c4ac473d..52ae43d65b4 100644 --- a/tests/components/hue/conftest.py +++ b/tests/components/hue/conftest.py @@ -1,6 +1,5 @@ """Test helpers for Hue.""" from collections import deque -from unittest.mock import Mock, patch from aiohue.groups import Groups from aiohue.lights import Lights @@ -11,6 +10,8 @@ from homeassistant import config_entries from homeassistant.components import hue from homeassistant.components.hue import sensor_base as hue_sensor_base +from tests.async_mock import Mock, patch + @pytest.fixture(autouse=True) def no_request_delay(): diff --git a/tests/components/hue/test_config_flow.py b/tests/components/hue/test_config_flow.py index b5ea2e4e0ea..4ba4ecb06a6 100644 --- a/tests/components/hue/test_config_flow.py +++ b/tests/components/hue/test_config_flow.py @@ -1,6 +1,5 @@ """Tests for Philips Hue config flow.""" import asyncio -from unittest.mock import Mock from aiohttp import client_exceptions import aiohue @@ -12,7 +11,7 @@ from homeassistant import config_entries from homeassistant.components import ssdp from homeassistant.components.hue import config_flow, const -from tests.async_mock import AsyncMock, patch +from tests.async_mock import AsyncMock, Mock, patch from tests.common import MockConfigEntry diff --git a/tests/components/hue/test_light.py b/tests/components/hue/test_light.py index 85ef0052029..630e74cb1af 100644 --- a/tests/components/hue/test_light.py +++ b/tests/components/hue/test_light.py @@ -1,7 +1,6 @@ """Philips Hue lights platform tests.""" import asyncio import logging -from unittest.mock import Mock import aiohue @@ -10,6 +9,8 @@ from homeassistant.components import hue from homeassistant.components.hue import light as hue_light from homeassistant.util import color +from tests.async_mock import Mock + _LOGGER = logging.getLogger(__name__) HUE_LIGHT_NS = "homeassistant.components.light.hue." diff --git a/tests/components/hue/test_sensor_base.py b/tests/components/hue/test_sensor_base.py index 576bc365d50..e50ac71c03a 100644 --- a/tests/components/hue/test_sensor_base.py +++ b/tests/components/hue/test_sensor_base.py @@ -1,7 +1,6 @@ """Philips Hue sensors platform tests.""" import asyncio import logging -from unittest.mock import Mock import aiohue @@ -9,6 +8,8 @@ from homeassistant.components.hue.hue_event import CONF_HUE_EVENT from .conftest import create_mock_bridge, setup_bridge_for_sensors as setup_bridge +from tests.async_mock import Mock + _LOGGER = logging.getLogger(__name__) PRESENCE_SENSOR_1_PRESENT = { diff --git a/tests/components/icloud/conftest.py b/tests/components/icloud/conftest.py index 2230cc2ea32..2ed9006cdb6 100644 --- a/tests/components/icloud/conftest.py +++ b/tests/components/icloud/conftest.py @@ -1,8 +1,8 @@ """Configure iCloud tests.""" -from unittest.mock import patch - import pytest +from tests.async_mock import patch + @pytest.fixture(name="icloud_bypass_setup", autouse=True) def icloud_bypass_setup_fixture(): diff --git a/tests/components/icloud/test_config_flow.py b/tests/components/icloud/test_config_flow.py index 4bce35d0a63..3123ead4eeb 100644 --- a/tests/components/icloud/test_config_flow.py +++ b/tests/components/icloud/test_config_flow.py @@ -1,6 +1,4 @@ """Tests for the iCloud config flow.""" -from unittest.mock import MagicMock, Mock, patch - from pyicloud.exceptions import PyiCloudFailedLoginException import pytest @@ -22,6 +20,7 @@ from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER from homeassistant.const import CONF_PASSWORD, CONF_USERNAME from homeassistant.helpers.typing import HomeAssistantType +from tests.async_mock import MagicMock, Mock, patch from tests.common import MockConfigEntry USERNAME = "username@me.com" diff --git a/tests/components/ifttt/test_init.py b/tests/components/ifttt/test_init.py index d10df2492d4..e5fd8841a2b 100644 --- a/tests/components/ifttt/test_init.py +++ b/tests/components/ifttt/test_init.py @@ -1,10 +1,10 @@ """Test the init file of IFTTT.""" -from unittest.mock import patch - from homeassistant import data_entry_flow from homeassistant.components import ifttt from homeassistant.core import callback +from tests.async_mock import patch + async def test_config_flow_registers_webhook(hass, aiohttp_client): """Test setting up IFTTT and sending webhook.""" diff --git a/tests/components/ign_sismologia/test_geo_location.py b/tests/components/ign_sismologia/test_geo_location.py index c2bd357ecc8..8b9852ea234 100644 --- a/tests/components/ign_sismologia/test_geo_location.py +++ b/tests/components/ign_sismologia/test_geo_location.py @@ -1,6 +1,5 @@ """The tests for the IGN Sismologia (Earthquakes) Feed platform.""" import datetime -from unittest.mock import MagicMock, call, patch from homeassistant.components import geo_location from homeassistant.components.geo_location import ATTR_SOURCE @@ -29,6 +28,7 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import MagicMock, call, patch from tests.common import assert_setup_component, async_fire_time_changed CONFIG = {geo_location.DOMAIN: [{"platform": "ign_sismologia", CONF_RADIUS: 200}]} diff --git a/tests/components/image_processing/test_init.py b/tests/components/image_processing/test_init.py index a2a2ec2d7a6..cc708db75db 100644 --- a/tests/components/image_processing/test_init.py +++ b/tests/components/image_processing/test_init.py @@ -1,6 +1,4 @@ """The tests for the image_processing component.""" -from unittest.mock import PropertyMock - import homeassistant.components.http as http import homeassistant.components.image_processing as ip from homeassistant.const import ATTR_ENTITY_PICTURE @@ -8,7 +6,7 @@ from homeassistant.core import callback from homeassistant.exceptions import HomeAssistantError from homeassistant.setup import setup_component -from tests.async_mock import patch +from tests.async_mock import PropertyMock, patch from tests.common import ( assert_setup_component, get_test_home_assistant, diff --git a/tests/components/input_boolean/test_init.py b/tests/components/input_boolean/test_init.py index c0bdad3eacd..1e3150e687a 100644 --- a/tests/components/input_boolean/test_init.py +++ b/tests/components/input_boolean/test_init.py @@ -1,7 +1,6 @@ """The tests for the input_boolean component.""" # pylint: disable=protected-access import logging -from unittest.mock import patch import pytest @@ -23,6 +22,7 @@ from homeassistant.core import Context, CoreState, State from homeassistant.helpers import entity_registry from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import mock_component, mock_restore_cache _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/input_datetime/test_init.py b/tests/components/input_datetime/test_init.py index afee32702c4..0eb4d748563 100644 --- a/tests/components/input_datetime/test_init.py +++ b/tests/components/input_datetime/test_init.py @@ -1,7 +1,6 @@ """Tests for the Input slider component.""" # pylint: disable=protected-access import datetime -from unittest.mock import patch import pytest import voluptuous as vol @@ -27,6 +26,7 @@ from homeassistant.exceptions import Unauthorized from homeassistant.helpers import entity_registry from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import mock_restore_cache INITIAL_DATE = "2020-01-10" diff --git a/tests/components/input_number/test_init.py b/tests/components/input_number/test_init.py index 28b9d27d23f..8971439de74 100644 --- a/tests/components/input_number/test_init.py +++ b/tests/components/input_number/test_init.py @@ -1,7 +1,4 @@ """The tests for the Input number component.""" -# pylint: disable=protected-access -from unittest.mock import patch - import pytest import voluptuous as vol @@ -24,6 +21,8 @@ from homeassistant.exceptions import Unauthorized from homeassistant.helpers import entity_registry from homeassistant.setup import async_setup_component +# pylint: disable=protected-access +from tests.async_mock import patch from tests.common import mock_restore_cache diff --git a/tests/components/input_select/test_init.py b/tests/components/input_select/test_init.py index 5c470ca5bfc..6f83de340f3 100644 --- a/tests/components/input_select/test_init.py +++ b/tests/components/input_select/test_init.py @@ -1,7 +1,4 @@ """The tests for the Input select component.""" -# pylint: disable=protected-access -from unittest.mock import patch - import pytest from homeassistant.components.input_select import ( @@ -28,6 +25,8 @@ from homeassistant.helpers import entity_registry from homeassistant.loader import bind_hass from homeassistant.setup import async_setup_component +# pylint: disable=protected-access +from tests.async_mock import patch from tests.common import mock_restore_cache diff --git a/tests/components/input_text/test_init.py b/tests/components/input_text/test_init.py index cc226dc1d87..ed89ccd7087 100644 --- a/tests/components/input_text/test_init.py +++ b/tests/components/input_text/test_init.py @@ -1,7 +1,4 @@ """The tests for the Input text component.""" -# pylint: disable=protected-access -from unittest.mock import patch - import pytest from homeassistant.components.input_text import ( @@ -29,6 +26,8 @@ from homeassistant.helpers import entity_registry from homeassistant.loader import bind_hass from homeassistant.setup import async_setup_component +# pylint: disable=protected-access +from tests.async_mock import patch from tests.common import mock_restore_cache TEST_VAL_MIN = 2 diff --git a/tests/components/integration/test_sensor.py b/tests/components/integration/test_sensor.py index 3afa5c14c22..c36a718ffb4 100644 --- a/tests/components/integration/test_sensor.py +++ b/tests/components/integration/test_sensor.py @@ -1,11 +1,12 @@ """The tests for the integration sensor platform.""" from datetime import timedelta -from unittest.mock import patch from homeassistant.const import ENERGY_KILO_WATT_HOUR, POWER_WATT, TIME_SECONDS from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch + async def test_state(hass): """Test integration sensor state.""" diff --git a/tests/components/islamic_prayer_times/test_config_flow.py b/tests/components/islamic_prayer_times/test_config_flow.py index a56178e5225..204075ecb8c 100644 --- a/tests/components/islamic_prayer_times/test_config_flow.py +++ b/tests/components/islamic_prayer_times/test_config_flow.py @@ -1,12 +1,11 @@ """Tests for Islamic Prayer Times config flow.""" -from unittest.mock import patch - import pytest from homeassistant import data_entry_flow from homeassistant.components import islamic_prayer_times from homeassistant.components.islamic_prayer_times.const import CONF_CALC_METHOD, DOMAIN +from tests.async_mock import patch from tests.common import MockConfigEntry diff --git a/tests/components/islamic_prayer_times/test_init.py b/tests/components/islamic_prayer_times/test_init.py index e91e83b315e..9fb9333e045 100644 --- a/tests/components/islamic_prayer_times/test_init.py +++ b/tests/components/islamic_prayer_times/test_init.py @@ -1,7 +1,6 @@ """Tests for Islamic Prayer Times init.""" from datetime import timedelta -from unittest.mock import patch from prayer_times_calculator.exceptions import InvalidResponseError @@ -17,6 +16,7 @@ from . import ( PRAYER_TIMES_TIMESTAMPS, ) +from tests.async_mock import patch from tests.common import MockConfigEntry, async_fire_time_changed diff --git a/tests/components/islamic_prayer_times/test_sensor.py b/tests/components/islamic_prayer_times/test_sensor.py index 0579664ae7b..147d7e6ef1d 100644 --- a/tests/components/islamic_prayer_times/test_sensor.py +++ b/tests/components/islamic_prayer_times/test_sensor.py @@ -1,10 +1,9 @@ """The tests for the Islamic prayer times sensor platform.""" -from unittest.mock import patch - from homeassistant.components import islamic_prayer_times from . import NOW, PRAYER_TIMES, PRAYER_TIMES_TIMESTAMPS +from tests.async_mock import patch from tests.common import MockConfigEntry diff --git a/tests/components/jewish_calendar/__init__.py b/tests/components/jewish_calendar/__init__.py index 592086461d3..8e18579b197 100644 --- a/tests/components/jewish_calendar/__init__.py +++ b/tests/components/jewish_calendar/__init__.py @@ -2,11 +2,12 @@ from collections import namedtuple from contextlib import contextmanager from datetime import datetime -from unittest.mock import patch from homeassistant.components import jewish_calendar import homeassistant.util.dt as dt_util +from tests.async_mock import patch + _LatLng = namedtuple("_LatLng", ["lat", "lng"]) NYC_LATLNG = _LatLng(40.7128, -74.0060) diff --git a/tests/components/kira/test_init.py b/tests/components/kira/test_init.py index e5056235127..8656ac23264 100644 --- a/tests/components/kira/test_init.py +++ b/tests/components/kira/test_init.py @@ -4,11 +4,11 @@ import os import shutil import tempfile import unittest -from unittest.mock import MagicMock, patch import homeassistant.components.kira as kira from homeassistant.setup import setup_component +from tests.async_mock import MagicMock, patch from tests.common import get_test_home_assistant TEST_CONFIG = { diff --git a/tests/components/kira/test_remote.py b/tests/components/kira/test_remote.py index d7718ad33f0..b1ac7ea12fc 100644 --- a/tests/components/kira/test_remote.py +++ b/tests/components/kira/test_remote.py @@ -1,9 +1,9 @@ """The tests for Kira sensor platform.""" import unittest -from unittest.mock import MagicMock from homeassistant.components.kira import remote as kira +from tests.async_mock import MagicMock from tests.common import get_test_home_assistant SERVICE_SEND_COMMAND = "send_command" diff --git a/tests/components/kira/test_sensor.py b/tests/components/kira/test_sensor.py index 55e6d5453c7..2fae36dc670 100644 --- a/tests/components/kira/test_sensor.py +++ b/tests/components/kira/test_sensor.py @@ -1,9 +1,9 @@ """The tests for Kira sensor platform.""" import unittest -from unittest.mock import MagicMock from homeassistant.components.kira import sensor as kira +from tests.async_mock import MagicMock from tests.common import get_test_home_assistant TEST_CONFIG = {kira.DOMAIN: {"sensors": [{"host": "127.0.0.1", "port": 17324}]}} diff --git a/tests/components/lastfm/test_sensor.py b/tests/components/lastfm/test_sensor.py index c2ce8e947dd..7ae70a6f152 100644 --- a/tests/components/lastfm/test_sensor.py +++ b/tests/components/lastfm/test_sensor.py @@ -1,6 +1,4 @@ """Tests for the lastfm sensor.""" -from unittest.mock import patch - from pylast import Track import pytest @@ -8,6 +6,8 @@ from homeassistant.components import sensor from homeassistant.components.lastfm.sensor import STATE_NOT_SCROBBLING from homeassistant.setup import async_setup_component +from tests.async_mock import patch + class MockUser: """Mock user object for pylast.""" diff --git a/tests/components/light/test_device_condition.py b/tests/components/light/test_device_condition.py index 24645a32611..998ef7851c1 100644 --- a/tests/components/light/test_device_condition.py +++ b/tests/components/light/test_device_condition.py @@ -1,6 +1,5 @@ """The test for light device automation.""" from datetime import timedelta -from unittest.mock import patch import pytest @@ -11,6 +10,7 @@ from homeassistant.helpers import device_registry from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( MockConfigEntry, async_get_device_automation_capabilities, diff --git a/tests/components/light/test_init.py b/tests/components/light/test_init.py index e53949ef518..87452d62893 100644 --- a/tests/components/light/test_init.py +++ b/tests/components/light/test_init.py @@ -3,7 +3,6 @@ from io import StringIO import os import unittest -import unittest.mock as mock import pytest @@ -21,6 +20,7 @@ from homeassistant.const import ( from homeassistant.exceptions import Unauthorized from homeassistant.setup import async_setup_component, setup_component +import tests.async_mock as mock from tests.common import get_test_home_assistant, mock_service, mock_storage from tests.components.light import common diff --git a/tests/components/linky/conftest.py b/tests/components/linky/conftest.py index f77f01a4ae7..93e3ff78d2b 100644 --- a/tests/components/linky/conftest.py +++ b/tests/components/linky/conftest.py @@ -1,8 +1,8 @@ """Linky generic test utils.""" -from unittest.mock import patch - import pytest +from tests.async_mock import patch + @pytest.fixture(autouse=True) def patch_fakeuseragent(): diff --git a/tests/components/linky/test_config_flow.py b/tests/components/linky/test_config_flow.py index 8278a77d4d0..f39f0da7d99 100644 --- a/tests/components/linky/test_config_flow.py +++ b/tests/components/linky/test_config_flow.py @@ -1,6 +1,4 @@ """Tests for the Linky config flow.""" -from unittest.mock import Mock, patch - from pylinky.exceptions import ( PyLinkyAccessException, PyLinkyEnedisException, @@ -15,6 +13,7 @@ from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER from homeassistant.const import CONF_PASSWORD, CONF_TIMEOUT, CONF_USERNAME from homeassistant.helpers.typing import HomeAssistantType +from tests.async_mock import Mock, patch from tests.common import MockConfigEntry USERNAME = "username@hotmail.fr" diff --git a/tests/components/locative/test_init.py b/tests/components/locative/test_init.py index 63ef2e9f5f8..05b6a84cc0c 100644 --- a/tests/components/locative/test_init.py +++ b/tests/components/locative/test_init.py @@ -1,6 +1,4 @@ """The tests the for Locative device tracker platform.""" -from unittest.mock import Mock, patch - import pytest from homeassistant import data_entry_flow @@ -11,6 +9,8 @@ from homeassistant.const import HTTP_OK, HTTP_UNPROCESSABLE_ENTITY from homeassistant.helpers.dispatcher import DATA_DISPATCHER from homeassistant.setup import async_setup_component +from tests.async_mock import Mock, patch + # pylint: disable=redefined-outer-name diff --git a/tests/components/lovelace/test_dashboard.py b/tests/components/lovelace/test_dashboard.py index 8509ad37fcd..fb8c909eac5 100644 --- a/tests/components/lovelace/test_dashboard.py +++ b/tests/components/lovelace/test_dashboard.py @@ -1,12 +1,11 @@ """Test the Lovelace initialization.""" -from unittest.mock import patch - import pytest from homeassistant.components import frontend from homeassistant.components.lovelace import const, dashboard from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import ( assert_setup_component, async_capture_events, diff --git a/tests/components/luftdaten/test_init.py b/tests/components/luftdaten/test_init.py index ebe5f73669e..a8ea57cbb6b 100644 --- a/tests/components/luftdaten/test_init.py +++ b/tests/components/luftdaten/test_init.py @@ -1,11 +1,11 @@ """Test the Luftdaten component setup.""" -from unittest.mock import patch - from homeassistant.components import luftdaten from homeassistant.components.luftdaten.const import CONF_SENSOR_ID, DOMAIN from homeassistant.const import CONF_SCAN_INTERVAL, CONF_SHOW_ON_MAP from homeassistant.setup import async_setup_component +from tests.async_mock import patch + async def test_config_with_sensor_passed_to_config_entry(hass): """Test that configured options for a sensor are loaded.""" diff --git a/tests/components/mailgun/test_init.py b/tests/components/mailgun/test_init.py index 7ed67dcc0d2..8b98772dfcc 100644 --- a/tests/components/mailgun/test_init.py +++ b/tests/components/mailgun/test_init.py @@ -1,7 +1,6 @@ """Test the init file of Mailgun.""" import hashlib import hmac -from unittest.mock import Mock import pytest @@ -11,6 +10,8 @@ from homeassistant.const import CONF_API_KEY, CONF_DOMAIN from homeassistant.core import callback from homeassistant.setup import async_setup_component +from tests.async_mock import Mock + API_KEY = "abc123" diff --git a/tests/components/manual/test_alarm_control_panel.py b/tests/components/manual/test_alarm_control_panel.py index 22dceec312b..d3e26597d84 100644 --- a/tests/components/manual/test_alarm_control_panel.py +++ b/tests/components/manual/test_alarm_control_panel.py @@ -1,6 +1,5 @@ """The tests for the manual Alarm Control Panel component.""" from datetime import timedelta -from unittest.mock import MagicMock, patch from homeassistant.components import alarm_control_panel from homeassistant.components.demo import alarm_control_panel as demo @@ -18,6 +17,7 @@ from homeassistant.core import CoreState, State from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import MagicMock, patch from tests.common import async_fire_time_changed, mock_component, mock_restore_cache from tests.components.alarm_control_panel import common diff --git a/tests/components/manual_mqtt/test_alarm_control_panel.py b/tests/components/manual_mqtt/test_alarm_control_panel.py index 1ac6bca91c4..bff3818af56 100644 --- a/tests/components/manual_mqtt/test_alarm_control_panel.py +++ b/tests/components/manual_mqtt/test_alarm_control_panel.py @@ -1,7 +1,6 @@ """The tests for the manual_mqtt Alarm Control Panel component.""" from datetime import timedelta import unittest -from unittest.mock import Mock, patch from homeassistant.components import alarm_control_panel from homeassistant.const import ( @@ -15,6 +14,7 @@ from homeassistant.const import ( from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import Mock, patch from tests.common import ( assert_setup_component, fire_mqtt_message, diff --git a/tests/components/melissa/test_climate.py b/tests/components/melissa/test_climate.py index 00c565aca8c..874cc29ab7a 100644 --- a/tests/components/melissa/test_climate.py +++ b/tests/components/melissa/test_climate.py @@ -1,6 +1,5 @@ """Test for Melissa climate component.""" import json -from unittest.mock import Mock, patch from homeassistant.components.climate.const import ( HVAC_MODE_COOL, @@ -16,7 +15,7 @@ from homeassistant.components.melissa import DATA_MELISSA, climate as melissa from homeassistant.components.melissa.climate import MelissaClimate from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, Mock, patch from tests.common import load_fixture _SERIAL = "12345678" diff --git a/tests/components/meteo_france/conftest.py b/tests/components/meteo_france/conftest.py index 088587ab2c2..75c294775ed 100644 --- a/tests/components/meteo_france/conftest.py +++ b/tests/components/meteo_france/conftest.py @@ -1,8 +1,8 @@ """Meteo-France generic test utils.""" -from unittest.mock import patch - import pytest +from tests.async_mock import patch + @pytest.fixture(autouse=True) def patch_requests(): diff --git a/tests/components/meteo_france/test_config_flow.py b/tests/components/meteo_france/test_config_flow.py index f9ead2c1ef3..d4381073209 100644 --- a/tests/components/meteo_france/test_config_flow.py +++ b/tests/components/meteo_france/test_config_flow.py @@ -1,6 +1,4 @@ """Tests for the Meteo-France config flow.""" -from unittest.mock import patch - from meteofrance.client import meteofranceError import pytest @@ -8,6 +6,7 @@ from homeassistant import data_entry_flow from homeassistant.components.meteo_france.const import CONF_CITY, DOMAIN from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER +from tests.async_mock import patch from tests.common import MockConfigEntry CITY_1_POSTAL = "74220" diff --git a/tests/components/mfi/test_sensor.py b/tests/components/mfi/test_sensor.py index 05f175fc191..ff9c7fa7182 100644 --- a/tests/components/mfi/test_sensor.py +++ b/tests/components/mfi/test_sensor.py @@ -1,6 +1,5 @@ """The tests for the mFi sensor platform.""" import unittest -import unittest.mock as mock from mficlient.client import FailedToLogin import requests @@ -10,6 +9,7 @@ import homeassistant.components.sensor as sensor from homeassistant.const import TEMP_CELSIUS from homeassistant.setup import setup_component +import tests.async_mock as mock from tests.common import get_test_home_assistant diff --git a/tests/components/mfi/test_switch.py b/tests/components/mfi/test_switch.py index 42469b1b5ac..414e0b8b50b 100644 --- a/tests/components/mfi/test_switch.py +++ b/tests/components/mfi/test_switch.py @@ -1,11 +1,11 @@ """The tests for the mFi switch platform.""" import unittest -import unittest.mock as mock import homeassistant.components.mfi.switch as mfi import homeassistant.components.switch as switch from homeassistant.setup import setup_component +import tests.async_mock as mock from tests.common import get_test_home_assistant diff --git a/tests/components/mhz19/test_sensor.py b/tests/components/mhz19/test_sensor.py index 598144f5a25..05d462f02a0 100644 --- a/tests/components/mhz19/test_sensor.py +++ b/tests/components/mhz19/test_sensor.py @@ -1,6 +1,5 @@ """Tests for MH-Z19 sensor.""" import unittest -from unittest.mock import DEFAULT, Mock, patch import homeassistant.components.mhz19.sensor as mhz19 from homeassistant.components.sensor import DOMAIN @@ -11,6 +10,7 @@ from homeassistant.const import ( ) from homeassistant.setup import setup_component +from tests.async_mock import DEFAULT, Mock, patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/mikrotik/test_config_flow.py b/tests/components/mikrotik/test_config_flow.py index 37dbfad4d35..b47bb941af4 100644 --- a/tests/components/mikrotik/test_config_flow.py +++ b/tests/components/mikrotik/test_config_flow.py @@ -1,6 +1,5 @@ """Test Mikrotik setup process.""" from datetime import timedelta -from unittest.mock import patch import librouteros import pytest @@ -16,6 +15,7 @@ from homeassistant.const import ( CONF_VERIFY_SSL, ) +from tests.async_mock import patch from tests.common import MockConfigEntry DEMO_USER_INPUT = { diff --git a/tests/components/minio/test_minio.py b/tests/components/minio/test_minio.py index a1f3e107152..88f7418d2d4 100644 --- a/tests/components/minio/test_minio.py +++ b/tests/components/minio/test_minio.py @@ -1,7 +1,6 @@ """Tests for Minio Hass related code.""" import asyncio import json -from unittest.mock import MagicMock import pytest @@ -19,7 +18,7 @@ from homeassistant.components.minio import ( from homeassistant.core import callback from homeassistant.setup import async_setup_component -from tests.async_mock import call, patch +from tests.async_mock import MagicMock, call, patch from tests.components.minio.common import TEST_EVENT diff --git a/tests/components/mochad/test_light.py b/tests/components/mochad/test_light.py index 631c5b40734..2dd385f0253 100644 --- a/tests/components/mochad/test_light.py +++ b/tests/components/mochad/test_light.py @@ -1,6 +1,5 @@ """The tests for the mochad light platform.""" import unittest -import unittest.mock as mock import pytest @@ -8,6 +7,7 @@ from homeassistant.components import light from homeassistant.components.mochad import light as mochad from homeassistant.setup import setup_component +import tests.async_mock as mock from tests.common import get_test_home_assistant diff --git a/tests/components/mochad/test_switch.py b/tests/components/mochad/test_switch.py index aa6ce354a32..699edfe899c 100644 --- a/tests/components/mochad/test_switch.py +++ b/tests/components/mochad/test_switch.py @@ -1,6 +1,5 @@ """The tests for the mochad switch platform.""" import unittest -import unittest.mock as mock import pytest @@ -8,6 +7,7 @@ from homeassistant.components import switch from homeassistant.components.mochad import switch as mochad from homeassistant.setup import setup_component +import tests.async_mock as mock from tests.common import get_test_home_assistant diff --git a/tests/components/moon/test_sensor.py b/tests/components/moon/test_sensor.py index 1e19d0a4d83..89d5a8f798c 100644 --- a/tests/components/moon/test_sensor.py +++ b/tests/components/moon/test_sensor.py @@ -1,11 +1,11 @@ """The test for the moon sensor platform.""" from datetime import datetime import unittest -from unittest.mock import patch from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import get_test_home_assistant DAY1 = datetime(2017, 1, 1, 1, tzinfo=dt_util.UTC) diff --git a/tests/components/mqtt/test_binary_sensor.py b/tests/components/mqtt/test_binary_sensor.py index 11fb073f57a..7c07abb8d35 100644 --- a/tests/components/mqtt/test_binary_sensor.py +++ b/tests/components/mqtt/test_binary_sensor.py @@ -2,7 +2,6 @@ import copy from datetime import datetime, timedelta import json -from unittest.mock import patch from homeassistant.components import binary_sensor, mqtt from homeassistant.components.mqtt.discovery import async_start @@ -38,6 +37,7 @@ from .test_common import ( help_test_update_with_json_attrs_not_dict, ) +from tests.async_mock import patch from tests.common import ( MockConfigEntry, async_fire_mqtt_message, diff --git a/tests/components/mqtt/test_climate.py b/tests/components/mqtt/test_climate.py index 1d485c4be13..9ae13a426b9 100644 --- a/tests/components/mqtt/test_climate.py +++ b/tests/components/mqtt/test_climate.py @@ -1,7 +1,6 @@ """The tests for the mqtt climate component.""" import copy import json -import unittest import pytest import voluptuous as vol @@ -47,6 +46,7 @@ from .test_common import ( help_test_update_with_json_attrs_not_dict, ) +from tests.async_mock import call from tests.common import async_fire_mqtt_message, async_setup_component from tests.components.climate import common @@ -180,10 +180,7 @@ async def test_set_operation_with_power_command(hass, mqtt_mock): state = hass.states.get(ENTITY_CLIMATE) assert state.state == "cool" mqtt_mock.async_publish.assert_has_calls( - [ - unittest.mock.call("power-command", "ON", 0, False), - unittest.mock.call("mode-topic", "cool", 0, False), - ] + [call("power-command", "ON", 0, False), call("mode-topic", "cool", 0, False)] ) mqtt_mock.async_publish.reset_mock() @@ -191,10 +188,7 @@ async def test_set_operation_with_power_command(hass, mqtt_mock): state = hass.states.get(ENTITY_CLIMATE) assert state.state == "off" mqtt_mock.async_publish.assert_has_calls( - [ - unittest.mock.call("power-command", "OFF", 0, False), - unittest.mock.call("mode-topic", "off", 0, False), - ] + [call("power-command", "OFF", 0, False), call("mode-topic", "off", 0, False)] ) mqtt_mock.async_publish.reset_mock() @@ -322,10 +316,7 @@ async def test_set_target_temperature(hass, mqtt_mock): assert state.state == "cool" assert state.attributes.get("temperature") == 21 mqtt_mock.async_publish.assert_has_calls( - [ - unittest.mock.call("mode-topic", "cool", 0, False), - unittest.mock.call("temperature-topic", 21, 0, False), - ] + [call("mode-topic", "cool", 0, False), call("temperature-topic", 21, 0, False)] ) mqtt_mock.async_publish.reset_mock() @@ -465,10 +456,7 @@ async def test_set_away_mode(hass, mqtt_mock): await common.async_set_preset_mode(hass, "away", ENTITY_CLIMATE) mqtt_mock.async_publish.assert_has_calls( - [ - unittest.mock.call("hold-topic", "off", 0, False), - unittest.mock.call("away-mode-topic", "AN", 0, False), - ] + [call("hold-topic", "off", 0, False), call("away-mode-topic", "AN", 0, False)] ) state = hass.states.get(ENTITY_CLIMATE) assert state.attributes.get("preset_mode") == "away" diff --git a/tests/components/mqtt/test_common.py b/tests/components/mqtt/test_common.py index 949d77c244d..4bc3bc1a937 100644 --- a/tests/components/mqtt/test_common.py +++ b/tests/components/mqtt/test_common.py @@ -3,13 +3,13 @@ import copy from datetime import datetime import json from unittest import mock -from unittest.mock import ANY from homeassistant.components import mqtt from homeassistant.components.mqtt import debug_info from homeassistant.components.mqtt.discovery import async_start from homeassistant.const import ATTR_ASSUMED_STATE, STATE_UNAVAILABLE +from tests.async_mock import ANY from tests.common import ( MockConfigEntry, async_fire_mqtt_message, diff --git a/tests/components/mqtt/test_discovery.py b/tests/components/mqtt/test_discovery.py index 9d8ede4f516..8c75d77efb8 100644 --- a/tests/components/mqtt/test_discovery.py +++ b/tests/components/mqtt/test_discovery.py @@ -1,7 +1,6 @@ """The tests for the MQTT discovery.""" from pathlib import Path import re -from unittest.mock import patch import pytest @@ -13,7 +12,7 @@ from homeassistant.components.mqtt.abbreviations import ( from homeassistant.components.mqtt.discovery import ALREADY_DISCOVERED, async_start from homeassistant.const import STATE_OFF, STATE_ON -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, patch from tests.common import ( MockConfigEntry, async_fire_mqtt_message, diff --git a/tests/components/mqtt/test_sensor.py b/tests/components/mqtt/test_sensor.py index 34d3c33f8d7..1acc7656a8b 100644 --- a/tests/components/mqtt/test_sensor.py +++ b/tests/components/mqtt/test_sensor.py @@ -1,7 +1,6 @@ """The tests for the MQTT sensor platform.""" from datetime import datetime, timedelta import json -from unittest.mock import patch from homeassistant.components import mqtt from homeassistant.components.mqtt.discovery import async_start @@ -37,6 +36,7 @@ from .test_common import ( help_test_update_with_json_attrs_not_dict, ) +from tests.async_mock import patch from tests.common import ( MockConfigEntry, async_fire_mqtt_message, diff --git a/tests/components/mqtt_eventstream/test_init.py b/tests/components/mqtt_eventstream/test_init.py index eeeab823744..8050535eed4 100644 --- a/tests/components/mqtt_eventstream/test_init.py +++ b/tests/components/mqtt_eventstream/test_init.py @@ -1,6 +1,5 @@ """The tests for the MQTT eventstream component.""" import json -from unittest.mock import ANY, patch import pytest @@ -11,6 +10,7 @@ from homeassistant.helpers.json import JSONEncoder from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import ANY, patch from tests.common import ( fire_mqtt_message, fire_time_changed, diff --git a/tests/components/mqtt_room/test_sensor.py b/tests/components/mqtt_room/test_sensor.py index b3155e563f4..f11786951f6 100644 --- a/tests/components/mqtt_room/test_sensor.py +++ b/tests/components/mqtt_room/test_sensor.py @@ -1,7 +1,6 @@ """The tests for the MQTT room presence sensor.""" import datetime import json -from unittest.mock import patch from homeassistant.components.mqtt import CONF_QOS, CONF_STATE_TOPIC, DEFAULT_QOS import homeassistant.components.sensor as sensor @@ -9,6 +8,7 @@ from homeassistant.const import CONF_NAME, CONF_PLATFORM from homeassistant.setup import async_setup_component from homeassistant.util import dt +from tests.async_mock import patch from tests.common import async_fire_mqtt_message, async_mock_mqtt_component DEVICE_ID = "123TESTMAC" diff --git a/tests/components/mqtt_statestream/test_init.py b/tests/components/mqtt_statestream/test_init.py index 6be413294f1..aa9ef0d5de8 100644 --- a/tests/components/mqtt_statestream/test_init.py +++ b/tests/components/mqtt_statestream/test_init.py @@ -1,12 +1,11 @@ """The tests for the MQTT statestream component.""" -from unittest.mock import ANY, call, patch - import pytest import homeassistant.components.mqtt_statestream as statestream from homeassistant.core import State from homeassistant.setup import setup_component +from tests.async_mock import ANY, call, patch from tests.common import ( get_test_home_assistant, mock_mqtt_component, diff --git a/tests/components/neato/test_config_flow.py b/tests/components/neato/test_config_flow.py index 59db79c1052..be69e0853ad 100644 --- a/tests/components/neato/test_config_flow.py +++ b/tests/components/neato/test_config_flow.py @@ -1,6 +1,4 @@ """Tests for the Neato config flow.""" -from unittest.mock import patch - from pybotvac.exceptions import NeatoLoginException, NeatoRobotException import pytest @@ -9,6 +7,7 @@ from homeassistant.components.neato import config_flow from homeassistant.components.neato.const import CONF_VENDOR, NEATO_DOMAIN from homeassistant.const import CONF_PASSWORD, CONF_USERNAME +from tests.async_mock import patch from tests.common import MockConfigEntry USERNAME = "myUsername" diff --git a/tests/components/neato/test_init.py b/tests/components/neato/test_init.py index 8fa6ad05945..182ef98e529 100644 --- a/tests/components/neato/test_init.py +++ b/tests/components/neato/test_init.py @@ -1,6 +1,4 @@ """Tests for the Neato init file.""" -from unittest.mock import patch - from pybotvac.exceptions import NeatoLoginException import pytest @@ -8,6 +6,7 @@ from homeassistant.components.neato.const import CONF_VENDOR, NEATO_DOMAIN from homeassistant.const import CONF_PASSWORD, CONF_USERNAME from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import MockConfigEntry USERNAME = "myUsername" diff --git a/tests/components/nextbus/test_sensor.py b/tests/components/nextbus/test_sensor.py index bee9db445e2..dd709618ec0 100644 --- a/tests/components/nextbus/test_sensor.py +++ b/tests/components/nextbus/test_sensor.py @@ -1,12 +1,12 @@ """The tests for the nexbus sensor component.""" from copy import deepcopy -from unittest.mock import patch import pytest import homeassistant.components.nextbus.sensor as nextbus import homeassistant.components.sensor as sensor +from tests.async_mock import patch from tests.common import assert_setup_component, async_setup_component VALID_AGENCY = "sf-muni" diff --git a/tests/components/nsw_fuel_station/test_sensor.py b/tests/components/nsw_fuel_station/test_sensor.py index 11a3d469a59..2d348204dcc 100644 --- a/tests/components/nsw_fuel_station/test_sensor.py +++ b/tests/components/nsw_fuel_station/test_sensor.py @@ -1,10 +1,10 @@ """The tests for the NSW Fuel Station sensor platform.""" import unittest -from unittest.mock import patch from homeassistant.components import sensor from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant VALID_CONFIG = { diff --git a/tests/components/nsw_rural_fire_service_feed/test_geo_location.py b/tests/components/nsw_rural_fire_service_feed/test_geo_location.py index a5167104d48..584616967c4 100644 --- a/tests/components/nsw_rural_fire_service_feed/test_geo_location.py +++ b/tests/components/nsw_rural_fire_service_feed/test_geo_location.py @@ -1,6 +1,5 @@ """The tests for the NSW Rural Fire Service Feeds platform.""" import datetime -from unittest.mock import ANY from aio_geojson_nsw_rfs_incidents import NswRuralFireServiceIncidentsFeed @@ -36,7 +35,7 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util -from tests.async_mock import MagicMock, call, patch +from tests.async_mock import ANY, MagicMock, call, patch from tests.common import assert_setup_component, async_fire_time_changed CONFIG = { diff --git a/tests/components/nuheat/test_init.py b/tests/components/nuheat/test_init.py index 01128610462..4a7a8673230 100644 --- a/tests/components/nuheat/test_init.py +++ b/tests/components/nuheat/test_init.py @@ -1,11 +1,11 @@ """NuHeat component tests.""" -from unittest.mock import patch - from homeassistant.components.nuheat.const import DOMAIN from homeassistant.setup import async_setup_component from .mocks import _get_mock_nuheat +from tests.async_mock import patch + VALID_CONFIG = { "nuheat": {"username": "warm", "password": "feet", "devices": "thermostat123"} } diff --git a/tests/components/nws/conftest.py b/tests/components/nws/conftest.py index ac8428ddf48..74f84eb200c 100644 --- a/tests/components/nws/conftest.py +++ b/tests/components/nws/conftest.py @@ -1,9 +1,7 @@ """Fixtures for National Weather Service tests.""" -from unittest.mock import patch - import pytest -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, patch from tests.components.nws.const import DEFAULT_FORECAST, DEFAULT_OBSERVATION diff --git a/tests/components/onboarding/test_views.py b/tests/components/onboarding/test_views.py index 91ed8d7ae5c..7deda0e7edc 100644 --- a/tests/components/onboarding/test_views.py +++ b/tests/components/onboarding/test_views.py @@ -1,6 +1,5 @@ """Test the onboarding views.""" import asyncio -from unittest.mock import patch import pytest @@ -11,6 +10,7 @@ from homeassistant.setup import async_setup_component from . import mock_storage +from tests.async_mock import patch from tests.common import CLIENT_ID, register_auth_provider from tests.components.met.conftest import mock_weather # noqa: F401 diff --git a/tests/components/openerz/test_sensor.py b/tests/components/openerz/test_sensor.py index 24a0f0610af..e616ea4fe4e 100644 --- a/tests/components/openerz/test_sensor.py +++ b/tests/components/openerz/test_sensor.py @@ -1,9 +1,9 @@ """Tests for OpenERZ component.""" -from unittest.mock import MagicMock, patch - from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN from homeassistant.setup import async_setup_component +from tests.async_mock import MagicMock, patch + MOCK_CONFIG = { "sensor": { "platform": "openerz", diff --git a/tests/components/owntracks/test_helper.py b/tests/components/owntracks/test_helper.py index 2c06ac0c4e7..6d5139caa14 100644 --- a/tests/components/owntracks/test_helper.py +++ b/tests/components/owntracks/test_helper.py @@ -1,10 +1,10 @@ """Test the owntracks_http platform.""" -from unittest.mock import patch - import pytest from homeassistant.components.owntracks import helper +from tests.async_mock import patch + @pytest.fixture(name="nacl_imported") def mock_nacl_imported(): diff --git a/tests/components/panasonic_viera/test_config_flow.py b/tests/components/panasonic_viera/test_config_flow.py index cc7c3f58e82..0e7731dbdc0 100644 --- a/tests/components/panasonic_viera/test_config_flow.py +++ b/tests/components/panasonic_viera/test_config_flow.py @@ -1,6 +1,4 @@ """Test the Panasonic Viera config flow.""" -from unittest.mock import Mock - from panasonic_viera import TV_TYPE_ENCRYPTED, TV_TYPE_NONENCRYPTED, SOAPError import pytest @@ -19,7 +17,7 @@ from homeassistant.components.panasonic_viera.const import ( ) from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PIN, CONF_PORT -from tests.async_mock import patch +from tests.async_mock import Mock, patch from tests.common import MockConfigEntry diff --git a/tests/components/panasonic_viera/test_init.py b/tests/components/panasonic_viera/test_init.py index 3e02ac3703a..263f2def9af 100644 --- a/tests/components/panasonic_viera/test_init.py +++ b/tests/components/panasonic_viera/test_init.py @@ -1,6 +1,4 @@ """Test the Panasonic Viera setup process.""" -from unittest.mock import Mock - from asynctest import patch from homeassistant.components.panasonic_viera.const import ( @@ -15,6 +13,7 @@ from homeassistant.config_entries import ENTRY_STATE_NOT_LOADED from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT from homeassistant.setup import async_setup_component +from tests.async_mock import Mock from tests.common import MockConfigEntry MOCK_CONFIG_DATA = { diff --git a/tests/components/panel_custom/test_init.py b/tests/components/panel_custom/test_init.py index 5f7161089f6..c2abd673065 100644 --- a/tests/components/panel_custom/test_init.py +++ b/tests/components/panel_custom/test_init.py @@ -1,9 +1,9 @@ """The tests for the panel_custom component.""" -from unittest.mock import Mock, patch - from homeassistant import setup from homeassistant.components import frontend +from tests.async_mock import Mock, patch + async def test_webcomponent_custom_path_not_found(hass): """Test if a web component is found in config panels dir.""" diff --git a/tests/components/pi_hole/test_init.py b/tests/components/pi_hole/test_init.py index 236e8eadde8..3ff16001d86 100644 --- a/tests/components/pi_hole/test_init.py +++ b/tests/components/pi_hole/test_init.py @@ -1,10 +1,8 @@ """Test pi_hole component.""" -from unittest.mock import patch - from homeassistant.components import pi_hole -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, patch from tests.common import async_setup_component ZERO_DATA = { diff --git a/tests/components/pilight/test_init.py b/tests/components/pilight/test_init.py index d9b4f4859bb..53b1ec3a94d 100644 --- a/tests/components/pilight/test_init.py +++ b/tests/components/pilight/test_init.py @@ -3,7 +3,6 @@ from datetime import timedelta import logging import socket import unittest -from unittest.mock import patch import pytest @@ -12,6 +11,7 @@ from homeassistant.components import pilight from homeassistant.setup import setup_component from homeassistant.util import dt as dt_util +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant _LOGGER = logging.getLogger(__name__) @@ -109,7 +109,7 @@ class TestPilight(unittest.TestCase): @patch("pilight.pilight.Client", PilightDaemonSim) @patch("homeassistant.core._LOGGER.error") - @patch("tests.components.test_pilight._LOGGER.error") + @patch("homeassistant.components.pilight._LOGGER.error") def test_send_code_no_protocol(self, mock_pilight_error, mock_error): """Try to send data without protocol information, should give error.""" with assert_setup_component(4): @@ -127,7 +127,7 @@ class TestPilight(unittest.TestCase): assert "required key not provided @ data['protocol']" in str(error_log_call) @patch("pilight.pilight.Client", PilightDaemonSim) - @patch("tests.components.test_pilight._LOGGER.error") + @patch("homeassistant.components.pilight._LOGGER.error") def test_send_code(self, mock_pilight_error): """Try to send proper data.""" with assert_setup_component(4): @@ -167,7 +167,7 @@ class TestPilight(unittest.TestCase): assert "Pilight send failed" in str(error_log_call) @patch("pilight.pilight.Client", PilightDaemonSim) - @patch("tests.components.test_pilight._LOGGER.error") + @patch("homeassistant.components.pilight._LOGGER.error") def test_send_code_delay(self, mock_pilight_error): """Try to send proper data with delay afterwards.""" with assert_setup_component(4): @@ -207,7 +207,7 @@ class TestPilight(unittest.TestCase): assert str(service_data2) in str(error_log_call) @patch("pilight.pilight.Client", PilightDaemonSim) - @patch("tests.components.test_pilight._LOGGER.error") + @patch("homeassistant.components.pilight._LOGGER.error") def test_start_stop(self, mock_pilight_error): """Check correct startup and stop of pilight daemon.""" with assert_setup_component(4): diff --git a/tests/components/ptvsd/test_ptvsd.py b/tests/components/ptvsd/test_ptvsd.py index 9df686cfcbd..93e1bb540db 100644 --- a/tests/components/ptvsd/test_ptvsd.py +++ b/tests/components/ptvsd/test_ptvsd.py @@ -1,14 +1,12 @@ """Tests for PTVSD Debugger.""" -from unittest.mock import patch - from pytest import mark from homeassistant.bootstrap import _async_set_up_integrations import homeassistant.components.ptvsd as ptvsd_component from homeassistant.setup import async_setup_component -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, patch @mark.skip("causes code cover to fail") diff --git a/tests/components/pushbullet/test_notify.py b/tests/components/pushbullet/test_notify.py index 4c731c1f704..930d9261f9c 100644 --- a/tests/components/pushbullet/test_notify.py +++ b/tests/components/pushbullet/test_notify.py @@ -1,7 +1,6 @@ """The tests for the pushbullet notification platform.""" import json import unittest -from unittest.mock import patch from pushbullet import PushBullet import requests_mock @@ -9,6 +8,7 @@ import requests_mock import homeassistant.components.notify as notify from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant, load_fixture diff --git a/tests/components/pvpc_hourly_pricing/test_config_flow.py b/tests/components/pvpc_hourly_pricing/test_config_flow.py index fbbe87fee5f..d76f74f64a1 100644 --- a/tests/components/pvpc_hourly_pricing/test_config_flow.py +++ b/tests/components/pvpc_hourly_pricing/test_config_flow.py @@ -1,6 +1,5 @@ """Tests for the pvpc_hourly_pricing config_flow.""" from datetime import datetime -from unittest.mock import patch from pytz import timezone @@ -11,6 +10,7 @@ from homeassistant.helpers import entity_registry from .conftest import check_valid_state +from tests.async_mock import patch from tests.common import date_util from tests.test_util.aiohttp import AiohttpClientMocker diff --git a/tests/components/pvpc_hourly_pricing/test_sensor.py b/tests/components/pvpc_hourly_pricing/test_sensor.py index fdab7fd1008..7ef50113de5 100644 --- a/tests/components/pvpc_hourly_pricing/test_sensor.py +++ b/tests/components/pvpc_hourly_pricing/test_sensor.py @@ -1,7 +1,6 @@ """Tests for the pvpc_hourly_pricing sensor component.""" from datetime import datetime, timedelta import logging -from unittest.mock import patch from pytz import timezone @@ -11,6 +10,7 @@ from homeassistant.core import ATTR_NOW, EVENT_TIME_CHANGED from .conftest import check_valid_state +from tests.async_mock import patch from tests.common import async_setup_component, date_util from tests.test_util.aiohttp import AiohttpClientMocker diff --git a/tests/components/python_script/test_init.py b/tests/components/python_script/test_init.py index d122fef0bd2..90d2ac67faf 100644 --- a/tests/components/python_script/test_init.py +++ b/tests/components/python_script/test_init.py @@ -1,11 +1,11 @@ """Test the python_script component.""" import logging -from unittest.mock import mock_open, patch from homeassistant.components.python_script import DOMAIN, FOLDER, execute from homeassistant.helpers.service import async_get_all_descriptions from homeassistant.setup import async_setup_component +from tests.async_mock import mock_open, patch from tests.common import patch_yaml_files diff --git a/tests/components/qld_bushfire/test_geo_location.py b/tests/components/qld_bushfire/test_geo_location.py index afcd2f11802..15518afbc2d 100644 --- a/tests/components/qld_bushfire/test_geo_location.py +++ b/tests/components/qld_bushfire/test_geo_location.py @@ -1,6 +1,5 @@ """The tests for the Queensland Bushfire Alert Feed platform.""" import datetime -from unittest.mock import MagicMock, call, patch from homeassistant.components import geo_location from homeassistant.components.geo_location import ATTR_SOURCE @@ -28,6 +27,7 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import MagicMock, call, patch from tests.common import assert_setup_component, async_fire_time_changed CONFIG = {geo_location.DOMAIN: [{"platform": "qld_bushfire", CONF_RADIUS: 200}]} diff --git a/tests/components/radarr/test_sensor.py b/tests/components/radarr/test_sensor.py index c18476a92a9..0e76e99e721 100644 --- a/tests/components/radarr/test_sensor.py +++ b/tests/components/radarr/test_sensor.py @@ -6,6 +6,7 @@ import pytest import homeassistant.components.radarr.sensor as radarr from homeassistant.const import DATA_GIGABYTES +from tests.async_mock import patch from tests.common import get_test_home_assistant @@ -212,7 +213,7 @@ class TestRadarrSetup(unittest.TestCase): """Stop everything that was started.""" self.hass.stop() - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_diskspace_no_paths(self, req_mock): """Test getting all disk space.""" config = { @@ -232,7 +233,7 @@ class TestRadarrSetup(unittest.TestCase): assert "Radarr Disk Space" == device.name assert "263.10/465.42GB (56.53%)" == device.device_state_attributes["/data"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_diskspace_paths(self, req_mock): """Test getting diskspace for included paths.""" config = { @@ -252,7 +253,7 @@ class TestRadarrSetup(unittest.TestCase): assert "Radarr Disk Space" == device.name assert "263.10/465.42GB (56.53%)" == device.device_state_attributes["/data"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_commands(self, req_mock): """Test getting running commands.""" config = { @@ -272,7 +273,7 @@ class TestRadarrSetup(unittest.TestCase): assert "Radarr Commands" == device.name assert "pending" == device.device_state_attributes["RescanMovie"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_movies(self, req_mock): """Test getting the number of movies.""" config = { @@ -292,7 +293,7 @@ class TestRadarrSetup(unittest.TestCase): assert "Radarr Movies" == device.name assert "false" == device.device_state_attributes["Assassin's Creed (2016)"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_upcoming_multiple_days(self, req_mock): """Test the upcoming movies for multiple days.""" config = { @@ -316,7 +317,7 @@ class TestRadarrSetup(unittest.TestCase): ) @pytest.mark.skip - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_upcoming_today(self, req_mock): """Test filtering for a single day. @@ -342,7 +343,7 @@ class TestRadarrSetup(unittest.TestCase): == device.device_state_attributes["Resident Evil (2017)"] ) - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_system_status(self, req_mock): """Test the getting of the system status.""" config = { @@ -362,7 +363,7 @@ class TestRadarrSetup(unittest.TestCase): assert "4.8.13.1" == device.device_state_attributes["osVersion"] @pytest.mark.skip - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_ssl(self, req_mock): """Test SSL being enabled.""" config = { @@ -387,7 +388,7 @@ class TestRadarrSetup(unittest.TestCase): == device.device_state_attributes["Resident Evil (2017)"] ) - @unittest.mock.patch("requests.get", side_effect=mocked_exception) + @patch("requests.get", side_effect=mocked_exception) def test_exception_handling(self, req_mock): """Test exception being handled.""" config = { diff --git a/tests/components/random/test_binary_sensor.py b/tests/components/random/test_binary_sensor.py index a11b571dd83..975da102ca6 100644 --- a/tests/components/random/test_binary_sensor.py +++ b/tests/components/random/test_binary_sensor.py @@ -1,9 +1,9 @@ """The test for the Random binary sensor platform.""" import unittest -from unittest.mock import patch from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant diff --git a/tests/components/recorder/test_init.py b/tests/components/recorder/test_init.py index 34e0231d75a..1931a367ee8 100644 --- a/tests/components/recorder/test_init.py +++ b/tests/components/recorder/test_init.py @@ -2,7 +2,6 @@ # pylint: disable=protected-access from datetime import datetime, timedelta import unittest -from unittest.mock import patch import pytest @@ -17,6 +16,7 @@ from homeassistant.util import dt as dt_util from .common import wait_recording_done +from tests.async_mock import patch from tests.common import get_test_home_assistant, init_recorder_component diff --git a/tests/components/recorder/test_migrate.py b/tests/components/recorder/test_migrate.py index d10dad43d75..d3cf69fc994 100644 --- a/tests/components/recorder/test_migrate.py +++ b/tests/components/recorder/test_migrate.py @@ -1,7 +1,4 @@ """The tests for the Recorder component.""" -# pylint: disable=protected-access -from unittest.mock import call, patch - import pytest from sqlalchemy import create_engine from sqlalchemy.pool import StaticPool @@ -9,6 +6,8 @@ from sqlalchemy.pool import StaticPool from homeassistant.bootstrap import async_setup_component from homeassistant.components.recorder import const, migration, models +# pylint: disable=protected-access +from tests.async_mock import call, patch from tests.components.recorder import models_original diff --git a/tests/components/recorder/test_purge.py b/tests/components/recorder/test_purge.py index e0993b8cffc..4ec08c432b0 100644 --- a/tests/components/recorder/test_purge.py +++ b/tests/components/recorder/test_purge.py @@ -2,7 +2,6 @@ from datetime import datetime, timedelta import json import unittest -from unittest.mock import patch from homeassistant.components import recorder from homeassistant.components.recorder.const import DATA_INSTANCE @@ -10,6 +9,7 @@ from homeassistant.components.recorder.models import Events, States from homeassistant.components.recorder.purge import purge_old_data from homeassistant.components.recorder.util import session_scope +from tests.async_mock import patch from tests.common import get_test_home_assistant, init_recorder_component diff --git a/tests/components/recorder/test_util.py b/tests/components/recorder/test_util.py index eca146f3efa..8de5acd78db 100644 --- a/tests/components/recorder/test_util.py +++ b/tests/components/recorder/test_util.py @@ -1,11 +1,10 @@ """Test util methods.""" -from unittest.mock import MagicMock, patch - import pytest from homeassistant.components.recorder import util from homeassistant.components.recorder.const import DATA_INSTANCE +from tests.async_mock import MagicMock, patch from tests.common import get_test_home_assistant, init_recorder_component diff --git a/tests/components/reddit/test_sensor.py b/tests/components/reddit/test_sensor.py index 51de8229347..c2620aa906d 100644 --- a/tests/components/reddit/test_sensor.py +++ b/tests/components/reddit/test_sensor.py @@ -1,7 +1,6 @@ """The tests for the Reddit platform.""" import copy import unittest -from unittest.mock import patch from homeassistant.components.reddit.sensor import ( ATTR_BODY, @@ -19,6 +18,7 @@ from homeassistant.components.reddit.sensor import ( from homeassistant.const import CONF_MAXIMUM, CONF_PASSWORD, CONF_USERNAME from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant VALID_CONFIG = { diff --git a/tests/components/remember_the_milk/test_init.py b/tests/components/remember_the_milk/test_init.py index ba1c24cf6f8..2bba18f0052 100644 --- a/tests/components/remember_the_milk/test_init.py +++ b/tests/components/remember_the_milk/test_init.py @@ -3,10 +3,10 @@ import json import logging import unittest -from unittest.mock import Mock, mock_open, patch import homeassistant.components.remember_the_milk as rtm +from tests.async_mock import Mock, mock_open, patch from tests.common import get_test_home_assistant _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/rest/test_binary_sensor.py b/tests/components/rest/test_binary_sensor.py index a4850793ca7..65ae36c3843 100644 --- a/tests/components/rest/test_binary_sensor.py +++ b/tests/components/rest/test_binary_sensor.py @@ -1,6 +1,5 @@ """The tests for the REST binary sensor platform.""" import unittest -from unittest.mock import Mock, patch import pytest from pytest import raises @@ -15,6 +14,7 @@ from homeassistant.exceptions import PlatformNotReady from homeassistant.helpers import template from homeassistant.setup import setup_component +from tests.async_mock import Mock, patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/rest/test_sensor.py b/tests/components/rest/test_sensor.py index cd2a911292c..c3ed8cea1b9 100644 --- a/tests/components/rest/test_sensor.py +++ b/tests/components/rest/test_sensor.py @@ -1,6 +1,5 @@ """The tests for the REST sensor platform.""" import unittest -from unittest.mock import Mock, patch import pytest from pytest import raises @@ -16,6 +15,7 @@ from homeassistant.exceptions import PlatformNotReady from homeassistant.helpers.config_validation import template from homeassistant.setup import setup_component +from tests.async_mock import Mock, patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/rflink/test_binary_sensor.py b/tests/components/rflink/test_binary_sensor.py index 788e6d4981f..6a5a0b7f0e2 100644 --- a/tests/components/rflink/test_binary_sensor.py +++ b/tests/components/rflink/test_binary_sensor.py @@ -5,7 +5,6 @@ Test setup of rflink sensor component/platform. Verify manual and automatic sensor creation. """ from datetime import timedelta -from unittest.mock import patch from homeassistant.components.rflink import CONF_RECONNECT_INTERVAL from homeassistant.const import ( @@ -17,6 +16,7 @@ from homeassistant.const import ( import homeassistant.core as ha import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import async_fire_time_changed from tests.components.rflink.test_init import mock_rflink diff --git a/tests/components/rflink/test_init.py b/tests/components/rflink/test_init.py index 5946adc90a6..fdc60ca7262 100644 --- a/tests/components/rflink/test_init.py +++ b/tests/components/rflink/test_init.py @@ -1,7 +1,5 @@ """Common functions for RFLink component tests and generic platform tests.""" -from unittest.mock import Mock - import pytest from voluptuous.error import MultipleInvalid @@ -17,6 +15,8 @@ from homeassistant.components.rflink import ( ) from homeassistant.const import ATTR_ENTITY_ID, SERVICE_STOP_COVER, SERVICE_TURN_OFF +from tests.async_mock import Mock + async def mock_rflink( hass, config, domain, monkeypatch, failures=None, failcommand=False diff --git a/tests/components/ring/common.py b/tests/components/ring/common.py index 93a6e4f91e0..39b5c339677 100644 --- a/tests/components/ring/common.py +++ b/tests/components/ring/common.py @@ -1,9 +1,8 @@ """Common methods used across the tests for ring devices.""" -from unittest.mock import patch - from homeassistant.components.ring import DOMAIN from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import MockConfigEntry diff --git a/tests/components/ring/test_binary_sensor.py b/tests/components/ring/test_binary_sensor.py index 0b73c739503..8edaf2c229b 100644 --- a/tests/components/ring/test_binary_sensor.py +++ b/tests/components/ring/test_binary_sensor.py @@ -1,9 +1,10 @@ """The tests for the Ring binary sensor platform.""" from time import time -from unittest.mock import patch from .common import setup_platform +from tests.async_mock import patch + async def test_binary_sensor(hass, requests_mock): """Test the Ring binary sensors.""" diff --git a/tests/components/script/test_init.py b/tests/components/script/test_init.py index e4a4d4ca239..8dbe43a25ff 100644 --- a/tests/components/script/test_init.py +++ b/tests/components/script/test_init.py @@ -1,7 +1,6 @@ """The tests for the Script component.""" # pylint: disable=protected-access import unittest -from unittest.mock import Mock, patch import pytest @@ -22,6 +21,7 @@ from homeassistant.helpers.service import async_get_all_descriptions from homeassistant.loader import bind_hass from homeassistant.setup import async_setup_component, setup_component +from tests.async_mock import Mock, patch from tests.common import get_test_home_assistant ENTITY_ID = "script.test" diff --git a/tests/components/signal_messenger/test_notify.py b/tests/components/signal_messenger/test_notify.py index dbfd19795e8..a44be249f22 100644 --- a/tests/components/signal_messenger/test_notify.py +++ b/tests/components/signal_messenger/test_notify.py @@ -3,7 +3,6 @@ import os import tempfile import unittest -from unittest.mock import patch from pysignalclirestapi import SignalCliRestApi import requests_mock @@ -11,6 +10,8 @@ import requests_mock import homeassistant.components.signal_messenger.notify as signalmessenger from homeassistant.setup import async_setup_component +from tests.async_mock import patch + BASE_COMPONENT = "notify" diff --git a/tests/components/simplisafe/test_config_flow.py b/tests/components/simplisafe/test_config_flow.py index 5dc0fd5698b..2448b20b084 100644 --- a/tests/components/simplisafe/test_config_flow.py +++ b/tests/components/simplisafe/test_config_flow.py @@ -1,6 +1,5 @@ """Define tests for the SimpliSafe config flow.""" import json -from unittest.mock import MagicMock, PropertyMock, mock_open from simplipy.errors import SimplipyError @@ -9,7 +8,7 @@ from homeassistant.components.simplisafe import DOMAIN from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER from homeassistant.const import CONF_CODE, CONF_PASSWORD, CONF_TOKEN, CONF_USERNAME -from tests.async_mock import patch +from tests.async_mock import MagicMock, PropertyMock, mock_open, patch from tests.common import MockConfigEntry diff --git a/tests/components/sleepiq/test_binary_sensor.py b/tests/components/sleepiq/test_binary_sensor.py index b8c3a2cd2e8..fbafe8aad7d 100644 --- a/tests/components/sleepiq/test_binary_sensor.py +++ b/tests/components/sleepiq/test_binary_sensor.py @@ -1,12 +1,12 @@ """The tests for SleepIQ binary sensor platform.""" import unittest -from unittest.mock import MagicMock import requests_mock from homeassistant.components.sleepiq import binary_sensor as sleepiq from homeassistant.setup import setup_component +from tests.async_mock import MagicMock from tests.common import get_test_home_assistant from tests.components.sleepiq.test_init import mock_responses diff --git a/tests/components/sleepiq/test_init.py b/tests/components/sleepiq/test_init.py index 6626be41a6b..9c1c0972fac 100644 --- a/tests/components/sleepiq/test_init.py +++ b/tests/components/sleepiq/test_init.py @@ -1,12 +1,12 @@ """The tests for the SleepIQ component.""" import unittest -from unittest.mock import MagicMock, patch import requests_mock from homeassistant import setup import homeassistant.components.sleepiq as sleepiq +from tests.async_mock import MagicMock, patch from tests.common import get_test_home_assistant, load_fixture diff --git a/tests/components/sleepiq/test_sensor.py b/tests/components/sleepiq/test_sensor.py index a049dfd2fbf..d94cd7e4063 100644 --- a/tests/components/sleepiq/test_sensor.py +++ b/tests/components/sleepiq/test_sensor.py @@ -1,12 +1,12 @@ """The tests for SleepIQ sensor platform.""" import unittest -from unittest.mock import MagicMock import requests_mock import homeassistant.components.sleepiq.sensor as sleepiq from homeassistant.setup import setup_component +from tests.async_mock import MagicMock from tests.common import get_test_home_assistant from tests.components.sleepiq.test_init import mock_responses diff --git a/tests/components/smhi/common.py b/tests/components/smhi/common.py index 6f215840324..92c9e13fb8a 100644 --- a/tests/components/smhi/common.py +++ b/tests/components/smhi/common.py @@ -1,5 +1,5 @@ """Common test utilities.""" -from unittest.mock import Mock +from tests.async_mock import Mock class AsyncMock(Mock): diff --git a/tests/components/smhi/test_init.py b/tests/components/smhi/test_init.py index 450ac7e6ef0..e6b523d96bb 100644 --- a/tests/components/smhi/test_init.py +++ b/tests/components/smhi/test_init.py @@ -1,10 +1,10 @@ """Test SMHI component setup process.""" -from unittest.mock import Mock - from homeassistant.components import smhi from .common import AsyncMock +from tests.async_mock import Mock + TEST_CONFIG = { "config": { "name": "0123456789ABCDEF", diff --git a/tests/components/smtp/test_notify.py b/tests/components/smtp/test_notify.py index 6c7e41a4728..f74d47a21c1 100644 --- a/tests/components/smtp/test_notify.py +++ b/tests/components/smtp/test_notify.py @@ -1,10 +1,10 @@ """The tests for the notify smtp platform.""" import re import unittest -from unittest.mock import patch from homeassistant.components.smtp.notify import MailNotificationService +from tests.async_mock import patch from tests.common import get_test_home_assistant diff --git a/tests/components/solaredge/test_config_flow.py b/tests/components/solaredge/test_config_flow.py index 759639362e4..61bc5f9ac6c 100644 --- a/tests/components/solaredge/test_config_flow.py +++ b/tests/components/solaredge/test_config_flow.py @@ -1,6 +1,4 @@ """Tests for the SolarEdge config flow.""" -from unittest.mock import Mock, patch - import pytest from requests.exceptions import ConnectTimeout, HTTPError @@ -9,6 +7,7 @@ from homeassistant.components.solaredge import config_flow from homeassistant.components.solaredge.const import CONF_SITE_ID, DEFAULT_NAME from homeassistant.const import CONF_API_KEY, CONF_NAME +from tests.async_mock import Mock, patch from tests.common import MockConfigEntry NAME = "solaredge site 1 2 3" diff --git a/tests/components/soma/test_config_flow.py b/tests/components/soma/test_config_flow.py index 1d00f83a608..929463ecf81 100644 --- a/tests/components/soma/test_config_flow.py +++ b/tests/components/soma/test_config_flow.py @@ -1,12 +1,11 @@ """Tests for the Soma config flow.""" -from unittest.mock import patch - from api.soma_api import SomaApi from requests import RequestException from homeassistant import data_entry_flow from homeassistant.components.soma import DOMAIN, config_flow +from tests.async_mock import patch from tests.common import MockConfigEntry MOCK_HOST = "123.45.67.89" diff --git a/tests/components/somfy/test_config_flow.py b/tests/components/somfy/test_config_flow.py index f195b640240..1823cb3c3ab 100644 --- a/tests/components/somfy/test_config_flow.py +++ b/tests/components/somfy/test_config_flow.py @@ -1,6 +1,5 @@ """Tests for the Somfy config flow.""" import asyncio -from unittest.mock import patch import pytest @@ -8,6 +7,7 @@ from homeassistant import config_entries, data_entry_flow, setup from homeassistant.components.somfy import DOMAIN, config_flow from homeassistant.helpers import config_entry_oauth2_flow +from tests.async_mock import patch from tests.common import MockConfigEntry CLIENT_SECRET_VALUE = "5678" diff --git a/tests/components/sonarr/test_sensor.py b/tests/components/sonarr/test_sensor.py index 1629a3d29c2..96585f87068 100644 --- a/tests/components/sonarr/test_sensor.py +++ b/tests/components/sonarr/test_sensor.py @@ -8,6 +8,7 @@ import pytest import homeassistant.components.sonarr.sensor as sonarr from homeassistant.const import DATA_GIGABYTES, UNIT_PERCENTAGE +from tests.async_mock import patch from tests.common import get_test_home_assistant @@ -491,7 +492,7 @@ class TestSonarrSetup(unittest.TestCase): """Stop everything that was started.""" self.hass.stop() - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_diskspace_no_paths(self, req_mock): """Test getting all disk space.""" config = { @@ -511,7 +512,7 @@ class TestSonarrSetup(unittest.TestCase): assert "Sonarr Disk Space" == device.name assert "263.10/465.42GB (56.53%)" == device.device_state_attributes["/data"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_diskspace_paths(self, req_mock): """Test getting diskspace for included paths.""" config = { @@ -531,7 +532,7 @@ class TestSonarrSetup(unittest.TestCase): assert "Sonarr Disk Space" == device.name assert "263.10/465.42GB (56.53%)" == device.device_state_attributes["/data"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_commands(self, req_mock): """Test getting running commands.""" config = { @@ -551,7 +552,7 @@ class TestSonarrSetup(unittest.TestCase): assert "Sonarr Commands" == device.name assert "pending" == device.device_state_attributes["RescanSeries"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_queue(self, req_mock): """Test getting downloads in the queue.""" config = { @@ -574,7 +575,7 @@ class TestSonarrSetup(unittest.TestCase): == device.device_state_attributes["Game of Thrones S03E08"] ) - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_series(self, req_mock): """Test getting the number of series.""" config = { @@ -596,7 +597,7 @@ class TestSonarrSetup(unittest.TestCase): "26/26 Episodes" == device.device_state_attributes["Marvel's Daredevil"] ) - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_wanted(self, req_mock): """Test getting wanted episodes.""" config = { @@ -618,7 +619,7 @@ class TestSonarrSetup(unittest.TestCase): "2014-02-03" == device.device_state_attributes["Archer (2009) S05E04"] ) - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_upcoming_multiple_days(self, req_mock): """Test the upcoming episodes for multiple days.""" config = { @@ -639,7 +640,7 @@ class TestSonarrSetup(unittest.TestCase): assert "S04E11" == device.device_state_attributes["Bob's Burgers"] @pytest.mark.skip - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_upcoming_today(self, req_mock): """Test filtering for a single day. @@ -662,7 +663,7 @@ class TestSonarrSetup(unittest.TestCase): assert "Sonarr Upcoming" == device.name assert "S04E11" == device.device_state_attributes["Bob's Burgers"] - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_system_status(self, req_mock): """Test getting system status.""" config = { @@ -682,7 +683,7 @@ class TestSonarrSetup(unittest.TestCase): assert "6.2.9200.0" == device.device_state_attributes["osVersion"] @pytest.mark.skip - @unittest.mock.patch("requests.get", side_effect=mocked_requests_get) + @patch("requests.get", side_effect=mocked_requests_get) def test_ssl(self, req_mock): """Test SSL being enabled.""" config = { @@ -704,7 +705,7 @@ class TestSonarrSetup(unittest.TestCase): assert "Sonarr Upcoming" == device.name assert "S04E11" == device.device_state_attributes["Bob's Burgers"] - @unittest.mock.patch("requests.get", side_effect=mocked_exception) + @patch("requests.get", side_effect=mocked_exception) def test_exception_handling(self, req_mock): """Test exception being handled.""" config = { diff --git a/tests/components/soundtouch/test_media_player.py b/tests/components/soundtouch/test_media_player.py index bc3cc1bc977..0d796cd8785 100644 --- a/tests/components/soundtouch/test_media_player.py +++ b/tests/components/soundtouch/test_media_player.py @@ -1,6 +1,4 @@ """Test the Soundtouch component.""" -from unittest.mock import call - from libsoundtouch.device import ( Config, Preset, @@ -27,7 +25,7 @@ from homeassistant.const import STATE_OFF, STATE_PAUSED, STATE_PLAYING from homeassistant.helpers.discovery import async_load_platform from homeassistant.setup import async_setup_component -from tests.async_mock import patch +from tests.async_mock import call, patch # pylint: disable=super-init-not-called diff --git a/tests/components/spotify/test_config_flow.py b/tests/components/spotify/test_config_flow.py index 3644ca462ca..7115151451f 100644 --- a/tests/components/spotify/test_config_flow.py +++ b/tests/components/spotify/test_config_flow.py @@ -1,6 +1,4 @@ """Tests for the Spotify config flow.""" -from unittest.mock import patch - from spotipy import SpotifyException from homeassistant import data_entry_flow, setup @@ -12,6 +10,7 @@ from homeassistant.components.spotify.const import ( from homeassistant.config_entries import SOURCE_USER, SOURCE_ZEROCONF from homeassistant.helpers import config_entry_oauth2_flow +from tests.async_mock import patch from tests.common import MockConfigEntry diff --git a/tests/components/statistics/test_sensor.py b/tests/components/statistics/test_sensor.py index 61a0abb6265..721cf71303d 100644 --- a/tests/components/statistics/test_sensor.py +++ b/tests/components/statistics/test_sensor.py @@ -2,7 +2,6 @@ from datetime import datetime, timedelta import statistics import unittest -from unittest.mock import patch import pytest @@ -12,6 +11,7 @@ from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT, STATE_UNKNOWN, TEMP_CE from homeassistant.setup import setup_component from homeassistant.util import dt as dt_util +from tests.async_mock import patch from tests.common import ( fire_time_changed, get_test_home_assistant, diff --git a/tests/components/stream/test_init.py b/tests/components/stream/test_init.py index 12fa8e8a4d6..dc7892e069a 100644 --- a/tests/components/stream/test_init.py +++ b/tests/components/stream/test_init.py @@ -1,6 +1,4 @@ """The tests for stream.""" -from unittest.mock import MagicMock, patch - import pytest from homeassistant.components.stream.const import ( @@ -14,7 +12,7 @@ from homeassistant.const import CONF_FILENAME from homeassistant.exceptions import HomeAssistantError from homeassistant.setup import async_setup_component -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, MagicMock, patch async def test_record_service_invalid_file(hass): diff --git a/tests/components/stream/test_recorder.py b/tests/components/stream/test_recorder.py index 95eeeecf7ad..fbbeaf0ff44 100644 --- a/tests/components/stream/test_recorder.py +++ b/tests/components/stream/test_recorder.py @@ -1,7 +1,6 @@ """The tests for hls streams.""" from datetime import timedelta from io import BytesIO -from unittest.mock import patch import pytest @@ -10,6 +9,7 @@ from homeassistant.components.stream.recorder import recorder_save_worker from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import async_fire_time_changed from tests.components.stream.common import generate_h264_video, preload_stream diff --git a/tests/components/sun/test_init.py b/tests/components/sun/test_init.py index e04de7e2578..e023814725b 100644 --- a/tests/components/sun/test_init.py +++ b/tests/components/sun/test_init.py @@ -1,6 +1,5 @@ """The tests for the Sun component.""" from datetime import datetime, timedelta -from unittest.mock import patch from pytest import mark @@ -10,6 +9,8 @@ import homeassistant.core as ha from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch + async def test_setting_rising(hass): """Test retrieving sun setting and rising.""" diff --git a/tests/components/switch/test_device_condition.py b/tests/components/switch/test_device_condition.py index fe32fca9cb7..e4e8564f5bb 100644 --- a/tests/components/switch/test_device_condition.py +++ b/tests/components/switch/test_device_condition.py @@ -1,6 +1,5 @@ """The test for switch device automation.""" from datetime import timedelta -from unittest.mock import patch import pytest @@ -11,6 +10,7 @@ from homeassistant.helpers import device_registry from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import ( MockConfigEntry, async_get_device_automation_capabilities, diff --git a/tests/components/synology_dsm/conftest.py b/tests/components/synology_dsm/conftest.py index 7829a3cc999..67c3cab659e 100644 --- a/tests/components/synology_dsm/conftest.py +++ b/tests/components/synology_dsm/conftest.py @@ -1,8 +1,8 @@ """Configure Synology DSM tests.""" -from unittest.mock import patch - import pytest +from tests.async_mock import patch + @pytest.fixture(name="dsm_bypass_setup", autouse=True) def dsm_bypass_setup_fixture(): diff --git a/tests/components/synology_dsm/test_config_flow.py b/tests/components/synology_dsm/test_config_flow.py index 795348d900c..66fc943920e 100644 --- a/tests/components/synology_dsm/test_config_flow.py +++ b/tests/components/synology_dsm/test_config_flow.py @@ -1,6 +1,5 @@ """Tests for the Synology DSM config flow.""" import logging -from unittest.mock import MagicMock, Mock, patch import pytest from synology_dsm.exceptions import ( @@ -33,6 +32,7 @@ from homeassistant.const import ( ) from homeassistant.helpers.typing import HomeAssistantType +from tests.async_mock import MagicMock, Mock, patch from tests.common import MockConfigEntry _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/system_log/test_init.py b/tests/components/system_log/test_init.py index 6408b1625f5..009701ca886 100644 --- a/tests/components/system_log/test_init.py +++ b/tests/components/system_log/test_init.py @@ -1,11 +1,12 @@ """Test system log component.""" import logging -from unittest.mock import MagicMock, patch from homeassistant.bootstrap import async_setup_component from homeassistant.components import system_log from homeassistant.core import callback +from tests.async_mock import MagicMock, patch + _LOGGER = logging.getLogger("test_logger") BASIC_CONFIG = {"system_log": {"max_entries": 2}} diff --git a/tests/components/tcp/test_binary_sensor.py b/tests/components/tcp/test_binary_sensor.py index 2dc16ad79c7..4cde4d9ac31 100644 --- a/tests/components/tcp/test_binary_sensor.py +++ b/tests/components/tcp/test_binary_sensor.py @@ -1,11 +1,11 @@ """The tests for the TCP binary sensor platform.""" import unittest -from unittest.mock import Mock, patch from homeassistant.components.tcp import binary_sensor as bin_tcp import homeassistant.components.tcp.sensor as tcp from homeassistant.setup import setup_component +from tests.async_mock import Mock, patch from tests.common import assert_setup_component, get_test_home_assistant import tests.components.tcp.test_sensor as test_tcp diff --git a/tests/components/tcp/test_sensor.py b/tests/components/tcp/test_sensor.py index 8e79d4e514d..b06652dc53f 100644 --- a/tests/components/tcp/test_sensor.py +++ b/tests/components/tcp/test_sensor.py @@ -2,7 +2,6 @@ from copy import copy import socket import unittest -from unittest.mock import Mock, patch from uuid import uuid4 import homeassistant.components.tcp.sensor as tcp @@ -10,6 +9,7 @@ from homeassistant.helpers.entity import Entity from homeassistant.helpers.template import Template from homeassistant.setup import setup_component +from tests.async_mock import Mock, patch from tests.common import assert_setup_component, get_test_home_assistant TEST_CONFIG = { diff --git a/tests/components/time_date/test_sensor.py b/tests/components/time_date/test_sensor.py index 2aae99f93a5..80a081cd524 100644 --- a/tests/components/time_date/test_sensor.py +++ b/tests/components/time_date/test_sensor.py @@ -1,10 +1,10 @@ """The tests for time_date sensor platform.""" import unittest -from unittest.mock import patch import homeassistant.components.time_date.sensor as time_date import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import get_test_home_assistant diff --git a/tests/components/timer/test_init.py b/tests/components/timer/test_init.py index dea116b3905..75bafba634f 100644 --- a/tests/components/timer/test_init.py +++ b/tests/components/timer/test_init.py @@ -2,7 +2,6 @@ # pylint: disable=protected-access from datetime import timedelta import logging -from unittest.mock import patch import pytest @@ -42,6 +41,7 @@ from homeassistant.helpers import config_validation as cv, entity_registry from homeassistant.setup import async_setup_component from homeassistant.util.dt import utcnow +from tests.async_mock import patch from tests.common import async_fire_time_changed _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/tod/test_binary_sensor.py b/tests/components/tod/test_binary_sensor.py index 1da0c16d43c..4febd1aa8d1 100644 --- a/tests/components/tod/test_binary_sensor.py +++ b/tests/components/tod/test_binary_sensor.py @@ -1,7 +1,6 @@ """Test Times of the Day Binary Sensor.""" from datetime import datetime, timedelta import unittest -from unittest.mock import patch import pytz @@ -12,6 +11,7 @@ from homeassistant.helpers.sun import get_astral_event_date, get_astral_event_ne from homeassistant.setup import setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/toon/test_config_flow.py b/tests/components/toon/test_config_flow.py index 45d16908446..fdf97243a3a 100644 --- a/tests/components/toon/test_config_flow.py +++ b/tests/components/toon/test_config_flow.py @@ -1,7 +1,5 @@ """Tests for the Toon config flow.""" -from unittest.mock import patch - import pytest from toonapilib.toonapilibexceptions import ( AgreementsRetrievalError, @@ -22,6 +20,7 @@ from homeassistant.components.toon.const import ( from homeassistant.const import CONF_PASSWORD, CONF_USERNAME from homeassistant.setup import async_setup_component +from tests.async_mock import patch from tests.common import MockConfigEntry FIXTURE_APP = { diff --git a/tests/components/totalconnect/test_config_flow.py b/tests/components/totalconnect/test_config_flow.py index b77198fa9b2..80cfe7a81f8 100644 --- a/tests/components/totalconnect/test_config_flow.py +++ b/tests/components/totalconnect/test_config_flow.py @@ -1,11 +1,10 @@ """Tests for the iCloud config flow.""" -from unittest.mock import patch - from homeassistant import data_entry_flow from homeassistant.components.totalconnect.const import DOMAIN from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_USER from homeassistant.const import CONF_PASSWORD, CONF_USERNAME +from tests.async_mock import patch from tests.common import MockConfigEntry USERNAME = "username@me.com" diff --git a/tests/components/tplink/test_common.py b/tests/components/tplink/test_common.py index ef4f1d22a2d..a2bd7ef87ff 100644 --- a/tests/components/tplink/test_common.py +++ b/tests/components/tplink/test_common.py @@ -1,12 +1,13 @@ """Common code tests.""" from datetime import timedelta -from unittest.mock import MagicMock from pyHS100 import SmartDeviceException from homeassistant.components.tplink.common import async_add_entities_retry from homeassistant.helpers.typing import HomeAssistantType +from tests.async_mock import MagicMock + async def test_async_add_entities_retry(hass: HomeAssistantType): """Test interval callback.""" diff --git a/tests/components/tplink/test_light.py b/tests/components/tplink/test_light.py index 0986362ba28..241789270d7 100644 --- a/tests/components/tplink/test_light.py +++ b/tests/components/tplink/test_light.py @@ -1,6 +1,5 @@ """Tests for light platform.""" from typing import Callable, NamedTuple -from unittest.mock import Mock, PropertyMock, patch from pyHS100 import SmartDeviceException import pytest @@ -30,6 +29,8 @@ from homeassistant.const import ( from homeassistant.core import HomeAssistant from homeassistant.setup import async_setup_component +from tests.async_mock import Mock, PropertyMock, patch + class LightMockData(NamedTuple): """Mock light data.""" diff --git a/tests/components/traccar/test_init.py b/tests/components/traccar/test_init.py index a13a3d25a6c..2804d90ac33 100644 --- a/tests/components/traccar/test_init.py +++ b/tests/components/traccar/test_init.py @@ -1,6 +1,4 @@ """The tests the for Traccar device tracker platform.""" -from unittest.mock import Mock, patch - import pytest from homeassistant import data_entry_flow @@ -16,6 +14,8 @@ from homeassistant.const import ( from homeassistant.helpers.dispatcher import DATA_DISPATCHER from homeassistant.setup import async_setup_component +from tests.async_mock import Mock, patch + HOME_LATITUDE = 37.239622 HOME_LONGITUDE = -115.815811 diff --git a/tests/components/tradfri/test_light.py b/tests/components/tradfri/test_light.py index e4bdd140faa..8ffc25aba5a 100644 --- a/tests/components/tradfri/test_light.py +++ b/tests/components/tradfri/test_light.py @@ -1,7 +1,6 @@ """Tradfri lights platform tests.""" from copy import deepcopy -from unittest.mock import MagicMock, Mock, PropertyMock, patch import pytest from pytradfri.device import Device @@ -10,6 +9,7 @@ from pytradfri.device.light_control import LightControl from homeassistant.components import tradfri +from tests.async_mock import MagicMock, Mock, PropertyMock, patch from tests.common import MockConfigEntry DEFAULT_TEST_FEATURES = { diff --git a/tests/components/transmission/test_config_flow.py b/tests/components/transmission/test_config_flow.py index bb790b025ea..4436a6adf21 100644 --- a/tests/components/transmission/test_config_flow.py +++ b/tests/components/transmission/test_config_flow.py @@ -1,6 +1,5 @@ """Tests for Transmission config flow.""" from datetime import timedelta -from unittest.mock import patch import pytest from transmissionrpc.error import TransmissionError @@ -22,6 +21,7 @@ from homeassistant.const import ( CONF_USERNAME, ) +from tests.async_mock import patch from tests.common import MockConfigEntry NAME = "Transmission" diff --git a/tests/components/transport_nsw/test_sensor.py b/tests/components/transport_nsw/test_sensor.py index 75881e113d7..ab66260a55e 100644 --- a/tests/components/transport_nsw/test_sensor.py +++ b/tests/components/transport_nsw/test_sensor.py @@ -1,9 +1,9 @@ """The tests for the Transport NSW (AU) sensor platform.""" import unittest -from unittest.mock import patch from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant VALID_CONFIG = { diff --git a/tests/components/trend/test_binary_sensor.py b/tests/components/trend/test_binary_sensor.py index d78cf793d2f..fc93df0aacf 100644 --- a/tests/components/trend/test_binary_sensor.py +++ b/tests/components/trend/test_binary_sensor.py @@ -1,10 +1,10 @@ """The test for the Trend sensor platform.""" from datetime import timedelta -from unittest.mock import patch from homeassistant import setup import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant diff --git a/tests/components/tts/test_init.py b/tests/components/tts/test_init.py index 61bb78a0827..3fbf1245fa3 100644 --- a/tests/components/tts/test_init.py +++ b/tests/components/tts/test_init.py @@ -1,6 +1,5 @@ """The tests for the TTS component.""" import ctypes -from unittest.mock import PropertyMock, patch import pytest import yarl @@ -18,6 +17,7 @@ from homeassistant.components.tts import _get_cache_files from homeassistant.const import HTTP_NOT_FOUND from homeassistant.setup import async_setup_component +from tests.async_mock import PropertyMock, patch from tests.common import assert_setup_component, async_mock_service diff --git a/tests/components/twilio/test_init.py b/tests/components/twilio/test_init.py index ee7f072a65c..185139077df 100644 --- a/tests/components/twilio/test_init.py +++ b/tests/components/twilio/test_init.py @@ -1,10 +1,10 @@ """Test the init file of Twilio.""" -from unittest.mock import patch - from homeassistant import data_entry_flow from homeassistant.components import twilio from homeassistant.core import callback +from tests.async_mock import patch + async def test_config_flow_registers_webhook(hass, aiohttp_client): """Test setting up Twilio and sending webhook.""" diff --git a/tests/components/twitch/test_twitch.py b/tests/components/twitch/test_twitch.py index 6c656f874d0..3e777fa3d03 100644 --- a/tests/components/twitch/test_twitch.py +++ b/tests/components/twitch/test_twitch.py @@ -1,12 +1,12 @@ """The tests for an update of the Twitch component.""" -from unittest.mock import MagicMock, patch - from requests import HTTPError from twitch.resources import Channel, Follow, Stream, Subscription, User from homeassistant.components import sensor from homeassistant.setup import async_setup_component +from tests.async_mock import MagicMock, patch + ENTITY_ID = "sensor.channel123" CONFIG = { sensor.DOMAIN: { diff --git a/tests/components/uptime/test_sensor.py b/tests/components/uptime/test_sensor.py index 0a9d227681b..111114d8aca 100644 --- a/tests/components/uptime/test_sensor.py +++ b/tests/components/uptime/test_sensor.py @@ -2,11 +2,11 @@ import asyncio from datetime import timedelta import unittest -from unittest.mock import patch from homeassistant.components.uptime.sensor import UptimeSensor from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant diff --git a/tests/components/usgs_earthquakes_feed/test_geo_location.py b/tests/components/usgs_earthquakes_feed/test_geo_location.py index 4823d2eb2da..9bd718d1933 100644 --- a/tests/components/usgs_earthquakes_feed/test_geo_location.py +++ b/tests/components/usgs_earthquakes_feed/test_geo_location.py @@ -1,6 +1,5 @@ """The tests for the USGS Earthquake Hazards Program Feed platform.""" import datetime -from unittest.mock import MagicMock, call, patch from homeassistant.components import geo_location from homeassistant.components.geo_location import ATTR_SOURCE @@ -32,6 +31,7 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import MagicMock, call, patch from tests.common import assert_setup_component, async_fire_time_changed CONFIG = { diff --git a/tests/components/utility_meter/test_init.py b/tests/components/utility_meter/test_init.py index f6c1e6c8ead..7116077177a 100644 --- a/tests/components/utility_meter/test_init.py +++ b/tests/components/utility_meter/test_init.py @@ -1,7 +1,6 @@ """The tests for the utility_meter component.""" from datetime import timedelta import logging -from unittest.mock import patch from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN from homeassistant.components.utility_meter.const import ( @@ -19,6 +18,8 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch + _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/utility_meter/test_sensor.py b/tests/components/utility_meter/test_sensor.py index 6118d74d0dd..d7c888802ed 100644 --- a/tests/components/utility_meter/test_sensor.py +++ b/tests/components/utility_meter/test_sensor.py @@ -2,7 +2,6 @@ from contextlib import contextmanager from datetime import timedelta import logging -from unittest.mock import patch from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN from homeassistant.components.utility_meter.const import ( @@ -20,6 +19,7 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import async_fire_time_changed _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/velbus/test_config_flow.py b/tests/components/velbus/test_config_flow.py index daeffb4ed1d..3bccacc0a94 100644 --- a/tests/components/velbus/test_config_flow.py +++ b/tests/components/velbus/test_config_flow.py @@ -1,12 +1,11 @@ """Tests for the Velbus config flow.""" -from unittest.mock import Mock, patch - import pytest from homeassistant import data_entry_flow from homeassistant.components.velbus import config_flow from homeassistant.const import CONF_NAME, CONF_PORT +from tests.async_mock import Mock, patch from tests.common import MockConfigEntry PORT_SERIAL = "/dev/ttyACME100" diff --git a/tests/components/vera/test_binary_sensor.py b/tests/components/vera/test_binary_sensor.py index 72651d6eda4..4b0d41d9a1e 100644 --- a/tests/components/vera/test_binary_sensor.py +++ b/tests/components/vera/test_binary_sensor.py @@ -1,12 +1,12 @@ """Vera tests.""" -from unittest.mock import MagicMock - import pyvera as pv from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def test_binary_sensor( hass: HomeAssistant, vera_component_factory: ComponentFactory diff --git a/tests/components/vera/test_climate.py b/tests/components/vera/test_climate.py index 9e5fa983ed0..f52bf375d8e 100644 --- a/tests/components/vera/test_climate.py +++ b/tests/components/vera/test_climate.py @@ -1,6 +1,4 @@ """Vera tests.""" -from unittest.mock import MagicMock - import pyvera as pv from homeassistant.components.climate.const import ( @@ -15,6 +13,8 @@ from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def test_climate( hass: HomeAssistant, vera_component_factory: ComponentFactory diff --git a/tests/components/vera/test_config_flow.py b/tests/components/vera/test_config_flow.py index 5f4536decec..3915d4d0577 100644 --- a/tests/components/vera/test_config_flow.py +++ b/tests/components/vera/test_config_flow.py @@ -1,6 +1,4 @@ """Vera tests.""" -from unittest.mock import MagicMock - from mock import patch from requests.exceptions import RequestException @@ -14,6 +12,7 @@ from homeassistant.data_entry_flow import ( RESULT_TYPE_FORM, ) +from tests.async_mock import MagicMock from tests.common import MockConfigEntry diff --git a/tests/components/vera/test_cover.py b/tests/components/vera/test_cover.py index 62cd47f831c..a2dae2bd7f8 100644 --- a/tests/components/vera/test_cover.py +++ b/tests/components/vera/test_cover.py @@ -1,12 +1,12 @@ """Vera tests.""" -from unittest.mock import MagicMock - import pyvera as pv from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def test_cover( hass: HomeAssistant, vera_component_factory: ComponentFactory diff --git a/tests/components/vera/test_light.py b/tests/components/vera/test_light.py index fefa07ffa6e..14194d0af52 100644 --- a/tests/components/vera/test_light.py +++ b/tests/components/vera/test_light.py @@ -1,6 +1,4 @@ """Vera tests.""" -from unittest.mock import MagicMock - import pyvera as pv from homeassistant.components.light import ATTR_BRIGHTNESS, ATTR_HS_COLOR @@ -8,6 +6,8 @@ from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def test_light( hass: HomeAssistant, vera_component_factory: ComponentFactory diff --git a/tests/components/vera/test_lock.py b/tests/components/vera/test_lock.py index d1b2209294a..901e09040e9 100644 --- a/tests/components/vera/test_lock.py +++ b/tests/components/vera/test_lock.py @@ -1,6 +1,4 @@ """Vera tests.""" -from unittest.mock import MagicMock - import pyvera as pv from homeassistant.const import STATE_LOCKED, STATE_UNLOCKED @@ -8,6 +6,8 @@ from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def test_lock( hass: HomeAssistant, vera_component_factory: ComponentFactory diff --git a/tests/components/vera/test_scene.py b/tests/components/vera/test_scene.py index 732a331681b..8f96b7a133a 100644 --- a/tests/components/vera/test_scene.py +++ b/tests/components/vera/test_scene.py @@ -1,12 +1,12 @@ """Vera tests.""" -from unittest.mock import MagicMock - import pyvera as pv from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def test_scene( hass: HomeAssistant, vera_component_factory: ComponentFactory diff --git a/tests/components/vera/test_sensor.py b/tests/components/vera/test_sensor.py index c915c5ead0f..cb50ad82789 100644 --- a/tests/components/vera/test_sensor.py +++ b/tests/components/vera/test_sensor.py @@ -1,6 +1,5 @@ """Vera tests.""" from typing import Any, Callable, Tuple -from unittest.mock import MagicMock import pyvera as pv @@ -9,6 +8,8 @@ from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def run_sensor_test( hass: HomeAssistant, diff --git a/tests/components/vera/test_switch.py b/tests/components/vera/test_switch.py index c41afad4759..2a8bfe68185 100644 --- a/tests/components/vera/test_switch.py +++ b/tests/components/vera/test_switch.py @@ -1,12 +1,12 @@ """Vera tests.""" -from unittest.mock import MagicMock - import pyvera as pv from homeassistant.core import HomeAssistant from .common import ComponentFactory, new_simple_controller_config +from tests.async_mock import MagicMock + async def test_switch( hass: HomeAssistant, vera_component_factory: ComponentFactory diff --git a/tests/components/verisure/test_ethernet_status.py b/tests/components/verisure/test_ethernet_status.py index 611adde19d9..139ac01a1c6 100644 --- a/tests/components/verisure/test_ethernet_status.py +++ b/tests/components/verisure/test_ethernet_status.py @@ -1,11 +1,12 @@ """Test Verisure ethernet status.""" from contextlib import contextmanager -from unittest.mock import patch from homeassistant.components.verisure import DOMAIN as VERISURE_DOMAIN from homeassistant.const import STATE_UNAVAILABLE from homeassistant.setup import async_setup_component +from tests.async_mock import patch + CONFIG = { "verisure": { "username": "test", diff --git a/tests/components/verisure/test_lock.py b/tests/components/verisure/test_lock.py index d41bbab2037..decce67dc11 100644 --- a/tests/components/verisure/test_lock.py +++ b/tests/components/verisure/test_lock.py @@ -1,7 +1,6 @@ """Tests for the Verisure platform.""" from contextlib import contextmanager -from unittest.mock import call, patch from homeassistant.components.lock import ( DOMAIN as LOCK_DOMAIN, @@ -12,6 +11,8 @@ from homeassistant.components.verisure import DOMAIN as VERISURE_DOMAIN from homeassistant.const import STATE_UNLOCKED from homeassistant.setup import async_setup_component +from tests.async_mock import call, patch + NO_DEFAULT_LOCK_CODE_CONFIG = { "verisure": { "username": "test", diff --git a/tests/components/version/test_sensor.py b/tests/components/version/test_sensor.py index 164b4090e5f..471043ae3ae 100644 --- a/tests/components/version/test_sensor.py +++ b/tests/components/version/test_sensor.py @@ -1,8 +1,8 @@ """The test for the version sensor platform.""" -from unittest.mock import patch - from homeassistant.setup import async_setup_component +from tests.async_mock import patch + MOCK_VERSION = "10.0" diff --git a/tests/components/vesync/test_config_flow.py b/tests/components/vesync/test_config_flow.py index 39b847effc5..aedf94da4ab 100644 --- a/tests/components/vesync/test_config_flow.py +++ b/tests/components/vesync/test_config_flow.py @@ -1,10 +1,9 @@ """Test for vesync config flow.""" -from unittest.mock import patch - from homeassistant import data_entry_flow from homeassistant.components.vesync import DOMAIN, config_flow from homeassistant.const import CONF_PASSWORD, CONF_USERNAME +from tests.async_mock import patch from tests.common import MockConfigEntry diff --git a/tests/components/vizio/test_media_player.py b/tests/components/vizio/test_media_player.py index b4a2148b8da..7a2ff1d1c7a 100644 --- a/tests/components/vizio/test_media_player.py +++ b/tests/components/vizio/test_media_player.py @@ -3,7 +3,6 @@ from contextlib import asynccontextmanager from datetime import timedelta import logging from typing import Any, Dict, List, Optional -from unittest.mock import call import pytest from pytest import raises @@ -73,7 +72,7 @@ from .const import ( VOLUME_STEP, ) -from tests.async_mock import patch +from tests.async_mock import call, patch from tests.common import MockConfigEntry, async_fire_time_changed _LOGGER = logging.getLogger(__name__) diff --git a/tests/components/vultr/test_binary_sensor.py b/tests/components/vultr/test_binary_sensor.py index f57926f30c8..609cdbf6a9e 100644 --- a/tests/components/vultr/test_binary_sensor.py +++ b/tests/components/vultr/test_binary_sensor.py @@ -1,7 +1,6 @@ """Test the Vultr binary sensor platform.""" import json import unittest -from unittest.mock import patch import pytest import requests_mock @@ -20,6 +19,7 @@ from homeassistant.components.vultr import ( ) from homeassistant.const import CONF_NAME, CONF_PLATFORM +from tests.async_mock import patch from tests.common import get_test_home_assistant, load_fixture from tests.components.vultr.test_init import VALID_CONFIG diff --git a/tests/components/vultr/test_init.py b/tests/components/vultr/test_init.py index e371e785c92..6035ac547af 100644 --- a/tests/components/vultr/test_init.py +++ b/tests/components/vultr/test_init.py @@ -2,13 +2,13 @@ from copy import deepcopy import json import unittest -from unittest.mock import patch import requests_mock from homeassistant import setup import homeassistant.components.vultr as vultr +from tests.async_mock import patch from tests.common import get_test_home_assistant, load_fixture VALID_CONFIG = {"vultr": {"api_key": "ABCDEFG1234567"}} diff --git a/tests/components/vultr/test_sensor.py b/tests/components/vultr/test_sensor.py index 80fd05a41cc..1ced0fec82f 100644 --- a/tests/components/vultr/test_sensor.py +++ b/tests/components/vultr/test_sensor.py @@ -1,7 +1,6 @@ """The tests for the Vultr sensor platform.""" import json import unittest -from unittest.mock import patch import pytest import requests_mock @@ -17,6 +16,7 @@ from homeassistant.const import ( DATA_GIGABYTES, ) +from tests.async_mock import patch from tests.common import get_test_home_assistant, load_fixture from tests.components.vultr.test_init import VALID_CONFIG diff --git a/tests/components/vultr/test_switch.py b/tests/components/vultr/test_switch.py index 6a5c382a2d2..594617bdfd9 100644 --- a/tests/components/vultr/test_switch.py +++ b/tests/components/vultr/test_switch.py @@ -1,7 +1,6 @@ """Test the Vultr switch platform.""" import json import unittest -from unittest.mock import patch import pytest import requests_mock @@ -20,6 +19,7 @@ from homeassistant.components.vultr import ( ) from homeassistant.const import CONF_NAME, CONF_PLATFORM +from tests.async_mock import patch from tests.common import get_test_home_assistant, load_fixture from tests.components.vultr.test_init import VALID_CONFIG diff --git a/tests/components/wake_on_lan/test_switch.py b/tests/components/wake_on_lan/test_switch.py index e0f12f9c7f8..ed4045bcb44 100644 --- a/tests/components/wake_on_lan/test_switch.py +++ b/tests/components/wake_on_lan/test_switch.py @@ -1,11 +1,11 @@ """The tests for the wake on lan switch platform.""" import unittest -from unittest.mock import patch import homeassistant.components.switch as switch from homeassistant.const import STATE_OFF, STATE_ON from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import get_test_home_assistant, mock_service from tests.components.switch import common diff --git a/tests/components/webhook/test_init.py b/tests/components/webhook/test_init.py index 733ed32da78..7d4ce563b03 100644 --- a/tests/components/webhook/test_init.py +++ b/tests/components/webhook/test_init.py @@ -1,10 +1,10 @@ """Test the webhook component.""" -from unittest.mock import Mock - import pytest from homeassistant.setup import async_setup_component +from tests.async_mock import Mock + @pytest.fixture def mock_client(hass, hass_client): diff --git a/tests/components/webostv/test_media_player.py b/tests/components/webostv/test_media_player.py index cc889eca064..e4395769562 100644 --- a/tests/components/webostv/test_media_player.py +++ b/tests/components/webostv/test_media_player.py @@ -25,7 +25,7 @@ from homeassistant.const import ( from homeassistant.setup import async_setup_component if sys.version_info >= (3, 8, 0): - from unittest.mock import patch + from tests.async_mock import patch else: from tests.async_mock import patch diff --git a/tests/components/websocket_api/test_init.py b/tests/components/websocket_api/test_init.py index 041c0e76533..2d656de8eeb 100644 --- a/tests/components/websocket_api/test_init.py +++ b/tests/components/websocket_api/test_init.py @@ -1,11 +1,11 @@ """Tests for the Home Assistant Websocket API.""" -from unittest.mock import Mock, patch - from aiohttp import WSMsgType import voluptuous as vol from homeassistant.components.websocket_api import const, messages +from tests.async_mock import Mock, patch + async def test_invalid_message_format(websocket_client): """Test sending invalid JSON.""" diff --git a/tests/components/withings/test_common.py b/tests/components/withings/test_common.py index f0f3a160332..f0528c36005 100644 --- a/tests/components/withings/test_common.py +++ b/tests/components/withings/test_common.py @@ -1,6 +1,5 @@ """Tests for the Withings component.""" from datetime import timedelta -from unittest.mock import patch import pytest from withings_api import WithingsApi @@ -13,7 +12,7 @@ from homeassistant.components.withings.common import ( from homeassistant.exceptions import PlatformNotReady from homeassistant.util import dt -from tests.async_mock import MagicMock +from tests.async_mock import MagicMock, patch @pytest.fixture(name="withings_api") diff --git a/tests/components/workday/test_binary_sensor.py b/tests/components/workday/test_binary_sensor.py index 29d5e4f03ef..c476c9fd0e0 100644 --- a/tests/components/workday/test_binary_sensor.py +++ b/tests/components/workday/test_binary_sensor.py @@ -1,6 +1,5 @@ """Tests the Home Assistant workday binary sensor.""" from datetime import date -from unittest.mock import patch import pytest import voluptuous as vol @@ -8,6 +7,7 @@ import voluptuous as vol import homeassistant.components.workday.binary_sensor as binary_sensor from homeassistant.setup import setup_component +from tests.async_mock import patch from tests.common import assert_setup_component, get_test_home_assistant FUNCTION_PATH = "homeassistant.components.workday.binary_sensor.get_date" diff --git a/tests/components/xiaomi_miio/test_config_flow.py b/tests/components/xiaomi_miio/test_config_flow.py index 023deb93c81..619293be676 100644 --- a/tests/components/xiaomi_miio/test_config_flow.py +++ b/tests/components/xiaomi_miio/test_config_flow.py @@ -1,13 +1,11 @@ """Test the Xiaomi Miio config flow.""" -from unittest.mock import Mock - from miio import DeviceException from homeassistant import config_entries from homeassistant.components.xiaomi_miio import config_flow, const from homeassistant.const import CONF_HOST, CONF_NAME, CONF_TOKEN -from tests.async_mock import patch +from tests.async_mock import Mock, patch TEST_HOST = "1.2.3.4" TEST_TOKEN = "12345678901234567890123456789012" diff --git a/tests/components/yamaha/test_media_player.py b/tests/components/yamaha/test_media_player.py index 6b101167c85..2f47ddc7355 100644 --- a/tests/components/yamaha/test_media_player.py +++ b/tests/components/yamaha/test_media_player.py @@ -1,11 +1,11 @@ """The tests for the Yamaha Media player platform.""" import unittest -from unittest.mock import MagicMock, patch import homeassistant.components.media_player as mp from homeassistant.components.yamaha import media_player as yamaha from homeassistant.setup import setup_component +from tests.async_mock import MagicMock, patch from tests.common import get_test_home_assistant diff --git a/tests/components/yessssms/test_notify.py b/tests/components/yessssms/test_notify.py index 992185bf102..d940e782be4 100644 --- a/tests/components/yessssms/test_notify.py +++ b/tests/components/yessssms/test_notify.py @@ -1,7 +1,6 @@ """The tests for the notify yessssms platform.""" import logging import unittest -from unittest.mock import patch import pytest import requests_mock @@ -16,6 +15,8 @@ from homeassistant.const import ( ) from homeassistant.setup import async_setup_component +from tests.async_mock import patch + @pytest.fixture(name="config") def config_data(): diff --git a/tests/components/yr/test_sensor.py b/tests/components/yr/test_sensor.py index d676e88bfc3..d8dcbe367de 100644 --- a/tests/components/yr/test_sensor.py +++ b/tests/components/yr/test_sensor.py @@ -1,11 +1,11 @@ """The tests for the Yr sensor platform.""" from datetime import datetime -from unittest.mock import patch from homeassistant.bootstrap import async_setup_component from homeassistant.const import DEGREE, SPEED_METERS_PER_SECOND, UNIT_PERCENTAGE import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import assert_setup_component, load_fixture NOW = datetime(2016, 6, 9, 1, tzinfo=dt_util.UTC) diff --git a/tests/components/zha/common.py b/tests/components/zha/common.py index 9b139317825..4efc6538d7c 100644 --- a/tests/components/zha/common.py +++ b/tests/components/zha/common.py @@ -1,6 +1,5 @@ """Common test objects.""" import time -from unittest.mock import Mock from zigpy.device import Device as zigpy_dev from zigpy.endpoint import Endpoint as zigpy_ep @@ -14,7 +13,7 @@ import zigpy.zdo.types import homeassistant.components.zha.core.const as zha_const from homeassistant.util import slugify -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, Mock class FakeEndpoint: diff --git a/tests/components/zha/test_fan.py b/tests/components/zha/test_fan.py index 399982df37a..b110656c1dd 100644 --- a/tests/components/zha/test_fan.py +++ b/tests/components/zha/test_fan.py @@ -1,6 +1,4 @@ """Test zha fan.""" -from unittest.mock import call - import pytest import zigpy.profiles.zha as zha import zigpy.zcl.clusters.general as general @@ -35,6 +33,8 @@ from .common import ( send_attributes_report, ) +from tests.async_mock import call + IEEE_GROUPABLE_DEVICE = "01:2d:6f:00:0a:90:69:e8" IEEE_GROUPABLE_DEVICE2 = "02:2d:6f:00:0a:90:69:e8" diff --git a/tests/components/zha/test_light.py b/tests/components/zha/test_light.py index 915ace7c7f2..a1a081d7e8b 100644 --- a/tests/components/zha/test_light.py +++ b/tests/components/zha/test_light.py @@ -1,6 +1,5 @@ """Test zha light.""" from datetime import timedelta -from unittest.mock import MagicMock, call, sentinel import pytest import zigpy.profiles.zha as zha @@ -23,7 +22,7 @@ from .common import ( send_attributes_report, ) -from tests.async_mock import AsyncMock, patch +from tests.async_mock import AsyncMock, MagicMock, call, patch, sentinel from tests.common import async_fire_time_changed ON = 1 diff --git a/tests/components/zwave/conftest.py b/tests/components/zwave/conftest.py index f80c55f7767..50edcfec157 100644 --- a/tests/components/zwave/conftest.py +++ b/tests/components/zwave/conftest.py @@ -1,8 +1,7 @@ """Fixtures for Z-Wave tests.""" -from unittest.mock import MagicMock, patch - import pytest +from tests.async_mock import MagicMock, patch from tests.mock.zwave import MockNetwork, MockOption diff --git a/tests/components/zwave/test_binary_sensor.py b/tests/components/zwave/test_binary_sensor.py index 54270cdc3f4..8ac6370ad35 100644 --- a/tests/components/zwave/test_binary_sensor.py +++ b/tests/components/zwave/test_binary_sensor.py @@ -1,9 +1,9 @@ """Test Z-Wave binary sensors.""" import datetime -from unittest.mock import patch from homeassistant.components.zwave import binary_sensor, const +from tests.async_mock import patch from tests.mock.zwave import MockEntityValues, MockNode, MockValue, value_changed diff --git a/tests/components/zwave/test_cover.py b/tests/components/zwave/test_cover.py index e8b784feefe..cde0957e2b3 100644 --- a/tests/components/zwave/test_cover.py +++ b/tests/components/zwave/test_cover.py @@ -1,6 +1,4 @@ """Test Z-Wave cover devices.""" -from unittest.mock import MagicMock - from homeassistant.components.cover import SUPPORT_CLOSE, SUPPORT_OPEN from homeassistant.components.zwave import ( CONF_INVERT_OPENCLOSE_BUTTONS, @@ -9,6 +7,7 @@ from homeassistant.components.zwave import ( cover, ) +from tests.async_mock import MagicMock from tests.mock.zwave import MockEntityValues, MockNode, MockValue, value_changed diff --git a/tests/components/zwave/test_init.py b/tests/components/zwave/test_init.py index b71758469d0..19733b045dc 100644 --- a/tests/components/zwave/test_init.py +++ b/tests/components/zwave/test_init.py @@ -3,7 +3,6 @@ import asyncio from collections import OrderedDict from datetime import datetime import unittest -from unittest.mock import MagicMock, patch import pytest from pytz import utc @@ -23,7 +22,7 @@ from homeassistant.helpers.device_registry import async_get_registry as get_dev_ from homeassistant.helpers.entity_registry import async_get_registry from homeassistant.setup import setup_component -from tests.async_mock import AsyncMock +from tests.async_mock import AsyncMock, MagicMock, patch from tests.common import async_fire_time_changed, get_test_home_assistant, mock_registry from tests.mock.zwave import MockEntityValues, MockNetwork, MockNode, MockValue diff --git a/tests/components/zwave/test_light.py b/tests/components/zwave/test_light.py index fc62ef880f6..1b973294daf 100644 --- a/tests/components/zwave/test_light.py +++ b/tests/components/zwave/test_light.py @@ -1,6 +1,4 @@ """Test Z-Wave lights.""" -from unittest.mock import MagicMock, patch - from homeassistant.components import zwave from homeassistant.components.light import ( ATTR_BRIGHTNESS, @@ -16,6 +14,7 @@ from homeassistant.components.light import ( ) from homeassistant.components.zwave import const, light +from tests.async_mock import MagicMock, patch from tests.mock.zwave import MockEntityValues, MockNode, MockValue, value_changed @@ -234,7 +233,7 @@ def test_dimmer_refresh_value(mock_openzwave): assert not device.is_on - with patch.object(light, "Timer", MagicMock()) as mock_timer: + with patch.object(light, "Timer") as mock_timer: value.data = 46 value_changed(value) @@ -246,7 +245,7 @@ def test_dimmer_refresh_value(mock_openzwave): assert mock_timer().start.called assert len(mock_timer().start.mock_calls) == 1 - with patch.object(light, "Timer", MagicMock()) as mock_timer_2: + with patch.object(light, "Timer") as mock_timer_2: value_changed(value) assert not device.is_on assert mock_timer().cancel.called diff --git a/tests/components/zwave/test_lock.py b/tests/components/zwave/test_lock.py index d5b6d0a0d27..2f82bcb2764 100644 --- a/tests/components/zwave/test_lock.py +++ b/tests/components/zwave/test_lock.py @@ -1,9 +1,8 @@ """Test Z-Wave locks.""" -from unittest.mock import MagicMock, patch - from homeassistant import config_entries from homeassistant.components.zwave import const, lock +from tests.async_mock import MagicMock, patch from tests.mock.zwave import MockEntityValues, MockNode, MockValue, value_changed diff --git a/tests/components/zwave/test_node_entity.py b/tests/components/zwave/test_node_entity.py index 4d117179328..8306899ce02 100644 --- a/tests/components/zwave/test_node_entity.py +++ b/tests/components/zwave/test_node_entity.py @@ -1,12 +1,12 @@ """Test Z-Wave node entity.""" import unittest -from unittest.mock import MagicMock, patch import pytest from homeassistant.components.zwave import const, node_entity from homeassistant.const import ATTR_ENTITY_ID +from tests.async_mock import MagicMock, patch import tests.mock.zwave as mock_zwave diff --git a/tests/components/zwave/test_switch.py b/tests/components/zwave/test_switch.py index 4293a4a23fd..b61c456ccb9 100644 --- a/tests/components/zwave/test_switch.py +++ b/tests/components/zwave/test_switch.py @@ -1,8 +1,7 @@ """Test Z-Wave switches.""" -from unittest.mock import patch - from homeassistant.components.zwave import switch +from tests.async_mock import patch from tests.mock.zwave import MockEntityValues, MockNode, MockValue, value_changed diff --git a/tests/helpers/test_check_config.py b/tests/helpers/test_check_config.py index 7a5d606bcc8..ffc05544694 100644 --- a/tests/helpers/test_check_config.py +++ b/tests/helpers/test_check_config.py @@ -1,6 +1,5 @@ """Test check_config helper.""" import logging -from unittest.mock import patch from homeassistant.config import YAML_CONFIG_FILE from homeassistant.helpers.check_config import ( @@ -8,6 +7,7 @@ from homeassistant.helpers.check_config import ( async_check_ha_config_file, ) +from tests.async_mock import patch from tests.common import patch_yaml_files _LOGGER = logging.getLogger(__name__) diff --git a/tests/helpers/test_condition.py b/tests/helpers/test_condition.py index 03c3965fad7..c4b87b667fa 100644 --- a/tests/helpers/test_condition.py +++ b/tests/helpers/test_condition.py @@ -1,12 +1,12 @@ """Test the condition helper.""" -from unittest.mock import patch - import pytest from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers import condition from homeassistant.util import dt +from tests.async_mock import patch + async def test_invalid_condition(hass): """Test if invalid condition raises.""" diff --git a/tests/helpers/test_config_entry_oauth2_flow.py b/tests/helpers/test_config_entry_oauth2_flow.py index a72f3f51ee7..9826d60025f 100644 --- a/tests/helpers/test_config_entry_oauth2_flow.py +++ b/tests/helpers/test_config_entry_oauth2_flow.py @@ -2,13 +2,13 @@ import asyncio import logging import time -from unittest.mock import patch import pytest from homeassistant import config_entries, data_entry_flow, setup from homeassistant.helpers import config_entry_oauth2_flow +from tests.async_mock import patch from tests.common import MockConfigEntry, mock_platform TEST_DOMAIN = "oauth2_test" diff --git a/tests/helpers/test_config_validation.py b/tests/helpers/test_config_validation.py index 1d082462849..bee463092ff 100644 --- a/tests/helpers/test_config_validation.py +++ b/tests/helpers/test_config_validation.py @@ -3,7 +3,6 @@ from datetime import date, datetime, timedelta import enum import os from socket import _GLOBAL_DEFAULT_TIMEOUT -from unittest.mock import Mock, patch import uuid import pytest @@ -12,6 +11,8 @@ import voluptuous as vol import homeassistant import homeassistant.helpers.config_validation as cv +from tests.async_mock import Mock, patch + def test_boolean(): """Test boolean validation.""" diff --git a/tests/helpers/test_deprecation.py b/tests/helpers/test_deprecation.py index 38410c3bf0f..c7e903f7b16 100644 --- a/tests/helpers/test_deprecation.py +++ b/tests/helpers/test_deprecation.py @@ -1,8 +1,8 @@ """Test deprecation helpers.""" -from unittest.mock import MagicMock, patch - from homeassistant.helpers.deprecation import deprecated_substitute, get_deprecated +from tests.async_mock import MagicMock, patch + class MockBaseClass: """Mock base class for deprecated testing.""" diff --git a/tests/helpers/test_device_registry.py b/tests/helpers/test_device_registry.py index f81d20ecd66..30f991db724 100644 --- a/tests/helpers/test_device_registry.py +++ b/tests/helpers/test_device_registry.py @@ -1,6 +1,5 @@ """Tests for the Device Registry.""" import asyncio -from unittest.mock import patch import pytest @@ -8,6 +7,7 @@ from homeassistant.core import callback from homeassistant.helpers import device_registry import tests.async_mock +from tests.async_mock import patch from tests.common import flush_store, mock_device_registry diff --git a/tests/helpers/test_entity.py b/tests/helpers/test_entity.py index dd734bb0dcb..70b72b1752f 100644 --- a/tests/helpers/test_entity.py +++ b/tests/helpers/test_entity.py @@ -3,7 +3,6 @@ import asyncio from datetime import timedelta import threading -from unittest.mock import MagicMock, PropertyMock, patch import pytest @@ -13,6 +12,7 @@ from homeassistant.core import Context from homeassistant.helpers import entity, entity_registry from homeassistant.helpers.entity_values import EntityValues +from tests.async_mock import MagicMock, PropertyMock, patch from tests.common import get_test_home_assistant, mock_registry @@ -139,7 +139,7 @@ async def test_warn_slow_update(hass): mock_entity.entity_id = "comp_test.test_entity" mock_entity.async_update = async_update - with patch.object(hass.loop, "call_later", MagicMock()) as mock_call: + with patch.object(hass.loop, "call_later") as mock_call: await mock_entity.async_update_ha_state(True) assert mock_call.called assert len(mock_call.mock_calls) == 2 @@ -169,7 +169,7 @@ async def test_warn_slow_update_with_exception(hass): mock_entity.entity_id = "comp_test.test_entity" mock_entity.async_update = async_update - with patch.object(hass.loop, "call_later", MagicMock()) as mock_call: + with patch.object(hass.loop, "call_later") as mock_call: await mock_entity.async_update_ha_state(True) assert mock_call.called assert len(mock_call.mock_calls) == 2 @@ -198,7 +198,7 @@ async def test_warn_slow_device_update_disabled(hass): mock_entity.entity_id = "comp_test.test_entity" mock_entity.async_update = async_update - with patch.object(hass.loop, "call_later", MagicMock()) as mock_call: + with patch.object(hass.loop, "call_later") as mock_call: await mock_entity.async_device_update(warning=False) assert not mock_call.called diff --git a/tests/helpers/test_entity_registry.py b/tests/helpers/test_entity_registry.py index b2bfd1f48ff..9afb8623f18 100644 --- a/tests/helpers/test_entity_registry.py +++ b/tests/helpers/test_entity_registry.py @@ -1,6 +1,5 @@ """Tests for the Entity Registry.""" import asyncio -from unittest.mock import patch import pytest @@ -9,6 +8,7 @@ from homeassistant.core import CoreState, callback, valid_entity_id from homeassistant.helpers import entity_registry import tests.async_mock +from tests.async_mock import patch from tests.common import MockConfigEntry, flush_store, mock_registry YAML__OPEN_PATH = "homeassistant.util.yaml.loader.open" diff --git a/tests/helpers/test_event.py b/tests/helpers/test_event.py index f6e375acf0b..654cf8483db 100644 --- a/tests/helpers/test_event.py +++ b/tests/helpers/test_event.py @@ -1,7 +1,6 @@ """Test event helpers.""" # pylint: disable=protected-access from datetime import datetime, timedelta -from unittest.mock import patch from astral import Astral import pytest @@ -27,6 +26,7 @@ from homeassistant.helpers.template import Template from homeassistant.setup import async_setup_component import homeassistant.util.dt as dt_util +from tests.async_mock import patch from tests.common import async_fire_time_changed DEFAULT_TIME_ZONE = dt_util.DEFAULT_TIME_ZONE diff --git a/tests/helpers/test_integration_platform.py b/tests/helpers/test_integration_platform.py index d6c844c0d91..6f0e56d34c8 100644 --- a/tests/helpers/test_integration_platform.py +++ b/tests/helpers/test_integration_platform.py @@ -1,8 +1,7 @@ """Test integration platform helpers.""" -from unittest.mock import Mock - from homeassistant.setup import ATTR_COMPONENT, EVENT_COMPONENT_LOADED +from tests.async_mock import Mock from tests.common import mock_platform diff --git a/tests/helpers/test_network.py b/tests/helpers/test_network.py index d4c5366b879..0fef40a82f4 100644 --- a/tests/helpers/test_network.py +++ b/tests/helpers/test_network.py @@ -1,9 +1,9 @@ """Test network helper.""" -from unittest.mock import Mock, patch - from homeassistant.components import cloud from homeassistant.helpers import network +from tests.async_mock import Mock, patch + async def test_get_external_url(hass): """Test get_external_url.""" diff --git a/tests/helpers/test_state.py b/tests/helpers/test_state.py index d8202b88b46..b19669d13f4 100644 --- a/tests/helpers/test_state.py +++ b/tests/helpers/test_state.py @@ -1,7 +1,6 @@ """Test state helpers.""" import asyncio from datetime import timedelta -from unittest.mock import patch import pytest @@ -22,6 +21,7 @@ import homeassistant.core as ha from homeassistant.helpers import state from homeassistant.util import dt as dt_util +from tests.async_mock import patch from tests.common import async_mock_service diff --git a/tests/helpers/test_sun.py b/tests/helpers/test_sun.py index b8ecd1ed86a..a877c7cdb00 100644 --- a/tests/helpers/test_sun.py +++ b/tests/helpers/test_sun.py @@ -1,12 +1,13 @@ """The tests for the Sun helpers.""" # pylint: disable=protected-access from datetime import datetime, timedelta -from unittest.mock import patch from homeassistant.const import SUN_EVENT_SUNRISE, SUN_EVENT_SUNSET import homeassistant.helpers.sun as sun import homeassistant.util.dt as dt_util +from tests.async_mock import patch + def test_next_events(hass): """Test retrieving next sun events.""" diff --git a/tests/helpers/test_template.py b/tests/helpers/test_template.py index 6b3e0774bd8..a698c7af6e7 100644 --- a/tests/helpers/test_template.py +++ b/tests/helpers/test_template.py @@ -2,7 +2,6 @@ from datetime import datetime import math import random -from unittest.mock import patch import pytest import pytz @@ -21,6 +20,8 @@ from homeassistant.helpers import template import homeassistant.util.dt as dt_util from homeassistant.util.unit_system import UnitSystem +from tests.async_mock import patch + def _set_up_units(hass): """Set up the tests.""" diff --git a/tests/mock/zwave.py b/tests/mock/zwave.py index 9089f159761..1049108f9de 100644 --- a/tests/mock/zwave.py +++ b/tests/mock/zwave.py @@ -1,8 +1,8 @@ """Mock helpers for Z-Wave component.""" -from unittest.mock import MagicMock - from pydispatch import dispatcher +from tests.async_mock import MagicMock + def value_changed(value): """Fire a value changed.""" diff --git a/tests/scripts/test_auth.py b/tests/scripts/test_auth.py index 3ab19450879..c9ada99dc29 100644 --- a/tests/scripts/test_auth.py +++ b/tests/scripts/test_auth.py @@ -1,11 +1,10 @@ """Test the auth script to manage local users.""" -from unittest.mock import Mock, patch - import pytest from homeassistant.auth.providers import homeassistant as hass_auth from homeassistant.scripts import auth as script_auth +from tests.async_mock import Mock, patch from tests.common import register_auth_provider diff --git a/tests/scripts/test_check_config.py b/tests/scripts/test_check_config.py index 737c3b56ecf..d28b5f69530 100644 --- a/tests/scripts/test_check_config.py +++ b/tests/scripts/test_check_config.py @@ -1,10 +1,10 @@ """Test check_config script.""" import logging -from unittest.mock import patch from homeassistant.config import YAML_CONFIG_FILE import homeassistant.scripts.check_config as check_config +from tests.async_mock import patch from tests.common import get_test_config_dir, patch_yaml_files _LOGGER = logging.getLogger(__name__) diff --git a/tests/scripts/test_init.py b/tests/scripts/test_init.py index 8feef2d3384..2c14bfdcf0a 100644 --- a/tests/scripts/test_init.py +++ b/tests/scripts/test_init.py @@ -1,8 +1,8 @@ """Test script init.""" -from unittest.mock import patch - import homeassistant.scripts as scripts +from tests.async_mock import patch + @patch("homeassistant.scripts.get_default_config_dir", return_value="/default") def test_config_per_platform(mock_def): diff --git a/tests/test_main.py b/tests/test_main.py index 5ec6460301f..40c34b77b50 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -1,9 +1,9 @@ """Test methods in __main__.""" -from unittest.mock import PropertyMock, patch - from homeassistant import __main__ as main from homeassistant.const import REQUIRED_PYTHON_VER +from tests.async_mock import PropertyMock, patch + @patch("sys.exit") def test_validate_python(mock_exit): diff --git a/tests/util/test_async.py b/tests/util/test_async.py index 33280895ba2..b60b4097c52 100644 --- a/tests/util/test_async.py +++ b/tests/util/test_async.py @@ -1,12 +1,13 @@ """Tests for async util methods from Python source.""" import asyncio from unittest import TestCase -from unittest.mock import MagicMock, Mock, patch import pytest from homeassistant.util import async_ as hasync +from tests.async_mock import MagicMock, Mock, patch + @patch("asyncio.coroutines.iscoroutine") @patch("concurrent.futures.Future") diff --git a/tests/util/test_init.py b/tests/util/test_init.py index 2ffca07082b..ef5ecd898d7 100644 --- a/tests/util/test_init.py +++ b/tests/util/test_init.py @@ -1,12 +1,13 @@ """Test Home Assistant util methods.""" from datetime import datetime, timedelta -from unittest.mock import MagicMock, patch import pytest from homeassistant import util import homeassistant.util.dt as dt_util +from tests.async_mock import MagicMock, patch + def test_sanitize_filename(): """Test sanitize_filename.""" diff --git a/tests/util/test_json.py b/tests/util/test_json.py index 258f266ff78..c2b6a428515 100644 --- a/tests/util/test_json.py +++ b/tests/util/test_json.py @@ -7,7 +7,6 @@ import os import sys from tempfile import mkdtemp import unittest -from unittest.mock import Mock import pytest @@ -20,6 +19,8 @@ from homeassistant.util.json import ( save_json, ) +from tests.async_mock import Mock + # Test data that can be saved as JSON TEST_JSON_A = {"a": 1, "B": "two"} TEST_JSON_B = {"a": "one", "B": 2} diff --git a/tests/util/test_yaml.py b/tests/util/test_yaml.py index 140859ccb73..4d6f4ce3ac9 100644 --- a/tests/util/test_yaml.py +++ b/tests/util/test_yaml.py @@ -3,7 +3,6 @@ import io import logging import os import unittest -from unittest.mock import patch import pytest @@ -12,6 +11,7 @@ from homeassistant.exceptions import HomeAssistantError import homeassistant.util.yaml as yaml from homeassistant.util.yaml import loader as yaml_loader +from tests.async_mock import patch from tests.common import get_test_config_dir, patch_yaml_files -- GitLab