From 230c155652f7a37864833a9421f7c8e7696fd610 Mon Sep 17 00:00:00 2001 From: Mia Yang <145632982+mia1yang@users.noreply.github.com> Date: Wed, 16 Oct 2024 18:28:13 +0000 Subject: [PATCH] [test] add retain_active_session option for ePSKc deactivate API (#10829) --- .../test_publish_meshcop_service.py | 19 +++++++++++++++++-- tests/scripts/thread-cert/node.py | 4 ++-- 2 files changed, 19 insertions(+), 4 deletions(-) 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):