diff --git a/tests/scripts/thread-cert/border_router/test_publish_meshcop_service.py b/tests/scripts/thread-cert/border_router/test_publish_meshcop_service.py index a747bbb52..d422e7546 100755 --- a/tests/scripts/thread-cert/border_router/test_publish_meshcop_service.py +++ b/tests/scripts/thread-cert/border_router/test_publish_meshcop_service.py @@ -110,8 +110,23 @@ class PublishMeshCopService(thread_cert.TestCase): # check Meshcop-e service self.check_meshcop_e_service(host, True) - # deactivate ePSKc mode - br1.deactivate_ephemeral_key_mode() + # deactivate ePSKc mode in force + br1.deactivate_ephemeral_key_mode(retain_active_session=False) + self.assertEqual(br1.get_ephemeral_key_state(), 'inactive') + self.simulator.go(10) + # check Meshcop-e service + self.check_meshcop_e_service(host, False) + + # activate ePSKc mode by default lifetime + lifetime = 0 + ephemeral_key = br1.activate_ephemeral_key_mode(lifetime) + self.assertEqual(len(ephemeral_key), 9) + self.assertEqual(br1.get_ephemeral_key_state(), 'active') + # check Meshcop-e service + self.check_meshcop_e_service(host, True) + + # deactivate ePSKc mode NOT in force + br1.deactivate_ephemeral_key_mode(retain_active_session=True) self.assertEqual(br1.get_ephemeral_key_state(), 'inactive') self.simulator.go(10) # check Meshcop-e service diff --git a/tests/scripts/thread-cert/node.py b/tests/scripts/thread-cert/node.py index 75a545339..b64b99d72 100755 --- a/tests/scripts/thread-cert/node.py +++ b/tests/scripts/thread-cert/node.py @@ -425,8 +425,8 @@ class OtbrDocker: def activate_ephemeral_key_mode(self, lifetime): return self.call_dbus_method('io.openthread.BorderRouter', 'ActivateEphemeralKeyMode', lifetime) - def deactivate_ephemeral_key_mode(self): - return self.call_dbus_method('io.openthread.BorderRouter', 'DeactivateEphemeralKeyMode') + def deactivate_ephemeral_key_mode(self, retain_active_session): + return self.call_dbus_method('io.openthread.BorderRouter', 'DeactivateEphemeralKeyMode', retain_active_session) @property def nat64_cidr(self):