diff --git a/tests/nexus/test_router_downgrade_on_sec_policy_change.cpp b/tests/nexus/test_router_downgrade_on_sec_policy_change.cpp index b28a6214e..7f26800be 100644 --- a/tests/nexus/test_router_downgrade_on_sec_policy_change.cpp +++ b/tests/nexus/test_router_downgrade_on_sec_policy_change.cpp @@ -101,19 +101,20 @@ void TestRouterDowngradeOnSecPolicyChange(void) leader.Get().SaveLocal(datasetInfo); } - // Wait for the dataset to propagate to the router. - nexus.AdvanceTime(500); - - VerifyOrQuit(leader.Get().IsLeader()); - VerifyOrQuit(router.Get().IsRouter()); - - Log("Leader should take at least 10 seconds before downgrading"); - + // Wait for the dataset to propagate and be processed. nexus.AdvanceTime(5 * Time::kOneSecondInMsec); + VerifyOrQuit(leader.Get().IsLeader()); + + // We check that security policy is propagated to and applied on + // leader and router. This means `IsRouterRoleAllowed()` should be + // false on both. VerifyOrQuit(!leader.Get().IsRouterRoleAllowed()); VerifyOrQuit(!router.Get().IsRouterRoleAllowed()); + Log("Leader should stay as leader for at least 10 seconds"); + VerifyOrQuit(leader.Get().IsLeader()); + Log("---------------------------------------------------------------------------------------"); Log("Change back security policy. This should cancel the ongoing downgrade delay"); @@ -170,14 +171,19 @@ void TestRouterDowngradeOnSecPolicyChange(void) leader.Get().SaveLocal(datasetInfo); } - nexus.AdvanceTime(500); - VerifyOrQuit(leader.Get().IsLeader()); - - Log("Leader should take at least 10 seconds before downgrading"); - + // Wait for the dataset to propagate and be processed. nexus.AdvanceTime(5 * Time::kOneSecondInMsec); + VerifyOrQuit(leader.Get().IsLeader()); + + // We check that security policy is propagated to and applied on + // leader and router. This means `IsRouterRoleAllowed()` should be + // false on both. VerifyOrQuit(!leader.Get().IsRouterRoleAllowed()); + VerifyOrQuit(!router.Get().IsRouterRoleAllowed()); + + Log("Leader should stay as leader for at least 10 seconds"); + VerifyOrQuit(leader.Get().IsLeader()); Log("Make sure both leader and router are downgraded and are now `detached`.");