mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-04-19 07:58:09 +01:00
Improve connection settings tests (#5278)
* Improve connection settings fixture Make the connection settings fixture behave more closely to the actual NetworkManager. The behavior has been tested with NetworkManager 1.42.4 (Debian 12) and 1.44.2 (HAOS 13.1). This likely behaves similar in older versions too. * Introduce separate skeleton and settings for wireless Instead of having a combined network settings object which has Ethernet and Wirless settings, create a separate settings object for wireless. * Handle addresses/address-data property like NetworkManager * Address ruff check * Improve network API test Add a test which changes from "static" to "auto". Validate that settings are updated accordingly. Specifically, today this does clear the DNS setting (by not providing the property). * ruff format * ruff check * Complete TEST_INTERFACE rename * Add partial network update as test case
This commit is contained in:
@@ -10,7 +10,7 @@ from supervisor.dbus.network import NetworkManager
|
||||
from supervisor.dbus.network.interface import NetworkInterface
|
||||
|
||||
from tests.common import mock_dbus_services
|
||||
from tests.const import TEST_INTERFACE, TEST_INTERFACE_WLAN
|
||||
from tests.const import TEST_INTERFACE_ETH_NAME, TEST_INTERFACE_WLAN_NAME
|
||||
from tests.dbus_service_mocks.base import DBusServiceMock
|
||||
from tests.dbus_service_mocks.network_device import Device as DeviceService
|
||||
|
||||
@@ -61,7 +61,7 @@ async def test_network_interface_ethernet(
|
||||
await interface.connect(dbus_session_bus)
|
||||
|
||||
assert interface.sync_properties is True
|
||||
assert interface.name == TEST_INTERFACE
|
||||
assert interface.name == TEST_INTERFACE_ETH_NAME
|
||||
assert interface.type == DeviceType.ETHERNET
|
||||
assert interface.managed is True
|
||||
assert interface.wireless is None
|
||||
@@ -108,7 +108,7 @@ async def test_network_interface_wlan(
|
||||
await interface.connect(dbus_session_bus)
|
||||
|
||||
assert interface.sync_properties is True
|
||||
assert interface.name == TEST_INTERFACE_WLAN
|
||||
assert interface.name == TEST_INTERFACE_WLAN_NAME
|
||||
assert interface.type == DeviceType.WIRELESS
|
||||
assert interface.wireless is not None
|
||||
assert interface.wireless.bitrate == 0
|
||||
@@ -118,7 +118,7 @@ async def test_old_connection_disconnect(
|
||||
network_manager: NetworkManager, device_eth0_service: DeviceService
|
||||
):
|
||||
"""Test old connection disconnects on connection change."""
|
||||
interface = network_manager.get(TEST_INTERFACE)
|
||||
interface = network_manager.get(TEST_INTERFACE_ETH_NAME)
|
||||
connection = interface.connection
|
||||
assert connection.is_connected is True
|
||||
|
||||
@@ -133,7 +133,7 @@ async def test_old_wireless_disconnect(
|
||||
network_manager: NetworkManager, device_wlan0_service: DeviceService
|
||||
):
|
||||
"""Test old wireless disconnects on type change."""
|
||||
interface = network_manager.get(TEST_INTERFACE_WLAN)
|
||||
interface = network_manager.get(TEST_INTERFACE_WLAN_NAME)
|
||||
wireless = interface.wireless
|
||||
assert wireless.is_connected is True
|
||||
|
||||
@@ -167,9 +167,9 @@ async def test_interface_becomes_unmanaged(
|
||||
device_wlan0_service: DeviceService,
|
||||
):
|
||||
"""Test managed objects disconnect when interface becomes unmanaged."""
|
||||
eth0 = network_manager.get(TEST_INTERFACE)
|
||||
eth0 = network_manager.get(TEST_INTERFACE_ETH_NAME)
|
||||
connection = eth0.connection
|
||||
wlan0 = network_manager.get(TEST_INTERFACE_WLAN)
|
||||
wlan0 = network_manager.get(TEST_INTERFACE_WLAN_NAME)
|
||||
wireless = wlan0.wireless
|
||||
|
||||
assert connection.is_connected is True
|
||||
|
||||
Reference in New Issue
Block a user