Skip to content

Commit 6b9a6ce

Browse files
committed
feat(mdns): Console test for changing TXT records
1 parent 43de7e5 commit 6b9a6ce

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

components/mdns/tests/host_test/dnsfixture.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,16 @@ def parse_answer_section(self, response, query_type):
8585
answers.append(full_answer)
8686
return answers
8787

88-
def check_record(self, name, query_type, expected=True):
88+
def check_record(self, name, query_type, expected=True, expect=None):
8989
output = self.run_query(name, query_type=query_type)
9090
answers = self.parse_answer_section(output, query_type)
9191
logger.info(f'answers: {answers}')
92+
if expect is None:
93+
expect = name
9294
if expected:
93-
assert any(name in answer for answer in answers), f"Expected service '{name}' not found in answer section"
95+
assert any(expect in answer for answer in answers), f"Expected record '{expect}' not found in answer section"
9496
else:
95-
assert not any(name in answer for answer in answers), f"Unexpected service '{name}' found in answer section"
97+
assert not any(expect in answer for answer in answers), f"Unexpected record '{expect}' found in answer section"
9698

9799

98100
if __name__ == '__main__':

components/mdns/tests/host_test/pytest_mdns.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,5 +104,20 @@ def test_remove_delegated_service(mdns_console, dig_app):
104104
dig_app.check_record('_test2._tcp.local', query_type='PTR', expected=False)
105105

106106

107+
def test_update_txt(mdns_console, dig_app):
108+
mdns_console.send_input('mdns_service_txt_set _test _tcp key1 value1')
109+
dig_app.check_record('local._test._tcp.local', query_type='SRV', expected=True)
110+
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key1=value1')
111+
mdns_console.send_input('mdns_service_txt_set _test _tcp key2 value2')
112+
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key2=value2')
113+
mdns_console.send_input('mdns_service_txt_remove _test _tcp key2')
114+
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=False, expect='key2=value2')
115+
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key1=value1')
116+
mdns_console.send_input('mdns_service_txt_replace _test _tcp key3=value3 key4=value4')
117+
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=False, expect='key1=value1')
118+
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key3=value3')
119+
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key4=value4')
120+
121+
107122
if __name__ == '__main__':
108123
pytest.main(['-s', 'test_mdns.py'])

0 commit comments

Comments
 (0)