Skip to content

Commit 95ddb36

Browse files
authored
Add coverage to verify ServiceInfo tolerates bytes or string in the txt record (#683)
1 parent 00b972c commit 95ddb36

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

tests/test_services.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1332,3 +1332,48 @@ def test_serviceinfo_address_updates():
13321332
)
13331333
info_service.addresses = [socket.inet_aton("10.0.1.3")]
13341334
assert info_service.addresses == [socket.inet_aton("10.0.1.3")]
1335+
1336+
1337+
def test_serviceinfo_accepts_bytes_or_string_dict():
1338+
"""Verify a bytes or string dict can be passed to ServiceInfo."""
1339+
type_ = "_homeassistant._tcp.local."
1340+
name = "MyTestHome"
1341+
addresses = [socket.inet_aton("10.0.1.2")]
1342+
server_name = "ash-2.local."
1343+
info_service = ServiceInfo(
1344+
type_, '%s.%s' % (name, type_), 80, 0, 0, {b'path': b'/~paulsm/'}, server_name, addresses=addresses
1345+
)
1346+
assert info_service.dns_text().text == b'\x0epath=/~paulsm/'
1347+
info_service = ServiceInfo(
1348+
type_,
1349+
'%s.%s' % (name, type_),
1350+
80,
1351+
0,
1352+
0,
1353+
{'path': '/~paulsm/'},
1354+
server_name,
1355+
addresses=addresses,
1356+
)
1357+
assert info_service.dns_text().text == b'\x0epath=/~paulsm/'
1358+
info_service = ServiceInfo(
1359+
type_,
1360+
'%s.%s' % (name, type_),
1361+
80,
1362+
0,
1363+
0,
1364+
{b'path': '/~paulsm/'},
1365+
server_name,
1366+
addresses=addresses,
1367+
)
1368+
assert info_service.dns_text().text == b'\x0epath=/~paulsm/'
1369+
info_service = ServiceInfo(
1370+
type_,
1371+
'%s.%s' % (name, type_),
1372+
80,
1373+
0,
1374+
0,
1375+
{'path': b'/~paulsm/'},
1376+
server_name,
1377+
addresses=addresses,
1378+
)
1379+
assert info_service.dns_text().text == b'\x0epath=/~paulsm/'

0 commit comments

Comments
 (0)