[Thread] use setConfiguration API in NAT64 tests

Bug: 356770473

Change-Id: I98c80de24cbaaa7206ddbd2bf62350066c998ba5
This commit is contained in:
Handa Wang 2024-10-18 05:45:53 +00:00
commit 52c72a11bf
2 changed files with 11 additions and 6 deletions

View file

@ -650,9 +650,8 @@ public class BorderRoutingTest {
public void nat64_threadDevicePingIpv4InfraDevice_outboundPacketIsForwarded() throws Exception {
FullThreadDevice ftd = mFtds.get(0);
joinNetworkAndWaitForOmr(ftd, DEFAULT_DATASET);
// TODO: enable NAT64 via ThreadNetworkController API instead of ot-ctl
mOtCtl.setNat64Cidr(NAT64_CIDR);
mOtCtl.setNat64Enabled(true);
mController.setNat64EnabledAndWait(true);
waitFor(() -> mOtCtl.hasNat64PrefixInNetdata(), UPDATE_NAT64_PREFIX_TIMEOUT);
ftd.ping(IPV4_SERVER_ADDR);
@ -685,8 +684,7 @@ public class BorderRoutingTest {
mInfraNetworkReader = newPacketReader(mInfraNetworkTracker.getTestIface(), mHandler);
FullThreadDevice ftd = mFtds.get(0);
joinNetworkAndWaitForOmr(ftd, DEFAULT_DATASET);
// TODO: enable NAT64 via ThreadNetworkController API instead of ot-ctl
mOtCtl.setNat64Enabled(true);
mController.setNat64EnabledAndWait(true);
mOtCtl.addPrefixInNetworkData(DHCP6_PD_PREFIX, "paros", "med");
waitFor(() -> mOtCtl.hasNat64PrefixInNetdata(), UPDATE_NAT64_PREFIX_TIMEOUT);

View file

@ -200,7 +200,7 @@ public final class ThreadNetworkControllerWrapper {
runAsShell(
PERMISSION_THREAD_NETWORK_PRIVILEGED,
() -> mController.registerConfigurationCallback(directExecutor(), callback));
future.get(CALLBACK_TIMEOUT.toSeconds(), SECONDS);
future.get(CONFIG_TIMEOUT.toSeconds(), SECONDS);
runAsShell(
PERMISSION_THREAD_NETWORK_PRIVILEGED,
() -> mController.unregisterConfigurationCallback(callback));
@ -214,7 +214,14 @@ public final class ThreadNetworkControllerWrapper {
() ->
mController.setConfiguration(
config, directExecutor(), newOutcomeReceiver(future)));
future.get(CALLBACK_TIMEOUT.toSeconds(), SECONDS);
future.get(CONFIG_TIMEOUT.toSeconds(), SECONDS);
}
public void setNat64EnabledAndWait(boolean enabled) throws Exception {
final ThreadConfiguration config = getConfiguration();
final ThreadConfiguration newConfig =
new ThreadConfiguration.Builder().setNat64Enabled(enabled).build();
setConfigurationAndWait(newConfig);
}
private static <V> OutcomeReceiver<V, ThreadNetworkException> newOutcomeReceiver(