test: add test case for miot mdns and network
parent
ad7f9eb610
commit
9d95379f83
@ -0,0 +1,30 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""Unit test for miot_mdns.py."""
|
||||||
|
import asyncio
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from zeroconf import IPVersion
|
||||||
|
from zeroconf.asyncio import AsyncZeroconf
|
||||||
|
|
||||||
|
# pylint: disable=import-outside-toplevel, unused-argument
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_service_loop_async():
|
||||||
|
from miot.miot_mdns import MipsService, MipsServiceData, MipsServiceState
|
||||||
|
|
||||||
|
async def on_service_state_change(
|
||||||
|
group_id: str, state: MipsServiceState, data: MipsServiceData):
|
||||||
|
print(
|
||||||
|
'on_service_state_change, %s, %s, %s', group_id, state, data)
|
||||||
|
|
||||||
|
async with AsyncZeroconf(ip_version=IPVersion.V4Only) as aiozc:
|
||||||
|
mips_service = MipsService(aiozc)
|
||||||
|
mips_service.sub_service_change('test', '*', on_service_state_change)
|
||||||
|
await mips_service.init_async()
|
||||||
|
services_detail = mips_service.get_services()
|
||||||
|
print('get all service, ', services_detail.keys())
|
||||||
|
for name, data in services_detail.items():
|
||||||
|
print(
|
||||||
|
'\tinfo, ', name, data['did'], data['addresses'], data['port'])
|
||||||
|
await mips_service.deinit_async()
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""Unit test for miot_network.py."""
|
||||||
|
import pytest
|
||||||
|
import asyncio
|
||||||
|
|
||||||
|
# pylint: disable=import-outside-toplevel, unused-argument
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_network_monitor_loop_async():
|
||||||
|
from miot.miot_network import MIoTNetwork, InterfaceStatus, NetworkInfo
|
||||||
|
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)
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
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()
|
||||||
Loading…
Reference in New Issue