Fix host reload test (#3945)

This commit is contained in:
Mike Degatano 2022-10-12 15:46:51 -04:00 committed by GitHub
parent f3d1904e28
commit 7c1f03932e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,8 @@
"""Test host manager.""" """Test host manager."""
from unittest.mock import PropertyMock, patch from unittest.mock import PropertyMock, patch
import pytest
from supervisor.coresys import CoreSys from supervisor.coresys import CoreSys
from supervisor.dbus.agent import OSAgent from supervisor.dbus.agent import OSAgent
from supervisor.dbus.const import MulticastProtocolEnabled from supervisor.dbus.const import MulticastProtocolEnabled
@ -10,21 +12,28 @@ from supervisor.dbus.systemd import Systemd
from supervisor.dbus.timedate import TimeDate from supervisor.dbus.timedate import TimeDate
async def test_load( @pytest.fixture(name="coresys_dbus")
async def fixture_coresys_dbus(
coresys: CoreSys, coresys: CoreSys,
hostname: Hostname, hostname: Hostname,
systemd: Systemd, systemd: Systemd,
timedate: TimeDate, timedate: TimeDate,
os_agent: OSAgent, os_agent: OSAgent,
resolved: Resolved, resolved: Resolved,
dbus: list[str], ) -> CoreSys:
): """Coresys with all dbus interfaces mock loaded."""
"""Test manager load."""
type(coresys.dbus).hostname = PropertyMock(return_value=hostname) type(coresys.dbus).hostname = PropertyMock(return_value=hostname)
type(coresys.dbus).systemd = PropertyMock(return_value=systemd) type(coresys.dbus).systemd = PropertyMock(return_value=systemd)
type(coresys.dbus).timedate = PropertyMock(return_value=timedate) type(coresys.dbus).timedate = PropertyMock(return_value=timedate)
type(coresys.dbus).agent = PropertyMock(return_value=os_agent) type(coresys.dbus).agent = PropertyMock(return_value=os_agent)
type(coresys.dbus).resolved = PropertyMock(return_value=resolved) type(coresys.dbus).resolved = PropertyMock(return_value=resolved)
yield coresys
async def test_load(coresys_dbus: CoreSys, dbus: list[str]):
"""Test manager load."""
coresys = coresys_dbus
dbus.clear() dbus.clear()
with patch.object(coresys.host.sound, "update") as sound_update: with patch.object(coresys.host.sound, "update") as sound_update:
@ -45,10 +54,11 @@ async def test_load(
) )
async def test_reload(coresys: CoreSys, dbus: list[str]): async def test_reload(coresys_dbus: CoreSys, dbus: list[str]):
"""Test manager reload and ensure it does not unnecessarily recreate dbus objects.""" """Test manager reload and ensure it does not unnecessarily recreate dbus objects."""
await coresys.dbus.load() coresys = coresys_dbus
await coresys.host.load() await coresys.host.load()
dbus.clear()
with patch("supervisor.utils.dbus.DBus.connect") as connect, patch.object( with patch("supervisor.utils.dbus.DBus.connect") as connect, patch.object(
coresys.host.sound, "update" coresys.host.sound, "update"