Parcel Network#mPrivateDnsBypass

Though all versions will parcel this, the behavior will not change
before B. Starting with B, this flag is parceled and handed over
to apps.

Test: ConnectivityCoverageTests, CtsNetTestCases
Flag: EXEMPT no behavior change before B
Change-Id: I7e9ae9011c74b80c208d8f297aa3b7d1aea176f2
This commit is contained in:
Chalard Jean 2025-03-07 10:54:52 +09:00 • committed by Xiao Ma
commit 4f07a5b911

View file

@ -32,6 +32,7 @@ import com.android.testutils.ConnectivityModuleTest;
import com.android.testutils.DevSdkIgnoreRule;
import com.android.testutils.DevSdkIgnoreRule.IgnoreAfter;
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo;
import com.android.testutils.ParcelUtils;
import org.junit.Rule;
import org.junit.Test;
@ -200,4 +201,37 @@ public class NetworkTest {
assertNotEquals(copy.netId, copy.getNetIdForResolv());
assertNotEquals(mNetwork.getNetIdForResolv(), copy.getNetIdForResolv());
}
// Connectivity module was not supported until S
@Test @IgnoreUpTo(Build.VERSION_CODES.R)
@ConnectivityModuleTest
public void testGetNonPrivateDnsBypassingCopy() {
final Network bypass = mNetwork.getPrivateDnsBypassingCopy();
final Network nonBypass = bypass.getPrivateDnsNonBypassingCopy();
assertEquals(mNetwork.netId, nonBypass.netId);
assertEquals(nonBypass.netId, nonBypass.getNetIdForResolv());
assertEquals(mNetwork.getNetIdForResolv(), nonBypass.getNetIdForResolv());
assertNotEquals(mNetwork.getNetIdForResolv(), bypass.getNetIdForResolv());
}
// Only run this test on V and below
@Test @IgnoreAfter(Build.VERSION_CODES.VANILLA_ICE_CREAM)
@ConnectivityModuleTest
public void testParcelingRoundTripBeforeB() {
// Before B, the netID for resolv is not parceled.
final Network bypass =
ParcelUtils.parcelingRoundTrip(mNetwork.getPrivateDnsBypassingCopy());
assertEquals(mNetwork.netId, bypass.netId);
assertEquals(mNetwork.getNetIdForResolv(), bypass.getNetIdForResolv());
}
// Only run this test on B and after
@Test @IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
@ConnectivityModuleTest
public void testParcelingRoundTripFromB() {
final Network bypass =
ParcelUtils.parcelingRoundTrip(mNetwork.getPrivateDnsBypassingCopy());
assertEquals(mNetwork.netId, bypass.netId);
assertNotEquals(mNetwork.getNetIdForResolv(), bypass.getNetIdForResolv());
}
}