From 1cf04c96dadff7a74ff50cca36ec46b16831148e Mon Sep 17 00:00:00 2001 From: Motomu Utsumi Date: Fri, 31 May 2024 13:43:58 +0900 Subject: [PATCH] Update NetworkRequestTest#testDefaultCapabilities testDefaultCapabilitieswas was added when aosp/2539630 introduced DEFAULT_FORBIDDEN_CAPABILITIES to avoid existing users getting callbacks from local networks. But aosp/2539630 was reverted and aosp/2936050 fixed this issue by introducing compat flag. testDefaultCapabilities was missed to be cleaned up due to the annotation. This CL updates testDefaultCapabilities to verify the default capabilities and default forbidden capabilities are not changed on U-. Test: NetworkRequestTest Bug: 332466530 Change-Id: I62c990d0f2c73d159e7c93827bbec14d4d0c0f45 --- .../android/net/cts/NetworkRequestTest.java | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/tests/cts/net/src/android/net/cts/NetworkRequestTest.java b/tests/cts/net/src/android/net/cts/NetworkRequestTest.java index 5b538399f1..ff10e1a441 100644 --- a/tests/cts/net/src/android/net/cts/NetworkRequestTest.java +++ b/tests/cts/net/src/android/net/cts/NetworkRequestTest.java @@ -19,19 +19,19 @@ package android.net.cts; import static android.net.NetworkCapabilities.NET_CAPABILITY_DUN; import static android.net.NetworkCapabilities.NET_CAPABILITY_FOTA; import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET; -import static android.net.NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK; import static android.net.NetworkCapabilities.NET_CAPABILITY_MMS; +import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING; +import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED; import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN; import static android.net.NetworkCapabilities.NET_CAPABILITY_SUPL; import static android.net.NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED; +import static android.net.NetworkCapabilities.NET_CAPABILITY_TRUSTED; import static android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; import static android.net.NetworkCapabilities.TRANSPORT_VPN; import static android.net.NetworkCapabilities.TRANSPORT_WIFI; -import static com.android.testutils.DevSdkIgnoreRuleKt.VANILLA_ICE_CREAM; - import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.fail; @@ -66,9 +66,9 @@ import com.android.networkstack.apishim.common.NetworkRequestShim; import com.android.networkstack.apishim.common.UnsupportedApiLevelException; import com.android.testutils.ConnectivityModuleTest; import com.android.testutils.DevSdkIgnoreRule; +import com.android.testutils.DevSdkIgnoreRule.IgnoreAfter; import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -512,30 +512,20 @@ public class NetworkRequestTest { assertArrayEquals(netCapabilities, nr.getCapabilities()); } - @Test @IgnoreUpTo(VANILLA_ICE_CREAM) @Ignore("b/338200742") + // Default capabilities and default forbidden capabilities must not be changed on U- because + // this could cause the system server crash when there is a module rollback (b/313030307) + @Test + @IgnoreUpTo(Build.VERSION_CODES.R) @IgnoreAfter(Build.VERSION_CODES.UPSIDE_DOWN_CAKE) public void testDefaultCapabilities() { final NetworkRequest defaultNR = new NetworkRequest.Builder().build(); - assertTrue(defaultNR.hasForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)); - assertFalse(defaultNR.hasCapability(NET_CAPABILITY_LOCAL_NETWORK)); + + assertEquals(4, defaultNR.getCapabilities().length); + assertTrue(defaultNR.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)); + assertTrue(defaultNR.hasCapability(NET_CAPABILITY_TRUSTED)); assertTrue(defaultNR.hasCapability(NET_CAPABILITY_NOT_VPN)); + assertTrue(defaultNR.hasCapability(NET_CAPABILITY_NOT_VCN_MANAGED)); - final NetworkCapabilities emptyNC = - NetworkCapabilities.Builder.withoutDefaultCapabilities().build(); - assertFalse(defaultNR.canBeSatisfiedBy(emptyNC)); - - // defaultNC represent the capabilities of a network agent, so they must not contain - // forbidden capabilities by default. - final NetworkCapabilities defaultNC = new NetworkCapabilities.Builder().build(); - assertArrayEquals(new int[0], defaultNC.getForbiddenCapabilities()); - // A default NR can be satisfied by default NC. - assertTrue(defaultNR.canBeSatisfiedBy(defaultNC)); - - // Conversely, network requests have forbidden capabilities by default to manage - // backward compatibility, so test that these forbidden capabilities are in place. - // Starting in V, NET_CAPABILITY_LOCAL_NETWORK is introduced but is not seen by - // default, thanks to a default forbidden capability in NetworkRequest. - defaultNC.addCapability(NET_CAPABILITY_LOCAL_NETWORK); - assertFalse(defaultNR.canBeSatisfiedBy(defaultNC)); + assertEquals(0, defaultNR.getForbiddenCapabilities().length); } @Test