Files
supervisor/tests/dbus_service_mocks/agent_system.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

36 lines
953 B
Python

"""Mock of OS Agent System dbus service."""
from dbus_fast import DBusError
from .base import DBusServiceMock, dbus_method
BUS_NAME = "io.hass.os"
def setup(object_path: str | None = None) -> DBusServiceMock:
"""Create dbus mock object."""
return System()
class System(DBusServiceMock):
"""System mock.
gdbus introspect --system --dest io.hass.os --object-path /io/hass/os/System
"""
object_path = "/io/hass/os/System"
interface = "io.hass.os.System"
response_schedule_wipe_device: bool | DBusError = True
@dbus_method()
def ScheduleWipeDevice(self) -> "b":
"""Schedule wipe device."""
if isinstance(self.response_schedule_wipe_device, DBusError):
raise self.response_schedule_wipe_device # pylint: disable=raising-bad-type
return self.response_schedule_wipe_device
@dbus_method()
def WipeDevice(self) -> "b":
"""Wipe device."""
return True