Files
supervisor/tests/dbus_service_mocks/network_dns_manager.py
Mike Degatano 0ddce4d9bc Use session dbus for network tests (#4191)
* Use session dbus for network tests

* Don't use session dbus for coresys yet
2023-03-17 14:26:41 +01:00

50 lines
1.4 KiB
Python

"""Mock of Network Manager DNS Manager service."""
from dbus_fast import Variant
from dbus_fast.service import PropertyAccess, dbus_property
from .base import DBusServiceMock
BUS_NAME = "org.freedesktop.NetworkManager"
def setup(object_path: str | None = None) -> DBusServiceMock:
"""Create dbus mock object."""
return DnsManager()
# pylint: disable=invalid-name
class DnsManager(DBusServiceMock):
"""DNS Manager mock.
gdbus introspect --system --dest org.freedesktop.NetworkManager --object-path /org/freedesktop/NetworkManager/DnsManager
"""
interface = "org.freedesktop.NetworkManager.DnsManager"
object_path = "/org/freedesktop/NetworkManager/DnsManager"
@dbus_property(access=PropertyAccess.READ)
def Mode(self) -> "s":
"""Get Mode."""
return "default"
@dbus_property(access=PropertyAccess.READ)
def RcManager(self) -> "s":
"""Get RcManager."""
return "file"
@dbus_property(access=PropertyAccess.READ)
def Configuration(self) -> "aa{sv}":
"""Get Configuration."""
return [
{
"nameservers": Variant("as", ["192.168.30.1"]),
"domains": Variant("as", ["syshack.ch"]),
"interface": Variant("s", "eth0"),
"priority": Variant("i", 100),
"vpn": Variant("b", False),
}
]