mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Use spec
for Whirlpool mocks (#143416)
Use `spec` to cleanup unecessary mock function definitions.
This commit is contained in:
parent
30b7e36f10
commit
44f2897919
@ -1,10 +1,10 @@
|
||||
"""Fixtures for the Whirlpool Sixth Sense integration tests."""
|
||||
|
||||
from unittest import mock
|
||||
from unittest.mock import AsyncMock, MagicMock
|
||||
from unittest.mock import Mock
|
||||
|
||||
import pytest
|
||||
from whirlpool import aircon, washerdryer
|
||||
from whirlpool import aircon, appliancesmanager, auth, washerdryer
|
||||
from whirlpool.backendselector import Brand, Region
|
||||
|
||||
from .const import MOCK_SAID1, MOCK_SAID2
|
||||
@ -36,12 +36,13 @@ def fixture_brand(request: pytest.FixtureRequest) -> tuple[str, Brand]:
|
||||
def fixture_mock_auth_api():
|
||||
"""Set up Auth fixture."""
|
||||
with (
|
||||
mock.patch("homeassistant.components.whirlpool.Auth") as mock_auth,
|
||||
mock.patch(
|
||||
"homeassistant.components.whirlpool.Auth", spec=auth.Auth
|
||||
) as mock_auth,
|
||||
mock.patch(
|
||||
"homeassistant.components.whirlpool.config_flow.Auth", new=mock_auth
|
||||
),
|
||||
):
|
||||
mock_auth.return_value.do_auth = AsyncMock()
|
||||
mock_auth.return_value.is_access_token_valid.return_value = True
|
||||
yield mock_auth
|
||||
|
||||
@ -53,16 +54,14 @@ def fixture_mock_appliances_manager_api(
|
||||
"""Set up AppliancesManager fixture."""
|
||||
with (
|
||||
mock.patch(
|
||||
"homeassistant.components.whirlpool.AppliancesManager"
|
||||
"homeassistant.components.whirlpool.AppliancesManager",
|
||||
spec=appliancesmanager.AppliancesManager,
|
||||
) as mock_appliances_manager,
|
||||
mock.patch(
|
||||
"homeassistant.components.whirlpool.config_flow.AppliancesManager",
|
||||
new=mock_appliances_manager,
|
||||
),
|
||||
):
|
||||
mock_appliances_manager.return_value.fetch_appliances = AsyncMock()
|
||||
mock_appliances_manager.return_value.connect = AsyncMock()
|
||||
mock_appliances_manager.return_value.disconnect = AsyncMock()
|
||||
mock_appliances_manager.return_value.aircons = [
|
||||
mock_aircon1_api,
|
||||
mock_aircon2_api,
|
||||
@ -91,12 +90,11 @@ def fixture_mock_backend_selector_api():
|
||||
|
||||
def get_aircon_mock(said):
|
||||
"""Get a mock of an air conditioner."""
|
||||
mock_aircon = mock.Mock(said=said)
|
||||
mock_aircon = Mock(spec=aircon.Aircon, said=said)
|
||||
mock_aircon.name = f"Aircon {said}"
|
||||
mock_aircon.register_attr_callback = MagicMock()
|
||||
mock_aircon.appliance_info.data_model = "aircon_model"
|
||||
mock_aircon.appliance_info.category = "aircon"
|
||||
mock_aircon.appliance_info.model_number = "12345"
|
||||
mock_aircon.appliance_info = Mock(
|
||||
data_model="aircon_model", category="aircon", model_number="12345"
|
||||
)
|
||||
mock_aircon.get_online.return_value = True
|
||||
mock_aircon.get_power_on.return_value = True
|
||||
mock_aircon.get_mode.return_value = aircon.Mode.Cool
|
||||
@ -107,14 +105,6 @@ def get_aircon_mock(said):
|
||||
mock_aircon.get_humidity.return_value = 50
|
||||
mock_aircon.get_h_louver_swing.return_value = True
|
||||
|
||||
mock_aircon.set_power_on = AsyncMock()
|
||||
mock_aircon.set_mode = AsyncMock()
|
||||
mock_aircon.set_temp = AsyncMock()
|
||||
mock_aircon.set_humidity = AsyncMock()
|
||||
mock_aircon.set_mode = AsyncMock()
|
||||
mock_aircon.set_fanspeed = AsyncMock()
|
||||
mock_aircon.set_h_louver_swing = AsyncMock()
|
||||
|
||||
return mock_aircon
|
||||
|
||||
|
||||
@ -133,13 +123,11 @@ def fixture_mock_aircon2_api():
|
||||
@pytest.fixture
|
||||
def mock_washer_api():
|
||||
"""Get a mock of a washer."""
|
||||
mock_washer = mock.Mock(said="said_washer")
|
||||
mock_washer = Mock(spec=washerdryer.WasherDryer, said="said_washer")
|
||||
mock_washer.name = "Washer"
|
||||
mock_washer.fetch_data = AsyncMock()
|
||||
mock_washer.register_attr_callback = MagicMock()
|
||||
mock_washer.appliance_info.data_model = "washer"
|
||||
mock_washer.appliance_info.category = "washer_dryer"
|
||||
mock_washer.appliance_info.model_number = "12345"
|
||||
mock_washer.appliance_info = Mock(
|
||||
data_model="washer", category="washer_dryer", model_number="12345"
|
||||
)
|
||||
mock_washer.get_online.return_value = True
|
||||
mock_washer.get_machine_state.return_value = (
|
||||
washerdryer.MachineState.RunningMainCycle
|
||||
@ -160,13 +148,11 @@ def mock_washer_api():
|
||||
@pytest.fixture
|
||||
def mock_dryer_api():
|
||||
"""Get a mock of a dryer."""
|
||||
mock_dryer = mock.Mock(said="said_dryer")
|
||||
mock_dryer = mock.Mock(spec=washerdryer.WasherDryer, said="said_dryer")
|
||||
mock_dryer.name = "Dryer"
|
||||
mock_dryer.fetch_data = AsyncMock()
|
||||
mock_dryer.register_attr_callback = MagicMock()
|
||||
mock_dryer.appliance_info.data_model = "dryer"
|
||||
mock_dryer.appliance_info.category = "washer_dryer"
|
||||
mock_dryer.appliance_info.model_number = "12345"
|
||||
mock_dryer.appliance_info = Mock(
|
||||
data_model="dryer", category="washer_dryer", model_number="12345"
|
||||
)
|
||||
mock_dryer.get_online.return_value = True
|
||||
mock_dryer.get_machine_state.return_value = (
|
||||
washerdryer.MachineState.RunningMainCycle
|
||||
@ -179,5 +165,4 @@ def mock_dryer_api():
|
||||
mock_dryer.get_cycle_status_soaking.return_value = False
|
||||
mock_dryer.get_cycle_status_spinning.return_value = False
|
||||
mock_dryer.get_cycle_status_washing.return_value = False
|
||||
|
||||
return mock_dryer
|
||||
|
Loading…
x
Reference in New Issue
Block a user