Adjust thread router discovery typing (#98439)

* Adjust thread router discovery typing

* Adjust debug logs
This commit is contained in:
Erik Montnemery 2023-08-15 09:40:05 +02:00 committed by GitHub
parent 71b92265af
commit e6ea70fd00
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 139 additions and 26 deletions

View file

@ -106,6 +106,48 @@ TEST_ZEROCONF_RECORD_4 = ServiceInfo(
# Make sure this generates an invalid DNSPointer
TEST_ZEROCONF_RECORD_4.name = "office._meshcop._udp.lo\x00cal."
# This has no XA
TEST_ZEROCONF_RECORD_5 = ServiceInfo(
type_="_meshcop._udp.local.",
name="bad_1._meshcop._udp.local.",
addresses=["127.0.0.1", "fe80::10ed:6406:4ee9:85e0"],
port=8080,
properties={
"rv": "1",
"vn": "Apple",
"nn": "OpenThread HC",
"xp": "\xe6\x0f\xc7\xc1\x86!,\xe5",
"tv": "1.2.0",
"sb": "\x00\x00\x01\xb1",
"at": "\x00\x00\x00\x00\x00\x01\x00\x00",
"pt": "\x8f\x06Q~",
"sq": "3",
"bb": "\xf0\xbf",
"dn": "DefaultDomain",
},
)
# This has no XP
TEST_ZEROCONF_RECORD_6 = ServiceInfo(
type_="_meshcop._udp.local.",
name="bad_2._meshcop._udp.local.",
addresses=["127.0.0.1", "fe80::10ed:6406:4ee9:85e0"],
port=8080,
properties={
"rv": "1",
"vn": "Apple",
"nn": "OpenThread HC",
"tv": "1.2.0",
"xa": "\xae\xeb/YKW\x0b\xbf",
"sb": "\x00\x00\x01\xb1",
"at": "\x00\x00\x00\x00\x00\x01\x00\x00",
"pt": "\x8f\x06Q~",
"sq": "3",
"bb": "\xf0\xbf",
"dn": "DefaultDomain",
},
)
@dataclasses.dataclass
class MockRoute:
@ -177,6 +219,24 @@ async def test_diagnostics(
TEST_ZEROCONF_RECORD_4.dns_pointer(created=now),
]
)
# Test for record without xa
cache.async_add_records(
[
*TEST_ZEROCONF_RECORD_5.dns_addresses(created=now),
TEST_ZEROCONF_RECORD_5.dns_service(created=now),
TEST_ZEROCONF_RECORD_5.dns_text(created=now),
TEST_ZEROCONF_RECORD_5.dns_pointer(created=now),
]
)
# Test for record without xp
cache.async_add_records(
[
*TEST_ZEROCONF_RECORD_6.dns_addresses(created=now),
TEST_ZEROCONF_RECORD_6.dns_service(created=now),
TEST_ZEROCONF_RECORD_6.dns_text(created=now),
TEST_ZEROCONF_RECORD_6.dns_pointer(created=now),
]
)
assert await async_setup_component(hass, DOMAIN, {})
await hass.async_block_till_done()