Files
supervisor/tests/resolution/fixup/test_system_execute_reboot.py
Mike Degatano 672b220f69 Add boards APIs (#3984)
* Add boards APIs

* Move boards to agent
2022-11-04 08:22:24 +01:00

34 lines
1.2 KiB
Python

"""Test fixup system reboot."""
from unittest.mock import PropertyMock, patch
from supervisor.coresys import CoreSys
from supervisor.host.const import HostFeature
from supervisor.host.manager import HostManager
from supervisor.resolution.const import ContextType, IssueType, SuggestionType
from supervisor.resolution.data import Issue, Suggestion
from supervisor.resolution.fixups.system_execute_reboot import FixupSystemExecuteReboot
async def test_fixup(coresys: CoreSys, dbus: list[str]):
"""Test fixup."""
await coresys.dbus.logind.connect(coresys.dbus.bus)
dbus.clear()
system_execute_reboot = FixupSystemExecuteReboot(coresys)
assert system_execute_reboot.auto is False
coresys.resolution.suggestions = Suggestion(
SuggestionType.EXECUTE_REBOOT, ContextType.SYSTEM
)
coresys.resolution.issues = Issue(IssueType.REBOOT_REQUIRED, ContextType.SYSTEM)
with patch.object(
HostManager, "features", new=PropertyMock(return_value=[HostFeature.REBOOT])
):
await system_execute_reboot()
assert dbus == ["/org/freedesktop/login1-org.freedesktop.login1.Manager.Reboot"]
assert len(coresys.resolution.suggestions) == 0
assert len(coresys.resolution.issues) == 0