supervisor/tests/dbus/network/test_accesspoint.py
Mike Degatano 0ddce4d9bc
Use session dbus for network tests ()
* Use session dbus for network tests

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

48 lines
1.4 KiB
Python

"""Test NetworkWireless AP object."""
from dbus_fast.aio.message_bus import MessageBus
import pytest
from supervisor.dbus.network.accesspoint import NetworkWirelessAP
from tests.common import mock_dbus_services
from tests.dbus_service_mocks.network_access_point import (
AccessPoint as AccessPointService,
)
@pytest.fixture(name="access_point_service", autouse=True)
async def fixture_access_point_service(
dbus_session_bus: MessageBus,
) -> AccessPointService:
"""Mock Access Point service."""
yield (
await mock_dbus_services(
{
"network_access_point": "/org/freedesktop/NetworkManager/AccessPoint/43099"
},
dbus_session_bus,
)
)["network_access_point"]
async def test_accesspoint(
access_point_service: AccessPointService, dbus_session_bus: MessageBus
):
"""Test accesspoint."""
wireless_ap = NetworkWirelessAP("/org/freedesktop/NetworkManager/AccessPoint/43099")
assert wireless_ap.mac is None
assert wireless_ap.mode is None
await wireless_ap.connect(dbus_session_bus)
assert wireless_ap.mac == "E4:57:40:A9:D7:DE"
assert wireless_ap.mode == 2
assert wireless_ap.strength == 47
# We don't listen for property changes on access points, too noisy
access_point_service.emit_properties_changed({"Strength": 74})
await access_point_service.ping()
assert wireless_ap.strength == 47