feat: change mips reconnect logic & add mips test case (#641)

* test: add test case for mips

* feat: change mips reconnect logic

* fix: fix test_mdns type error
This commit is contained in:
Paul Shawn
2025-01-14 17:55:49 +08:00
committed by GitHub
parent 2881948076
commit 75e44f4f93
3 changed files with 335 additions and 34 deletions

View File

@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
"""Unit test for miot_mdns.py."""
import asyncio
import logging
import pytest
from zeroconf import IPVersion
@ -12,10 +13,10 @@ _LOGGER = logging.getLogger(__name__)
@pytest.mark.asyncio
async def test_service_loop_async():
from miot.miot_mdns import MipsService, MipsServiceData, MipsServiceState
from miot.miot_mdns import MipsService, MipsServiceState
async def on_service_state_change(
group_id: str, state: MipsServiceState, data: MipsServiceData):
group_id: str, state: MipsServiceState, data: dict):
_LOGGER.info(
'on_service_state_change, %s, %s, %s', group_id, state, data)
@ -23,8 +24,10 @@ async def test_service_loop_async():
mips_service = MipsService(aiozc)
mips_service.sub_service_change('test', '*', on_service_state_change)
await mips_service.init_async()
# Wait for service to discover
await asyncio.sleep(3)
services_detail = mips_service.get_services()
_LOGGER.info('get all service, %s', services_detail.keys())
_LOGGER.info('get all service, %s', list(services_detail.keys()))
for name, data in services_detail.items():
_LOGGER.info(
'\tinfo, %s, %s, %s, %s',