Files
supervisor/tests/dbus_service_mocks/logind.py
Mike Degatano 9d4848ee77 Add an admin only device wipe API (#4934)
* Add an admin only device wipe API

* Fix pylint issue
2024-02-29 10:29:52 -05:00

34 lines
872 B
Python

"""Mock of logind dbus service."""
from dbus_fast import DBusError
from .base import DBusServiceMock, dbus_method
BUS_NAME = "org.freedesktop.login1"
def setup(object_path: str | None = None) -> DBusServiceMock:
"""Create dbus mock object."""
return Logind()
class Logind(DBusServiceMock):
"""Logind mock.
gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1
"""
object_path = "/org/freedesktop/login1"
interface = "org.freedesktop.login1.Manager"
side_effect_reboot: DBusError | None = None
@dbus_method()
def Reboot(self, interactive: "b") -> None:
"""Reboot."""
if self.side_effect_reboot:
raise self.side_effect_reboot # pylint: disable=raising-bad-type
@dbus_method()
def PowerOff(self, interactive: "b") -> None:
"""PowerOff."""