Merge "Add test for ConnectivityService API isPrivateDnsBroken" into sc-dev am: 9097aaf5db
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/15013234 Change-Id: Ia41376d391cdfa3444b4a46ae003d315bbfc45f9
This commit is contained in:
@@ -152,6 +152,7 @@ import com.android.networkstack.apishim.NetworkInformationShimImpl;
|
||||
import com.android.networkstack.apishim.common.ConnectivityManagerShim;
|
||||
import com.android.testutils.CompatUtil;
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo;
|
||||
import com.android.testutils.DevSdkIgnoreRuleKt;
|
||||
import com.android.testutils.RecorderCallback.CallbackEntry;
|
||||
import com.android.testutils.SkipPresubmit;
|
||||
@@ -674,6 +675,31 @@ public class ConnectivityManagerTest {
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test @IgnoreUpTo(Build.VERSION_CODES.Q)
|
||||
public void testIsPrivateDnsBroken() throws InterruptedException {
|
||||
final String invalidPrivateDnsServer = "invalidhostname.example.com";
|
||||
final String goodPrivateDnsServer = "dns.google";
|
||||
mCtsNetUtils.storePrivateDnsSetting();
|
||||
final TestableNetworkCallback cb = new TestableNetworkCallback();
|
||||
mCm.registerNetworkCallback(makeWifiNetworkRequest(), cb);
|
||||
try {
|
||||
// Verifying the good private DNS sever
|
||||
mCtsNetUtils.setPrivateDnsStrictMode(goodPrivateDnsServer);
|
||||
final Network networkForPrivateDns = mCtsNetUtils.ensureWifiConnected();
|
||||
cb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS,
|
||||
entry -> (!((CallbackEntry.CapabilitiesChanged) entry).getCaps()
|
||||
.isPrivateDnsBroken()) && networkForPrivateDns.equals(entry.getNetwork()));
|
||||
|
||||
// Verifying the broken private DNS sever
|
||||
mCtsNetUtils.setPrivateDnsStrictMode(invalidPrivateDnsServer);
|
||||
cb.eventuallyExpect(CallbackEntry.NETWORK_CAPS_UPDATED, NETWORK_CALLBACK_TIMEOUT_MS,
|
||||
entry -> (((CallbackEntry.CapabilitiesChanged) entry).getCaps()
|
||||
.isPrivateDnsBroken()) && networkForPrivateDns.equals(entry.getNetwork()));
|
||||
} finally {
|
||||
mCtsNetUtils.restorePrivateDnsSetting();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Exercises both registerNetworkCallback and unregisterNetworkCallback. This checks to
|
||||
* see if we get a callback for the TRANSPORT_WIFI transport type being available.
|
||||
|
||||
Reference in New Issue
Block a user