mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2026-01-14 05:10:44 +08:00
Merge dfc99b10f3 into 310029d8ed
This commit is contained in:
commit
c3f399f46e
@ -5,23 +5,39 @@ import asyncio
|
||||
|
||||
# pylint: disable=import-outside-toplevel, unused-argument
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_network_monitor_loop_async():
|
||||
"""
|
||||
Test asynchronous network monitoring logic of MIoTNetwork.
|
||||
"""
|
||||
|
||||
from miot.miot_network import MIoTNetwork, InterfaceStatus, NetworkInfo
|
||||
|
||||
# Initialize MIoTNetwork instance
|
||||
miot_net = MIoTNetwork()
|
||||
|
||||
async def on_network_status_changed(status: bool):
|
||||
print(f'on_network_status_changed, {status}')
|
||||
miot_net.sub_network_status(key='test', handler=on_network_status_changed)
|
||||
# Define handlers for network events
|
||||
async def handle_network_status_change(status: bool):
|
||||
print(f"Network status changed: {status}")
|
||||
|
||||
async def on_network_info_changed(
|
||||
status: InterfaceStatus, info: NetworkInfo):
|
||||
print(f'on_network_info_changed, {status}, {info}')
|
||||
miot_net.sub_network_info(key='test', handler=on_network_info_changed)
|
||||
async def handle_network_info_change(
|
||||
status: InterfaceStatus, info: NetworkInfo
|
||||
):
|
||||
print(f"Network info changed: {status}, {info}")
|
||||
|
||||
await miot_net.init_async(3)
|
||||
await asyncio.sleep(3)
|
||||
print(f'net status: {miot_net.network_status}')
|
||||
print(f'net info: {miot_net.network_info}')
|
||||
await miot_net.deinit_async()
|
||||
# Subscribe handlers to network events
|
||||
miot_net.sub_network_status(key="test", handler=handle_network_status_change)
|
||||
miot_net.sub_network_info(key="test", handler=handle_network_info_change)
|
||||
|
||||
# Test the network monitoring functionality
|
||||
try:
|
||||
await miot_net.init_async(timeout=3)
|
||||
await asyncio.sleep(3)
|
||||
|
||||
# Log current network state
|
||||
print(f"Network Status: {miot_net.network_status}")
|
||||
print(f"Network Info: {miot_net.network_info}")
|
||||
|
||||
finally:
|
||||
# Ensure proper cleanup
|
||||
await miot_net.deinit_async()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user