[Thread] use setConfiguration API in NAT64 tests
Bug: 356770473
Change-Id: I98c80de24cbaaa7206ddbd2bf62350066c998ba5
diff --git a/thread/tests/integration/src/android/net/thread/BorderRoutingTest.java b/thread/tests/integration/src/android/net/thread/BorderRoutingTest.java
index cf7a4f7..f8e92f0 100644
--- a/thread/tests/integration/src/android/net/thread/BorderRoutingTest.java
+++ b/thread/tests/integration/src/android/net/thread/BorderRoutingTest.java
@@ -650,9 +650,8 @@
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 @@
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);
diff --git a/thread/tests/integration/src/android/net/thread/utils/ThreadNetworkControllerWrapper.java b/thread/tests/integration/src/android/net/thread/utils/ThreadNetworkControllerWrapper.java
index 4a30c45..295acb8 100644
--- a/thread/tests/integration/src/android/net/thread/utils/ThreadNetworkControllerWrapper.java
+++ b/thread/tests/integration/src/android/net/thread/utils/ThreadNetworkControllerWrapper.java
@@ -200,7 +200,7 @@
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 @@
() ->
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(