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