1
0
mirror of https://github.com/home-assistant/core.git synced 2026-07-03 04:36:04 +01:00
Files
2026-06-18 16:59:41 +02:00

64 lines
1.7 KiB
Python

"""Common fixtures for the MELCloud Home tests."""
from collections.abc import Generator
from unittest.mock import AsyncMock, patch
from aiomelcloudhome import MELCloudHome, UserContext
import pytest
from homeassistant.components.melcloud_home.const import DOMAIN
from homeassistant.const import CONF_EMAIL, CONF_PASSWORD
from tests.common import MockConfigEntry, load_json_value_fixture
MOCK_USER_INPUT = {
CONF_EMAIL: "user@example.com",
CONF_PASSWORD: "thatyouevenlookedheretoseethepassword",
}
MOCK_REAUTH_INPUT = {
CONF_EMAIL: "new_user@example.com",
CONF_PASSWORD: "newpassword",
}
@pytest.fixture
def mock_setup_entry() -> Generator[AsyncMock]:
"""Override async_setup_entry."""
with patch(
"homeassistant.components.melcloud_home.async_setup_entry", return_value=True
) as mock_setup_entry:
yield mock_setup_entry
@pytest.fixture
def mock_melcloud_client() -> Generator[AsyncMock]:
"""Mock MELCloud Home client."""
client = AsyncMock(MELCloudHome)
client.get_context.return_value = UserContext.model_validate(
load_json_value_fixture("context.json", DOMAIN)
)
with (
patch(
"homeassistant.components.melcloud_home.MELCloudHome",
return_value=client,
),
patch(
"homeassistant.components.melcloud_home.config_flow.MELCloudHome",
return_value=client,
),
):
yield client
@pytest.fixture
def mock_config_entry() -> MockConfigEntry:
"""Mock a MELCloud Home config entry."""
return MockConfigEntry(
domain=DOMAIN,
unique_id="user-uuid-1",
title=MOCK_USER_INPUT[CONF_EMAIL],
data=MOCK_USER_INPUT,
entry_id="config-entry-uuid-1",
)