Test IPv4 and IPv6 DNS settings are preserved on auto

Add tests which validate that IPv4 and IPv6 settings are preserved when
in auto mode. This was the previous behavior, but also remains true
today on API level.
This commit is contained in:
Stefan Agner 2024-08-28 16:14:14 +02:00
parent 5e7b5c1862
commit 540ba4b6e4
No known key found for this signature in database
GPG Key ID: 22D95D15D3A36E95
2 changed files with 7 additions and 4 deletions

View File

@ -1,5 +1,6 @@
"""Mock of Network Manager Connection Settings service."""
from ipaddress import IPv6Address
from dbus_fast import Variant
from dbus_fast.service import PropertyAccess, dbus_property, signal
@ -54,6 +55,8 @@ SETTINGS_FIXTURE: dict[str, dict[str, Variant]] = {
"method": Variant("s", "auto"),
"route-data": Variant("aa{sv}", []),
"routes": Variant("a(ayuayu)", []),
"dns": Variant("aay", [IPv6Address("2001:4860:4860::8888").packed]),
"dns-data": Variant("as", ["2001:4860:4860::8888"]),
"addr-gen-mode": Variant("i", 0),
},
"proxy": {},

View File

@ -72,24 +72,24 @@ async def test_load(
assert name_dict["eth0"].ipv4setting.method == InterfaceMethod.AUTO
assert name_dict["eth0"].ipv4setting.address == []
assert name_dict["eth0"].ipv4setting.gateway is None
assert name_dict["eth0"].ipv4setting.nameservers == []
assert name_dict["eth0"].ipv4setting.nameservers == [IPv4Address("192.168.2.1")]
assert name_dict["eth0"].ipv6.gateway == IPv6Address("fe80::da58:d7ff:fe00:9c69")
assert name_dict["eth0"].ipv6.ready is True
assert name_dict["eth0"].ipv6setting.method == InterfaceMethod.AUTO
assert name_dict["eth0"].ipv6setting.address == []
assert name_dict["eth0"].ipv6setting.gateway is None
assert name_dict["eth0"].ipv6setting.nameservers == []
assert name_dict["eth0"].ipv6setting.nameservers == [IPv6Address('2001:4860:4860::8888')]
assert "wlan0" in name_dict
assert name_dict["wlan0"].enabled is False
assert connection_settings_service.settings["ipv4"]["method"].value == "auto"
assert "address-data" not in connection_settings_service.settings["ipv4"]
assert "gateway" not in connection_settings_service.settings["ipv4"]
assert "dns" not in connection_settings_service.settings["ipv4"]
assert connection_settings_service.settings["ipv4"]["dns"] == Variant("au", [16951488])
assert connection_settings_service.settings["ipv6"]["method"].value == "auto"
assert "address-data" not in connection_settings_service.settings["ipv6"]
assert "gateway" not in connection_settings_service.settings["ipv6"]
assert "dns" not in connection_settings_service.settings["ipv6"]
assert connection_settings_service.settings["ipv6"]["dns"] == Variant("aay", [IPv6Address('2001:4860:4860::8888').packed])
assert network_manager_service.ActivateConnection.calls == [
(