mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-06-25 17:31:33 +02:00
feat(mdns): Console test for changing TXT records
This commit is contained in:
@ -85,14 +85,16 @@ class DnsPythonWrapper:
|
||||
answers.append(full_answer)
|
||||
return answers
|
||||
|
||||
def check_record(self, name, query_type, expected=True):
|
||||
def check_record(self, name, query_type, expected=True, expect=None):
|
||||
output = self.run_query(name, query_type=query_type)
|
||||
answers = self.parse_answer_section(output, query_type)
|
||||
logger.info(f'answers: {answers}')
|
||||
if expect is None:
|
||||
expect = name
|
||||
if expected:
|
||||
assert any(name in answer for answer in answers), f"Expected service '{name}' not found in answer section"
|
||||
assert any(expect in answer for answer in answers), f"Expected record '{expect}' not found in answer section"
|
||||
else:
|
||||
assert not any(name in answer for answer in answers), f"Unexpected service '{name}' found in answer section"
|
||||
assert not any(expect in answer for answer in answers), f"Unexpected record '{expect}' found in answer section"
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -104,5 +104,20 @@ def test_remove_delegated_service(mdns_console, dig_app):
|
||||
dig_app.check_record('_test2._tcp.local', query_type='PTR', expected=False)
|
||||
|
||||
|
||||
def test_update_txt(mdns_console, dig_app):
|
||||
mdns_console.send_input('mdns_service_txt_set _test _tcp key1 value1')
|
||||
dig_app.check_record('local._test._tcp.local', query_type='SRV', expected=True)
|
||||
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key1=value1')
|
||||
mdns_console.send_input('mdns_service_txt_set _test _tcp key2 value2')
|
||||
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key2=value2')
|
||||
mdns_console.send_input('mdns_service_txt_remove _test _tcp key2')
|
||||
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=False, expect='key2=value2')
|
||||
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key1=value1')
|
||||
mdns_console.send_input('mdns_service_txt_replace _test _tcp key3=value3 key4=value4')
|
||||
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=False, expect='key1=value1')
|
||||
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key3=value3')
|
||||
dig_app.check_record('_test._tcp.local', query_type='TXT', expected=True, expect='key4=value4')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pytest.main(['-s', 'test_mdns.py'])
|
||||
|
Reference in New Issue
Block a user