From c13e1e91ce9d16658dd9f3688180b5c4727459f8 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 28 Aug 2024 16:39:51 +0200 Subject: [PATCH] Make network connection setting behave like NetworkManager Update the current settings with the new ones instead of overwriting them. That is how NetworkManager seems to behave. --- tests/dbus_service_mocks/network_connection_settings.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/dbus_service_mocks/network_connection_settings.py b/tests/dbus_service_mocks/network_connection_settings.py index 8324168b2..4a17cef63 100644 --- a/tests/dbus_service_mocks/network_connection_settings.py +++ b/tests/dbus_service_mocks/network_connection_settings.py @@ -3,6 +3,7 @@ from ipaddress import IPv6Address from dbus_fast import Variant from dbus_fast.service import PropertyAccess, dbus_property, signal +from copy import deepcopy from .base import DBusServiceMock, dbus_method @@ -103,7 +104,7 @@ class ConnectionSettings(DBusServiceMock): """Initialize object.""" super().__init__() self.object_path = object_path - self.settings = SETINGS_FIXTURES[object_path] + self.settings = deepcopy(SETINGS_FIXTURES[object_path]) @dbus_property(access=PropertyAccess.READ) def Unsaved(self) -> "b": @@ -131,7 +132,11 @@ class ConnectionSettings(DBusServiceMock): @dbus_method() def Update(self, properties: "a{sa{sv}}") -> None: """Do Update method.""" - self.settings = properties + for k, v in properties.items(): + if k in self.settings: + self.settings[k].update(v) + else: + self.settings[k] = v self.Updated() @dbus_method()