[tests] add advertising test case of removing a host (#7440)

This commit is contained in:
Kangping
2022-02-28 12:47:14 -08:00
committed by GitHub
parent a17d8800e9
commit 4275b26935
@@ -280,5 +280,48 @@ class SingleHostAndService(thread_cert.TestCase):
self.assertEqual(ipaddress.ip_address(server_host['addresses'][0]), ipaddress.ip_address(host_addr))
class SrpClientRemoveNonExistingHost(thread_cert.TestCase):
USE_MESSAGE_FACTORY = False
TOPOLOGY = {
BR: {
'name': 'BR',
'allowlist': [ROUTER],
'is_otbr': True,
'version': '1.2',
},
ROUTER: {
'name': 'Router',
'allowlist': [BR],
'version': '1.2',
}
}
def test(self):
server = self.nodes[BR]
client = self.nodes[ROUTER]
server.srp_server_set_enabled(True)
server.srp_server_set_lease_range(LEASE, LEASE, KEY_LEASE, KEY_LEASE)
server.start()
self.simulator.go(10)
self.assertEqual('leader', server.get_state())
self.assertEqual(server.srp_server_get_state(), 'running')
client.start()
self.simulator.go(5)
self.assertEqual('router', client.get_state())
# Immediately remove a non-existing host.
client.srp_client_enable_auto_start_mode()
client.srp_client_set_host_name('my-host')
self.assertEqual('ToAdd', client.srp_client_get_host_state())
client.srp_client_remove_host(remove_key=True, send_unreg_to_server=True)
self.simulator.go(2)
self.assertEqual('Removed', client.srp_client_get_host_state())
if __name__ == '__main__':
unittest.main()