diff --git a/tests/auth/mfa_modules/test_notify.py b/tests/auth/mfa_modules/test_notify.py index c79d76baf4fffbf3d1e054b460ae833418f22d61..65ee5d5d0c5baadf88ff31e103990134fac8c7e3 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 d0a4f3cf3acaf98e4a8e47373e5d0374477272a4..b14b20297ebb912f6d5862d9c99f85668c59dfa8 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 edcd01d51e1fc54be10396122660ec2559ec2d71..f303a59179ba415e8f98b453a7067065cf1c0771 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 aabc732daa2e6fa56bc6a0247938920325165bef..157a5441bb104506c4354e555638b094b3babd00 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 ca546157c933a5f866dcbd018e4ada07fbadfa7e..d64b211f304c3af57b2eb62aa8973f9f8e6a2b4b 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 8b11671a4560b8f055b90db677226ae649378dae..0e843c590232902885efb2f344aec9a9c39fec33 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 d9762296e7081bf09ad04c836b992c746f7843c7..01508d412a27542376eb0ba0280dc89f6e300a7b 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 bb1b8fceffb4d6028a08e4dce81c2148a8035c1a..b166ec5464aa4e5960af7476fd34abdfb4b76750 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 3f73ccd77ce455b48fed1e8ac8c295d920f330ab..1598e7bfa91aefe0fdcc40834c7e539d8f452678 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 f0eee4b209bd62444c674a2b65dd01db807b0180..6506746783c2c8bc154c57ee3317833d02c7ff28 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 45e17861d33216be7e6726532c85247edc48b4f2..6850eebe0cebb84c3d6390b6dcd48a067cf2bcab 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 3ec9648d87de0c09e7d9a9ca0810cca757868603..5c480b332254aa34cc0931b197349aaaed1e5408 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 c49b6ad11e9c07718983296119074f9b32cc0a97..85c80dd0b1c426b3509e78c600043ccf16a6fa85 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 c9f2c271000a854e6a9ff7e7230a5350740601ea..fa4f6ffbed69ac856f4c41272129ba0a475973be 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 e73b65661c92220b9a1844c29be17a086d8d817d..1c93158ec0378c1a6dd30db2cf3ea8ea9936559e 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 61092899e248d9ad00ca10ed4b51278b5c1ee5ce..5c69e19435e8035b68dd5cc094c2a89115fb4b27 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 8135f4e8e2c2e536d6efb940cc4fbdc41d247287..125971016cbfd98af85a03f90a6f506f3a926c2c 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 dc0cf09f28d2c27f5184d90e77feb266240c9084..95cdf4befec1c10c7c109bf377b4f66006567a8f 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 15b85959ff057ae1a83bdf004513e919acf2cc8d..e75db4a57dd84cb8a1f527aa5f8bfadd435ecb87 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 c860b85c2409231da944fa5ea9dda1c765d677c8..9885c9081dd3acd586ad0c6154718f3784a06617 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 b9d1959d18a68740ae53b9a7d3130ae80269e689..ec035b9ec38bac33ad9e02fffcab21f6046b1c35 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 2c9a39c6fb62f0680f90b3142408f20a56c29941..3d799fe0078508dbe2a66e9fa62af6ee5b2cde8d 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 e6e5281d601ffa7c84ad542408a0e8f854074a1d..f2629a27bb990caa3e6d7c79727994d83a8386d5 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 b0db66e16a96bb81c3d7bc0b7195fcb2b29070c6..d7bdfbeef3e87ffad2f4ac7e078cd4e84a7a63cc 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 a039604525f96708bbffbc044cda311542806e82..7a082ba1931b90ceedbe19b58a7a711cb892b085 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 1173de4b02ae88b082b30a824cb4c5145a514ebe..46b774c1cc9779e4fb4bd515f58f4f82e92cb64f 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 033ce44e5a43c8b76d695c562d9a10c66a12bdb7..0d591c967bed0ef4436eafe90d204670eeef9dce 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 4cb2672ab64de253d3473e8bcda54a5722ea6842..4efb19ff2015bbe6daf1d1bb0f986fba51e75ecd 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 ec8d504652bcf568a247ca9fba2770e9e0eca52e..0ba85467fcd0c85c608fd56d6710604ba3cd5672 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 5803f31d5260d325a66757d7699d3e013951091d..b8baf18a67d37e8d4af55d54475e4d25bd6a695e 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 844cfedf7fe927134bd2281a0c5e3f2ea241262f..d8d69265f3a25b2922565003af45071b8ef9dde9 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 1ac24e037024c22266ea0f5d866440624e214af0..968b54b7892ce693be958fc5aed74307cc314983 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 308371c9aaaa9e78128299fd1d3be427faaace81..af4df4633391d84a3be86c3897cc9cfbb51e176d 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 7a9daa26c2b6b2092525316f98d5086c5faed9af..6e85dbca1cd12513adb386e58a7df9cd5a7d2e78 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 1bdad193f5254940144912cdb23057a276b36400..c5477dff49f2ee6bcb93c63c87294f23e237304c 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 8e88c6e564e988de1c105b04ad6bb098c2e655fa..1b6c21c7358376ec5737086ae017c26e66050f72 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 401350ec93cf418d0304a56118e2fbef37fee8b5..3eaef6575ac2f0b5ab56798380a46cfddfd7c983 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 819d1ce0e90715b3560dd896e6a3d3f868ced0ae..a3f6fbd7e2d8e3e4fe44e7a03fe1cee6b7201432 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 1d559dbb7ba613719b1355564ab81769c7f002c3..5a4a82ccc5a170755b7cabacb0c5d61ef9ea1cf7 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 2ec02da766960a50c3444e9d90dde1008c24aaf9..50685d5f3e7480a1cf2bb07485fb47ae9f360c68 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 b5ec45d3aa056fde78ed8ca60964f7ba6e0f2f93..e42bf8c7e3cd76fa7b2e9365d235c184cc67c83c 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 4755d470418fad06e63f45d82194260f0b2f727d..02d9b4c41aab33c69d128be1d8d35f55aa4cab16 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 38c3067873fa1a882edcc21701d512ff60dc12ad..6a2d76dc4034ab855f1da434a2d881278816d74e 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 9866270473de0f7aa545848db4587c92fddc09fe..3808f9b179cb233b4f18e3984eb1b05a2d2d6fb4 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 d1b6f9ed867dab9dfcdd9bea4ca0933f2007ba60..4f2d5d6d6610e242e0b798077f7dcb81f1357407 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 9d1e89fbc243706ba9500f33bc31306227cae6bb..8997bc4a5d605a54df762e500a75937a6cc1a151 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 0cb7e9293e95cbcc687dfa238b256cea9c8cc3f7..f20011d4482f583ef3db4cc71a21d687f01fab52 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 b923be81888eda915247f279a8e020d9d6bc4605..bbf69dc73a0b51ec3dc8f285b5b64aaae5ac953a 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 f555660fb7a4f2769b1fa711b38e1384a7151322..98ad2041713cc0fca9ed655a0a0207c80b080db8 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 0026729766c5bd31d1023cedd575111b16808ba2..4dc906e92f3e992055c7f3c972063ef6d01c3275 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 3624554843a77f450bbbf6dad09b3c72559b8a38..75a66f61939b5e9e64eef0ef14b5847800b98369 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 aea78f17564af73b209ff8c3f6f229f84c74d0d5..996aef3db4b35eeec18d9d29ac398e78dbffb708 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 2dc2a3ff30b6bf9b676e6e76e1d33e1373f7863d..b4707af01b2e439e975eaf93149634ba76687144 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 09ffe7bdc90a756a9a4774f554312a784470a6b4..f871d424db62cc971280292a301c07544b0501b4 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 8e0862eb0cb71c8c1b7c0dafd931cfbe202def81..00fb1c1047bfad73e06bd3d51b2be800055527a1 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 d46d1fdc62b524ffda716fc0b010e765ce18d943..49b8e017f1ad80080db93580d70565dbad3a86c6 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 5d5f2fc810655a7a75e7b7cd39e63496ca823b35..0ba3a35b8917ba1014c8aa79f901c774fc965ec3 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 e30d65112e8e120fc715918e703d10e51f707a06..7c7b7fa0aa1412f3838482177f94bce19caacb44 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 91bc2abf94d7ce88ee71d89396fd2a593d274ac6..1547391a339235664ab3ba6b3ab4901776f27141 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 466f07a9deba4abc1df896eda2d6ede452a6c050..96fee84126aa60651de53ad9dd251252b69c8de1 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 5c2a71ad88fa99ca7b56e4c6b3ef6ab23c5e18b0..c8c508a0d887aa7e0e732f0f7c757b2f582b2e39 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 936a1e6803766bc21773a24c90d49a9d8b1ead6e..895a95bef7b3f202c64b25ace572e18e57cefa2f 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 052228e7aabf6e85f3ca3baf882f4ad7c6969a1f..67baed7878e61216c762152e203c3a66f9082cde 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 6fa6d9695390ca4cc2912f9c593f8c840880cf33..b1cf2aacb1bc3b01141bce07ff447a877d4828a8 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 889f6437b0ac593337c980b14ef647dc7baeb8bd..2557ecac2ddef362a5af6a8feb1e96febec5594e 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 61c93690548f7f0fdb8dcbbfda5388fc0916d874..5ff29194adf41ea7ec27bbc7d3bdaf1cbe29074d 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 8d58519ddf9aaa6804e7a01c50eb3c37acadba73..92952a5d840bbdc2bbe62cbf8a1cdf1a44b2c3bd 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 8506cd2d81712099364c5742f1b34c7874dceef4..b40211d5a91cf27dd1ec6bbac5031b57beebddd3 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 fc8bfc318bb52c4d5e0f66497539475eae10af07..b164cc93f2e253fe12a51b414d0ba205ac387c13 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 58a660fcb5d0f903eead2925e0e21b1cf36bf9d8..823bdf6eb6347ff21547fe737e590aa077821930 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 3c6a2fbb92d7c6121492b24e0e880233e98520bd..4187fe561cc29798b61dc08f1614dc34c5df4005 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 9a316a85735b52cc24e60bd965cd2c2befce4827..b57232d25ad65effbc9072412673194124216e9e 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 bd5ae68cb3729ae41bd43d1aa347f549c56bacd7..e4ae125949a7cfdca2129760c3e9907de372fedd 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 3afdd8284fc4964e6451220de44059511a92d2a6..416f3e8c72168911e93cfa594fbbfe3bc6786008 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 06bf7cfaf1277b31ce457a392e99d5be41f7669f..238cb366f734eb740129561663b67903d6055a0d 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 fa2cfc6d3f10412820ca6e14450b0c2aa01ceb8a..997bac23f22e0e6a2870101499fb49778d36e3c3 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 37a0310d1634b5900017e6e0cd79fcc88513c05f..0a145c884792623dac1ac828b36c1910e050e43d 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 e813469cbbfb4d81e8eb0b10d89bd015250957f5..7581b03ce729ff058ccf33b13f2f1ea8bf3cffc1 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 f19e05b84dfee4f8b0aeb25b3d4121c146fe6d50..066b9a30cb30c75c0fcc444f94fcf5b83bd5d140 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 591c10375256d4966793163448446e7b37b35963..7dcee1383827691c5ced575fa8d5753a781f1b28 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 89c1dea170440b09576c91a4024dca13f74021d8..b3157a3be33a784c7a45298fe4af9959058dbb17 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 627eae5da918552b26480afaa733217e087e8692..519e3afa31a690150af2980f0e77b111c5eaf7fb 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 8bfd992347f51aebeb0ee59175e5653195a589e5..35b41d521182802f73ae00415321379299fded88 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 11067c1aa51bf592e7719731a9f1fc0261c19719..55dab3626db338a243a545562493beea8a7110e2 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 6dde22f074e45d5f1b75615a37f27365eb589bfc..7f97e8abfb1705b89b77791ecb06a871916bc702 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 1c0f7b3f37a9d576d04b90c41e4814f312bb3f3a..c9e05b2d481a5d72b075ce41cae1de394faaead7 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 276b6f46871c1ee46fb3ad38e0826bb2a55f7a70..1c383d4343abe437b12bcd988019af09a77e5979 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 6e61b86dbb7c4b855ed5d699545df5d03572a53e..648ab08507b66d871ae85e7debf544e46aed475c 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 25243afea7898442e5fdef9b92ac72687b2dbc99..9f7cdd3faabd134c9ca2c462b297dc310edaac08 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 b988d613d6cd8ae60b3b23eca0336ab6829ca217..bdb5b49d11b39d260a4c4b2a09e8502534014606 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 424c6372ea8c6f4c55f976c1862c45f882cc33ca..82cb62b3939749c4e57270798b8a90b6a781c91a 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 708b69e003190df69f5b966a50acdf61b3792097..023cab46ec87acc8a9c09a0d1c4d45cb47a98a93 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 20cb13130ec63fd192b4ba6130f94271cded99c8..6ec75ad53f68eda9f9997be8eeda83af4a81b3ff 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 ad7b6b12001e56bebdec905a7cbbd8d23341464e..92f03396965a001bc45aa09e3ea1f5cf9c2a7db3 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 59a9f9f5ab20ced478b16074e3cd6bd86792c363..6f7ce74ce6218921177eb2b1610280320174664b 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 f133db26d89234d2c2aef45a312fad27f0b6cb15..f4e54176b195e2d23e063c6380da2ba0a8d5e12e 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 6703852528c4d37c0768c1f36b11d9fa32f62fbe..280258125dfb225ff8319926583ff10c6f39e279 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 22059706dc50bb4a136a391565d540a071645149..69db8de184bcc7053bb6a66358d6ea4957d004db 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 9135f583d19d4cb740baf868cd32b909e3660540..bfdc087193ede721b94a228a1c6f3f7784705b05 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 88be3723936fe97ffdf4a34f0d1047ec6fc10dfa..19b8c165f37d5ca7f3cadbe703e99c303397ef0d 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 467bd1ede955bb220bb9178a3232c7e3e5399a16..c4d98ad37ccbe3f1ea0fc089bff03437c9e88c13 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 ed807ed57d9b20f1b3a6f57d94a9c815111d6003..70dab4472eddb87e66bf0e57efa80cde01651701 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 f029ec9d2fa9e0d02c20028e45de755a4c82d858..0925b318c9e77eff4b6d334eb416925c54c7e6c5 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 58bbc94876e275a543ae24b7f69327c168b8dcbd..13422cd082624a41d6217738c9c2c64e9be4ab53 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 93f909d3bd4dc7afcc174de797df58a375e64f98..9cdb57999518e80674f20775da0e1155e2a3f7fa 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 a5af24eb8680e7c5d3cf6eff81507d1ccff70bc3..7386cf57d0ca6fb1abd13a5038f8bd201cc90173 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 cbaed220f11a7bb6261457148207565362348e18..4583079829aeab4b91dbce51ff6c11fe5680e323 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 d399f5b67aac51762c43fae098bba7b5cae80a6b..fd2922e94feae022c6487b8b3f5b9ccb95a05fa0 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 b2687b2bd509f5e64243d51889f4ad0ae52c3288..29e43c8428ef8ff3920dd1345154016702209c33 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 588e0df81dbfdad4ec34580066cc07f451b8d912..d9f489d20b48878818b0653cc18775ff7414c684 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 1371db87b3d6ae706f42fab29880b9c7dd9bfaf9..6234d425d8da4a885bdd7aa478d1f34421dd9d3a 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 6453bbbc788037b88b9a9979b8567a481faeb11e..8f38332f1124bc6f30fa802e34bef09af4671e80 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 7093bebf9abacca78c250707f90966b2bd655d53..d23bda67cee3239e2cf96ca2ae9282199b8a0526 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 e2fb79f56ce0e991a1d32fa1d1c81bc4a0a10c5b..55b7f764d760935855086ac1a414e00ec5e9e44e 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 286fe51535e6abd7eb6713ac81d6be4c0516adcd..634c098b8f04a9c2be3b3a8226707e7a736c8539 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 e5bee83a0ebe231371837384bcf33441955e4e10..7bdfa0b14bde2cf0b97855ab1de92a803729aec0 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 4d2ace24eab87d3587e2b142508109d6c868eead..6d5b0f9841b6eb57010eee3ae7eb48cc19f8c822 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 82abed32c0e2165af3ce9ef7042ce43816bcca14..8a303ede8769529a8c32717e1c1a22591813edf3 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 4a62eb76c27d5a022fa1caeaacdb0ddb09a9b147..d3faa7614353ec4fcb11ee9579e3b1cf7543df9f 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 408bfd325c1b916b447f2f7579360477e9f00574..9282bf4587be1e89f4d46f32b2158209bf953ea6 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 d13581e12a2d1dac70922315758da329ed43751b..702912dd9d0748120e4db720add043b61a183bbd 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 04447191fd5a8a41b05868dd4a218ed54cdd8874..191cdb0ba49db68f1e5bed4b338738f1633ca4e8 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 71b4b95cd8eac603e64cc2b55ede32f9146ce21d..b0a14a31bc59e9451389b28c8903a4e4a3b0362f 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 58e6d8824dda739dcffaa8ba77571e82a05ca74a..651783ec47ea7874db00bd00ad7524467f84f2a8 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 b298fff66744723cfd242adac7f2824000cd11d0..a6e4bdc12c8f4b1c89f5256283197062f5aaba00 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 fa7c4ac473dfc691e4995db88424ace437f03973..52ae43d65b4ea8cc3519985ffbcf710e848b25d9 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 b5ea2e4e0eacb00ffef48a3fab91786527961ca5..4ba4ecb06a69a42b222fe2dc8691e5245f1a3b6a 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 85ef00520294c56069c8e020c5370396e1679b1e..630e74cb1af7ead03d463efa82dbf6a73aeedfe1 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 576bc365d508b1659f6bfae428d6136516495364..e50ac71c03a2807d9e222f0adf1a596eaa12fadc 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 2230cc2ea3263d0957ea768a56f4105d30aa9992..2ed9006cdb6495bd3a855a89e29418581e3d7e5b 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 4bce35d0a63e69634b6a0eb58240eab2d2fd95cd..3123ead4eeb6e506bf77e92a1fe3da8f29ae2e00 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 d10df2492d42dc6dfc58f7b560ce27dd71bf8e11..e5fd8841a2b4152875e40a31ddea4d5378b005f0 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 c2bd357ecc8042ec5cf72345d6fd856ce0735191..8b9852ea2347f2551838df7a13557acbe1f39cd4 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 a2a2ec2d7a6d35e525d0b0986613523aca589d75..cc708db75dbf9079460399e2dd8d4384015da847 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 c0bdad3eacda63488ba9a00d2d3b294c3c7297c8..1e3150e687a9b9fa3a7b8ef475df74323ba92b99 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 afee32702c4696bcdc61f59f6e86058167664b97..0eb4d7485631ed2142856bf0f12bdba59265504a 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 28b9d27d23fd0569d2e133c7d55b9c1b77bca84a..8971439de748d27d8e1bf81782f9e8a04856f189 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 5c470ca5bfc97a6107228caf105dd9e2d7b64c92..6f83de340f305d0ecc283e3fd875d167a3a94583 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 cc226dc1d8741cb3a76500b0ad6d0f9d66cb00d3..ed89ccd7087b4426dcb62dc76b21d01f092b8cc8 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 3afa5c14c22af43803b82dc6a589cc05e9b19a48..c36a718ffb4c450dbd05bb1a6036502f7a2af357 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 a56178e5225fb418d0fe431607951d1af7897e1b..204075ecb8ce5c1cd6e254cb6a1e6f33ff80fbf3 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 e91e83b315e294177f98830400ccd9aaffe9712d..9fb9333e045d945905d0d10ba901d7d36cd24e13 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 0579664ae7be60839e84be5be67d08ad87bc3f7b..147d7e6ef1d0d450dabdaf7ced107cbb4224b853 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 592086461d36108f544fd2b28ce71d08021e9f5c..8e18579b197daf08cb90a2c953afc67d845102bd 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 e505623512778ebe7c50f3f10df9f1d4ecfb7363..8656ac23264fb50d11cba64e46eecfbfd871caa2 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 d7718ad33f06612f852132b4fded253175dc686d..b1ac7ea12fc921f128ee5e66a7f78664d0fa1380 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 55e6d5453c784ec0cc4310e8ce0e00da1233ba09..2fae36dc670d8689562e713875f8c54c1515a572 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 c2ce8e947dd689dc6d4430b93dd20771ec4cc582..7ae70a6f152a61040db07dd0e1908de8ac0528d9 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 24645a326117329fcf462332042a67030f5ca18c..998ef7851c12c6744390bfdd6e74c860bd5948e6 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 e53949ef518d33a417bb41dec24394704c43e360..87452d6289325f0c1afebe60965785e3b48e39cf 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 f77f01a4ae7cb62a7a8afbeb34d0ea007e90b6b2..93e3ff78d2bc98345a6a28fee8b0158f0c9e6851 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 8278a77d4d0be50e3ef9bda78b86c447abfe93d3..f39f0da7d99ccfd81cc361e351aa4e5cd219ac70 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 63ef2e9f5f89999464046e2d543cf67fd75c9873..05b6a84cc0c1d466823f42cc7d3bf0ba36f3a47d 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 8509ad37fcd2838e92a118b9f5d02c4ea2edb614..fb8c909eac57ebc5e010ecca2179ac81423600db 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 ebe5f73669eae63635a3ffa062443f17edbdeb6c..a8ea57cbb6bcbfecdbc867e1318e1d54a584430f 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 7ed67dcc0d275f46940ac3c39626bf800c499abb..8b98772dfccb4e7fa625d493092e6bff3166e1c6 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 22dceec312b756c5c7bdc3aba613d2a7fe3e9a3c..d3e26597d848675eba904820581af45dee80b072 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 1ac6bca91c4c4dc15a478092251ccb1cf00dc202..bff3818af566535afde6d9b066f1d80ce76858b0 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 00c565aca8c2eeeafab840bf82ae1067dc203b29..874cc29ab7a6495846e4659342b7488ca0edd4fb 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 088587ab2c2896bd3c3b0a7eaa014f8d0951303b..75c294775ed08369558fa10838aa588e989eb3a8 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 f9ead2c1ef394f12aaef45879bd81a74e22ea7f1..d4381073209a26c1a032fc9713013a8c9260fa00 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 05f175fc1914835d0368db59e320f8ac50e4845e..ff9c7fa7182e9cc5333b7389890376238ecb4b30 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 42469b1b5acd37a45461208ac295624fa51c6332..414e0b8b50b9635048418ed88a53fc3eeeb3145d 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 598144f5a250630cb89fc351de36558729200de4..05d462f02a0488053d4bf8cf2fcdfc9e0836c2fe 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 37dbfad4d35c14373fb22e2d4439bbb96672adcc..b47bb941af43701b82b22c1fc0f71890598bb903 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 a1f3e107152253ab1834170c512415dad92aa34b..88f7418d2d412fea6ce08df8947efd1a2c24b400 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 631c5b407343bf2d18bc6b393ace782627391aac..2dd385f0253dde4f4e8a7c4d88507f409e176a2c 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 aa6ce354a32a50fc5783f03057775ed25a318cea..699edfe899ce960adb0eaee998465a3c51a2b4ed 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 1e19d0a4d83cc1a356c64bec6de809c0595b4812..89d5a8f798cc3477c30111454528ff23faf4583e 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 11fb073f57a1b325d37668e4bd0fca29a5ab9a41..7c07abb8d350ad1b922be7cb75a21164b3f6c39e 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 1d485c4be133299cc41a0b3ee90a9cb52f4d286f..9ae13a426b99c9cd6dc0d37c7eebf45bedca342c 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 949d77c244ddf69fef8ee02bb4e887fda41c8c8d..4bc3bc1a9378ea9bb18c1958b86fc4af58c4db01 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 9d8ede4f51652044d893e10b9c99f030fa538b38..8c75d77efb83c7e38343471fa348c5a08fb25268 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 34d3c33f8d72f03904b935684cde3ac9b30d5243..1acc7656a8bb5285ff9fb4f825c36f57c670c820 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 eeeab823744cb80df74377f49a56fe9dcca34c32..8050535eed4ce4963067f708a550ef11f2702c27 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 b3155e563f4ec4b4f472ebcb2c053a830ea2a45b..f11786951f6ae184c53d6d39fac565b1035a0fe3 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 6be413294f16454ba5e9552bc6a0104034af4620..aa9ef0d5de8f64746d2460e6e1acbb6ea1192c93 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 59db79c1052ac815c759f628f450b86c79a2ea70..be69e0853ad5a3c623094a0486cdcb704a4f0916 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 8fa6ad059450d9fd6a1f46f62ecd317386be9841..182ef98e52923eb7550f5098efb4bfc26f2114f1 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 bee9db445e26f9e18b283f44b77cfbc3476d9ef1..dd709618ec0d05a34587b368df093b91dd311d0e 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 11a3d469a59ebfecffab49b769594bc29fdde6c6..2d348204dcc4df7d188ed960bef0a0e37b8d2fbd 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 a5167104d48b69ce911fc54fe4d49e064a844eab..584616967c46510d6c19db566bebcc9c93bf1ba4 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 01128610462eaa7368709091de9810e40db8b734..4a7a86732301f21448c44da1a48ca57e4e99b6d4 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 ac8428ddf48be6e8f8be77d0c5a685922527b27f..74f84eb200ce741eb8d1804c628c411ef729c669 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 91ed8d7ae5ccb5412ba4f91d34adec4fbd878f4b..7deda0e7edc1c8e5be99a7fe8cdfe265a28a2e8d 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 24a0f0610af5ec526e23cc088406808caddacf98..e616ea4fe4ec34145efbe2a09e4e699fc307827e 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 2c06ac0c4e7f8bd0cbfe12775cae2ef9161f3abb..6d5139caa14a90b5ddf6065532a2b86969787325 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 cc7c3f58e82b76722af1de7371c56a470f4449ae..0e7731dbdc02871e4847ec4de855b685deb057e6 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 3e02ac3703a4bf5f790ca44bf880a309b01749ad..263f2def9af7497429fc6c87850d5a06c9dd1951 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 5f7161089f6b3cc66997c629e61edf7f1ed3c006..c2abd6730657ca0f59a89da69f9580ac04db8e0e 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 236e8eadde82335c71cc5496cf928309805c95b5..3ff16001d869a1b0672c7d6c7c992449474e5207 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 d9b4f4859bbfa8aafde547b9ec345077c226a827..53b1ec3a94d979f041123b18b9ab48eac83bc469 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 9df686cfcbd40c9aee276f02ea8ac0c26ad9a16c..93e1bb540db778a78736dbcf2f40c2fad03cadaa 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 4c731c1f704e67e293c79362b1ed2d8f1c959f4f..930d9261f9c794bf5282653ec36a7f95a1465c11 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 fbbe87fee5f5b93838761dc787dfb743224acfd3..d76f74f64a16baa977c45aebcff0db6c6a3062a1 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 fdab7fd10082aac4a85e283e1bcec10153a6f9c1..7ef50113de5d3b52c003ad546c17201896ca2705 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 d122fef0bd2a1508497cb11e1cf29fcaac90ce83..90d2ac67faf080ff066179e88bb3b3470a7b86d1 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 afcd2f1180252dbb0cee3a4e96518b326bb349c9..15518afbc2d5477d91fa27ce1b5551355b973b80 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 c18476a92a9d34ce727c4b78e3b789533fc13270..0e76e99e72148c457932d1617bf593fac177460b 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 a11b571dd83b6efd2fb23704f4910567e1dc0c33..975da102ca624b94f0d7dc0b58a6160a18fc0795 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 34e0231d75acf8cd00b4f523cc2fe74b98ba1323..1931a367ee8768d87d86abbb4357dee05a4a156b 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 d10dad43d7518d5f54b6968423fcfef9590a69b3..d3cf69fc994b4226eae8a62d5ac9f1d94c1774ae 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 e0993b8cffc3d29b1728789ba82da7fa5b56ef82..4ec08c432b0dca3af9eebbc27a7125b7e057dc39 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 eca146f3efa64869257fd64e4e4c45e3bff77b5a..8de5acd78dbe6ccb1a3fbe63390e8db177287b6b 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 51de8229347ceee24c507b146c0d89b79c3b9391..c2620aa906def701f4b354ac97aef757beb401e4 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 ba1c24cf6f89ea8cfd34d59db59729df032133a8..2bba18f0052bf3191714bd5cce2e49c3ddf09bb0 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 a4850793ca765b17b3ebd242fb97d26942be4c06..65ae36c3843ad50819fb5cb5d35b00b06858f615 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 cd2a911292c3322e7275a3a9fcfb03f757ab9383..c3ed8cea1b9c01b04aa703ec2d157dc57b84bcb2 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 788e6d4981f70d4c3eaec89c856640835eee0218..6a5a0b7f0e2941068ca6d8240c5b0f0a61a20053 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 5946adc90a6c0776765455bdeccb58a889446b2d..fdc60ca726292cc7e47bff78f64c67a6b540ff0d 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 93a6e4f91e0e2b24a74843a8fbfedba4e9669cb8..39b5c33967797165180151c895b4f4ad8efceec5 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 0b73c739503879c0100911669e3e06b5366ac956..8edaf2c229b01bf3dff50132afac7f8c827513b3 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 e4a4d4ca2395ff7cc004960ea98af03c6ac1dd7a..8dbe43a25ffa404a9a643d955eda28c702566423 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 dbfd19795e8c33bdced36dc2efd43db8e0d4ca71..a44be249f223858aba226b1f90d6a01e446b9e87 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 5dc0fd5698ba760ac18d76efa0606e27159f619e..2448b20b084fc81051538cbe5bcf70451d6d376d 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 b8c3a2cd2e8dc4c711a407080cdadd51e6f7bdf9..fbafe8aad7d6558d6c6acfe26d76851a8706715b 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 6626be41a6b8cbdb50de7d140e239c721a6a9a7a..9c1c0972facf14f8b727591968cfcfc7ea3d4140 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 a049dfd2fbf66383a1e852515dad1597dd6fbbf3..d94cd7e4063098cef06d398c52b13d7231dc50e8 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 6f21584032431e0dbf050fa1684ef47748935a07..92c9e13fb8af34bbe5d22a810fc80d7f5d701810 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 450ac7e6ef0d51c0e5c072c608a1c5e801f67330..e6b523d96bb716075d312f2a0b98eac529151691 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 6c7e41a4728137e5e9a3c5d6578e2c3d4d7705ce..f74d47a21c13fab8a3bc1d45b2ef4a056cd95bc2 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 759639362e417b56c8e1eb6248dfe0813ad8f8d6..61bc5f9ac6c8d06fe8c6d6581d57abbc61ef352d 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 1d00f83a608492b7a399cb8e2b8c747b2cee5bd1..929463ecf811dfe4ca6cc5147b4df69c9b1e7249 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 f195b640240a1941e55ab1ba8b47096a1036c2e6..1823cb3c3ab5e60d652a112d08f3a1a2564d0b86 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 1629a3d29c2589cae64b6ec1da2fa5760ab71443..96585f870684126f3ce81e8e74a98a9788e9e608 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 bc3cc1bc977557e742229d65159794b14034592e..0d796cd878523e567ecd342e1db44a8cfad53f7b 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 3644ca462cadcbef1f2a6383b4058adeee2c8441..7115151451fc9976d7fadca80dac742c22f76160 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 61a0abb6265b2a6fbd1f35ef35b12a655a52e357..721cf71303da8b4db2e1a50251f9d413aca88062 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 12fa8e8a4d6fc29a718d569d71501a447a2a79bf..dc7892e069ac9f6ddb66a15774e33230467b65b5 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 95eeeecf7ade1f0c04b6de869835b69b3f898a94..fbbeaf0ff449c3212a49a018272bf0038ee0e941 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 e04de7e2578ff514811d6dcbf0b466a912bfaf79..e023814725b4e54ae13d27f92835e70461df63fb 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 fe32fca9cb745958c911f3ee891d01b346057f59..e4e8564f5bbe81ce1faa9853291852052758a8f4 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 7829a3cc999fa2350b56e8c35b462dcb4b32375e..67c3cab659e43852fb23b34cda26b1d022540a90 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 795348d900c86491b7f8c25521aad6105ade0c0e..66fc943920efb60e6beb93901f7f996e22c6a5ed 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 6408b1625f5a20e04393f7ecda2c70fcde8f98cf..009701ca8860daffd96b4b76d4540b2880b34a01 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 2dc16ad79c723f618cf3d11baf7a44e957b029bd..4cde4d9ac31371acad943a6c02507566221e63de 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 8e79d4e514d6eef8b4fbab6eaa1458a7d1edd513..b06652dc53f8e7249d945c3a3924bb5a04b05b71 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 2aae99f93a5bd484f99864ffc1bf50fd6e77d3e2..80a081cd524f93095bcb80188e1f7c9ce1052077 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 dea116b3905a67d32bfa84a3c29da82db9714083..75bafba634f005130a9500e8547e1b7fde98f3e5 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 1da0c16d43c9cec3cb78bc7259267f9f1400c9ac..4febd1aa8d15798247ad22fed3d2bb2adb0b5518 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 45d16908446ba6126f563bba8a631be896cbeaed..fdf97243a3a2540ba2ede147281e48ff500d9420 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 b77198fa9b203f98f94c3d9a53ffe4044544e86a..80cfe7a81f8b223cb5caaa17cf43053b545aa9a1 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 ef4f1d22a2d556b718a54e561c2683519cbf64f0..a2bd7ef87ff2b1db9f0154a11f1e4240a9336ada 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 0986362ba28e086e6a4d567a1ad814a9d24ee956..241789270d7d7826d22620c8a8e0e5c0127cf0db 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 a13a3d25a6c64ed3e66ead1062fd4fa0f6b36d87..2804d90ac33429be3345040242656e998a9bf798 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 e4bdd140faa92cf53cb31d40f01c14faf4f33d48..8ffc25aba5a710f9a0122633a693dbb63e4a2b93 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 bb790b025ead529511fd296332f13cbc890c93ec..4436a6adf21d1cfecc09bfe98d6a11a8c1ce8aa5 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 75881e113d789b94284dd286d7f19053123fab49..ab66260a55e3359e56e162c8a1205ff054aacaac 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 d78cf793d2fc0b66a2293fedba0df422ab63b1ee..fc93df0aacf5cfe6459909884d41f6e7b31d4195 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 61bb78a0827ebdb0523bea034f08c6808d1268f9..3fbf1245fa3d99267841eb1f621748a58645bfe8 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 ee7f072a65c7c54f4075a66f26867ba0f035c1ad..185139077df8a2d0840d962635785dc1199c4570 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 6c656f874d0cc31de2ece625e733f510d0e98aa6..3e777fa3d03fea318d8697b5522f3a0a5631cfc9 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 0a9d227681b1bec77b4b71d3ee83bb8d8a8ca732..111114d8aca60e6c9dcab612ccbbe4fdf8a82089 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 4823d2eb2da70dd598cba8bb8acd9f3ae3862e76..9bd718d1933c4576be61485aa0d92dbc973346ad 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 f6c1e6c8ead2b884029f3960db1dfc0ee2bc7373..7116077177a8aaf341c8f13aefb161544a80c6eb 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 6118d74d0dd8066a16e3a1fb4784ff7bc5fe55c8..d7c888802ed483e33156c25f214583dfaf388327 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 daeffb4ed1d2d75a3904c36cff317c7d92eec001..3bccacc0a94faabd12686bc36cffaea6d27628c4 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 72651d6eda4f7490529e49f1cbfd0a27df23eb6b..4b0d41d9a1eb9ba4c44d12d4cc08bc4f113db3b3 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 9e5fa983ed053fc8405b39d4f100642bfa11f001..f52bf375d8eb1d13b258ae44be3ec3a38331058c 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 5f4536decec93c3bb6c6e1302d372f1e1860daa6..3915d4d0577c4ab2e09dbe4e19fce30aa6ad1524 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 62cd47f831cdc3e09e09106c1ac02305a51df423..a2dae2bd7f808b664463284612b92f13b78019fd 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 fefa07ffa6ee40525ec8ba0475a23dcf2adf51ca..14194d0af52891c2cb3729a66810f795045aa42e 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 d1b2209294a375ba84dbc2bbc2d2f9f03711e1fa..901e09040e9d91e6fa64406a494bd27a6f193758 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 732a331681bdb234e3f297a57c836c65f15c38cd..8f96b7a133ad595ab5ed3a0327dfb0acb99c12db 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 c915c5ead0fd173e0c1e08bb0c1fa0b63217545e..cb50ad82789abe96897a4ba9568cb060fcb3d846 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 c41afad4759f8f3f909933ed4fbf483791245a54..2a8bfe68185f1c6e91575dd1627ac0902e45ace2 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 611adde19d9fd392244bae662bd51bf34db380bc..139ac01a1c6c1d7ce2bafbd901b8011746e4be15 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 d41bbab20379b28375562527b7cb4c1fc4ce07d9..decce67dc11899e04136badd22e3941007b7478c 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 164b4090e5ff8231da02eb89a5ba2a5578bec0d5..471043ae3ae33dbc4c5111e443d908f7e07e76a1 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 39b847effc5645b1cc2d5919f1d28ee3219192e6..aedf94da4abfe481788441c82d9a9a5ee3736775 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 b4a2148b8daa52b6061816000cea22ac8205ae50..7a2ff1d1c7ac771e93fdb3d00e349dd74527ca16 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 f57926f30c843c2fcb13e5d056d1ba317b7308f4..609cdbf6a9ed27277046b3aa85b695139da5bae7 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 e371e785c928449570fe574d8d5eaa9d308206b7..6035ac547afd0a3e924b3221206cbc2242161814 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 80fd05a41ccddfb4a27341fa8264533a663d4600..1ced0fec82f195aaf6a4de51770b5d2945c92353 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 6a5c382a2d2b59285fc028f6d91880617b92d99c..594617bdfd9a81e41a2621d12517de07e23a95b3 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 e0f12f9c7f8ee28d679e50cda38697f0f40b43ec..ed4045bcb4479a3d22d1fb132425d983fe1d10f4 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 733ed32da787c4e6534d4cfe15e9a77dd6c59a91..7d4ce563b039c7d60f16080114ec4f8d1e2c9b05 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 cc889eca064c84bda753cba649661dc82c797ad7..e43957695625953e0db883ce54a404f11e607935 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 041c0e76533f9d644fda9ec456eb20e246e561e9..2d656de8eeb0b3361052c086965d75a63d11491f 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 f0f3a16033248c1111fce55d51a14969509fc01d..f0528c36005b75da96b073e805321844c6138004 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 29d5e4f03ef8998b2a2d480a5b6376bed23f5e93..c476c9fd0e04a7c809f329f24177bbbce8943a5a 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 023deb93c81c0307455b3b2d65b4079869c1a858..619293be67626f9b58aaa1410f16c743c708877a 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 6b101167c85c209e252252fafea778fa6f361ffb..2f47ddc7355b13c2ad737404dbe08d7459326609 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 992185bf1024a5317ee036ec0cd1a8c4075af262..d940e782be44029f94f3a3867276bb892cab7d13 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 d676e88bfc32231060445d7a7bdee3ae5a9a73df..d8dcbe367de5b4616989f8271c36068ca92466f0 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 9b139317825585a4dd23723433767ffcd7ddc08b..4efc6538d7c2fc322cc876fed00f3682e85045f1 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 399982df37a3606b4112d251bce6e740f35bcd6d..b110656c1dd8398ca0e90ab24a1131965162d24f 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 915ace7c7f2b595b1fbb552b4df5dbbbfcd590c1..a1a081d7e8b78382d72042689c4c579ebb55502d 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 f80c55f776793dd241f2cde45da4d2506460ee7a..50edcfec1571ad37207647abdd2e634c84e19afc 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 54270cdc3f4d192a2435b78a92ada1633c0c2e57..8ac6370ad35e09aa70b361993a93fe31b0a7fff4 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 e8b784feefe73075ac5e149da726a61c5d45cef5..cde0957e2b352fa732deb04f2a395408f02966af 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 b71758469d0feb0d27f8371b5d48b115d775edd1..19733b045dca366a27d90e24ce02518345226047 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 fc62ef880f65a8d889673f28dd5084c5df562d9b..1b973294daff7498419b9eab739b639e72ed63ac 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 d5b6d0a0d275dd8fe05822767337f7d6fa49ccdc..2f82bcb2764aed7aed31b7e8c5edf4ffd79018d7 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 4d117179328d56dc3427b7111a730ecce54e685b..8306899ce02e1e254c7edd39de31da514c1a47d4 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 4293a4a23fd04add8321b49af865531586a559d6..b61c456ccb950732777013e775e2a0da21629649 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 7a5d606bcc8b6ef1ef9134faec2cf2c613dcab72..ffc055446943680787ce5b6cfea2f3490e99d26e 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 03c3965fad7dbf6d91ccf022fa5ef7e70072dd31..c4b87b667faad58cbb5107e0aa698654e6ebed6e 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 a72f3f51ee78f95a508ed50b403bf5a78122c565..9826d60025f8f82669416062f7059b156810e90b 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 1d0824628492fffbb37eb7101f8df418879ab561..bee463092fff16e45fd1917c0730cea69e85b518 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 38410c3bf0fdf1e874db27aab8c24da858f927b9..c7e903f7b167dd8fc247eff1cf84929aa39cc079 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 f81d20ecd662a9a1e6493eee8b0d1d8c28bff0a3..30f991db724fa3f58748ea323e687f8f49eecc7c 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 dd734bb0dcb01b77823d62b45efd3151cdd85487..70b72b1752f0220ee043eaa0654e33e2667461e2 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 b2bfd1f48ffacd8d7fcde9fe6fdd97a3e918eb78..9afb8623f18b2ed62982e7df3e65c4aa9478fc97 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 f6e375acf0b3367d2f1229433c6d0e627f5073f3..654cf8483dbc13529dc9a2eac0f17fbcf68984fa 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 d6c844c0d914eb06716321d61c3cd76b1be655cd..6f0e56d34c869a14315ab6949880d8c329f89762 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 d4c5366b87948211a132867f756745a5ef8cc59f..0fef40a82f41c3d8e4afa8d3b7a9a3867840007a 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 d8202b88b46045f5346566b4ce7a0b7891d78b4f..b19669d13f4c4251ddf587949ea94199e2239e85 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 b8ecd1ed86aa9648f88ef10193e86145b11bfded..a877c7cdb006a95ca2b6935f3141c7d22ebd1357 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 6b3e0774bd85b09ed2886098e96a3871627477b9..a698c7af6e7e34fc929b16e4295247bd41c3b4e4 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 9089f1597612922427fd796d2cb7b5f87761509b..1049108f9de62abe0b369a94009b1bee63930a1a 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 3ab194508793e2ac3ac5fd5f95a038cbdd6bb57c..c9ada99dc29c9aa8249130cd91052712dcb43c9c 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 737c3b56ecf38d6f28de6bf766f37218b1ffe21b..d28b5f6953001f4aee2addc1328ac51fe0d8a54a 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 8feef2d33844e2f29cd1b333c963602ca97c7f14..2c14bfdcf0a4a2fe83b2c3435b56b1f3b9c8792c 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 5ec6460301f1c492423ff27dce1ed4464f5b332b..40c34b77b50fd92074bfc1b5974f8509d71a2b06 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 33280895ba2f3fefad6fcd1d7e6feac43cdbd906..b60b4097c52041fc824de61a57c879afca553d66 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 2ffca07082bc21a248bb1349033e525af46542d9..ef5ecd898d773e4bf58784078089cafca06f85d6 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 258f266ff78c54a91828e2bcf9d365230167afcd..c2b6a428515529f2d18bfc00c6671e101435492c 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 140859ccb7352a2a6d6a079d59c3d5d563676875..4d6f4ce3ac9168a23d6daceb340c04c28594cd01 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