[test] verify state bitmap when runtime enable/disable EphemeralKey mode (#10503)

Meshcop ePSKc mode supported bitmap check.
This commit is contained in:
Mia Yang
2024-08-06 14:54:02 +00:00
committed by GitHub
parent 1d35e30e0e
commit 634745dd72
2 changed files with 23 additions and 0 deletions
@@ -95,8 +95,20 @@ class PublishMeshCopService(thread_cert.TestCase):
br1.start()
self.simulator.go(config.BORDER_ROUTER_STARTUP_DELAY)
self.assertEqual('leader', br1.get_state())
# start to test ephemeral key mode (ePSKc)
br1.ephemeral_key_enabled = True
self.assertTrue(br1.ephemeral_key_enabled)
self.simulator.go(10)
self.check_meshcop_service(br1, host)
# change ephemeral key mode (ePSKc) and check Meshcop
br1.ephemeral_key_enabled = False
self.assertFalse(br1.ephemeral_key_enabled)
self.simulator.go(10)
self.check_meshcop_service(br1, host)
# end of ephemeral key mode (ePSKc) test
br1.disable_backbone_router()
self.simulator.go(10)
self.check_meshcop_service(br1, host)
@@ -201,6 +213,7 @@ class PublishMeshCopService(thread_cert.TestCase):
br.get_backbone_router_state() != 'Disabled') # BBR is enabled or not
self.assertEqual((state_bitmap >> 8 & 1), device_role not in ['disabled', 'detached'] and
br.get_backbone_router_state() == 'Primary') # BBR is primary or not
self.assertEqual(bool(state_bitmap >> 11 & 1), br.ephemeral_key_enabled) # ePSKc is supported or not
self.assertEqual(service_data['txt']['nn'], br.get_network_name())
self.assertEqual(service_data['txt']['rv'], '1')
self.assertIn(service_data['txt']['tv'], ['1.1.0', '1.1.1', '1.2.0', '1.3.0'])
+10
View File
@@ -491,6 +491,16 @@ class OtbrDocker:
raise ValueError("dns_upstream_query_state must be a bool")
return self.set_dbus_property('DnsUpstreamQueryState', value)
@property
def ephemeral_key_enabled(self):
return bool(self.get_dbus_property('EphemeralKeyEnabled'))
@ephemeral_key_enabled.setter
def ephemeral_key_enabled(self, value):
if type(value) is not bool:
raise ValueError("ephemeral_key_enabled must be a bool")
return self.set_dbus_property('EphemeralKeyEnabled', value)
def read_border_routing_counters_delta(self):
old_counters = self._border_routing_counters
new_counters = self.get_border_routing_counters()