summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2023-03-02 18:22:33 +0100
committerLubomir Rintel <lkundrak@v3.sk>2023-03-21 21:56:17 +0100
commit5ae3dc03a50876bf6123d6344b7320733b7b0e51 (patch)
tree3589fec01ad11ea0d760b5baaec82c5342f9ea5e
parentf8188d51b213e9b53d371b0587716994616a4458 (diff)
test/nm-service: implement applied connection handling
GetAppliedConnection() and Reapply(), both just enough to support nm-cloud-setup.
-rwxr-xr-xtools/test-networkmanager-service.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py
index 2d9aac47e1..04c6c5213f 100755
--- a/tools/test-networkmanager-service.py
+++ b/tools/test-networkmanager-service.py
@@ -825,6 +825,7 @@ class Device(ExportedObj):
ExportedObj.__init__(self, ExportedObj.create_path(Device), ident)
+ self.applied_con = {}
self.ip4_config = None
self.ip6_config = None
self.dhcp4_config = None
@@ -1037,6 +1038,20 @@ class Device(ExportedObj):
def Disconnect(self):
pass
+ @dbus.service.method(
+ dbus_interface=IFACE_DEVICE, in_signature="u", out_signature="a{sa{sv}}t"
+ )
+ def GetAppliedConnection(self, flags):
+ ac = self._dbus_property_get(IFACE_DEVICE, PRP_DEVICE_ACTIVE_CONNECTION)
+ return (self.applied_con, 0)
+
+ @dbus.service.method(
+ dbus_interface=IFACE_DEVICE, in_signature="a{sa{sv}}tu", out_signature=""
+ )
+ def Reapply(self, connection, version_id, flags):
+ self.applied_con = connection
+ pass
+
@dbus.service.method(dbus_interface=IFACE_DEVICE, in_signature="", out_signature="")
def Delete(self):
# We don't currently support any software device types, so...
@@ -1067,6 +1082,10 @@ class Device(ExportedObj):
def set_active_connection(self, ac):
self._dbus_property_set(IFACE_DEVICE, PRP_DEVICE_ACTIVE_CONNECTION, ac)
+ if ac is None:
+ self.applied_con = {}
+ else:
+ self.applied_con = ac.con_inst.con_hash
def connection_is_available(self, con_inst):
if con_inst.is_vpn():