mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 20:57:21 +00:00
Use async_load_fixture in moehlenhoff_alpha2 tests (#146012)
This commit is contained in:
parent
33b99b6627
commit
664eb7af10
@ -1,21 +1,23 @@
|
|||||||
"""Tests for the moehlenhoff_alpha2 integration."""
|
"""Tests for the moehlenhoff_alpha2 integration."""
|
||||||
|
|
||||||
|
from functools import partialmethod
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
from moehlenhoff_alpha2 import Alpha2Base
|
||||||
import xmltodict
|
import xmltodict
|
||||||
|
|
||||||
from homeassistant.components.moehlenhoff_alpha2.const import DOMAIN
|
from homeassistant.components.moehlenhoff_alpha2.const import DOMAIN
|
||||||
from homeassistant.const import CONF_HOST
|
from homeassistant.const import CONF_HOST
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
|
||||||
from tests.common import MockConfigEntry, load_fixture
|
from tests.common import MockConfigEntry, async_load_fixture
|
||||||
|
|
||||||
MOCK_BASE_HOST = "fake-base-host"
|
MOCK_BASE_HOST = "fake-base-host"
|
||||||
|
|
||||||
|
|
||||||
async def mock_update_data(self):
|
async def mock_update_data(self: Alpha2Base, hass: HomeAssistant) -> None:
|
||||||
"""Mock Alpha2Base.update_data."""
|
"""Mock Alpha2Base.update_data."""
|
||||||
data = xmltodict.parse(load_fixture("static2.xml", DOMAIN))
|
data = xmltodict.parse(await async_load_fixture(hass, "static2.xml", DOMAIN))
|
||||||
for _type in ("HEATAREA", "HEATCTRL", "IODEVICE"):
|
for _type in ("HEATAREA", "HEATCTRL", "IODEVICE"):
|
||||||
if not isinstance(data["Devices"]["Device"][_type], list):
|
if not isinstance(data["Devices"]["Device"][_type], list):
|
||||||
data["Devices"]["Device"][_type] = [data["Devices"]["Device"][_type]]
|
data["Devices"]["Device"][_type] = [data["Devices"]["Device"][_type]]
|
||||||
@ -26,7 +28,7 @@ async def init_integration(hass: HomeAssistant) -> MockConfigEntry:
|
|||||||
"""Mock integration setup."""
|
"""Mock integration setup."""
|
||||||
with patch(
|
with patch(
|
||||||
"homeassistant.components.moehlenhoff_alpha2.coordinator.Alpha2Base.update_data",
|
"homeassistant.components.moehlenhoff_alpha2.coordinator.Alpha2Base.update_data",
|
||||||
mock_update_data,
|
partialmethod(mock_update_data, hass),
|
||||||
):
|
):
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
domain=DOMAIN,
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
"""Test the moehlenhoff_alpha2 config flow."""
|
"""Test the moehlenhoff_alpha2 config flow."""
|
||||||
|
|
||||||
|
from functools import partialmethod
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
@ -24,7 +25,7 @@ async def test_form(hass: HomeAssistant) -> None:
|
|||||||
with (
|
with (
|
||||||
patch(
|
patch(
|
||||||
"homeassistant.components.moehlenhoff_alpha2.config_flow.Alpha2Base.update_data",
|
"homeassistant.components.moehlenhoff_alpha2.config_flow.Alpha2Base.update_data",
|
||||||
mock_update_data,
|
partialmethod(mock_update_data, hass),
|
||||||
),
|
),
|
||||||
patch(
|
patch(
|
||||||
"homeassistant.components.moehlenhoff_alpha2.async_setup_entry",
|
"homeassistant.components.moehlenhoff_alpha2.async_setup_entry",
|
||||||
@ -54,7 +55,10 @@ async def test_form_duplicate_error(hass: HomeAssistant) -> None:
|
|||||||
|
|
||||||
assert config_entry.data["host"] == MOCK_BASE_HOST
|
assert config_entry.data["host"] == MOCK_BASE_HOST
|
||||||
|
|
||||||
with patch("moehlenhoff_alpha2.Alpha2Base.update_data", mock_update_data):
|
with patch(
|
||||||
|
"moehlenhoff_alpha2.Alpha2Base.update_data",
|
||||||
|
partialmethod(mock_update_data, hass),
|
||||||
|
):
|
||||||
result = await hass.config_entries.flow.async_init(
|
result = await hass.config_entries.flow.async_init(
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
data={"host": MOCK_BASE_HOST},
|
data={"host": MOCK_BASE_HOST},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user