Use async_load_fixture in moehlenhoff_alpha2 tests (#146012)

This commit is contained in:
epenet 2025-06-02 08:59:19 +02:00 committed by GitHub
parent 33b99b6627
commit 664eb7af10
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 6 deletions

View File

@ -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,

View File

@ -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},