From bd595f739ca00473b09cd6654d39faa3f3cde19a Mon Sep 17 00:00:00 2001 From: Treehugger Robot Date: Mon, 21 Jun 2021 10:35:56 +0000 Subject: [PATCH] Add CTS for setProfileNetworkPreference Test: atest android.net.cts.ConnectivityManagerTest Bug: 190797743 Original-Change: https://android-review.googlesource.com/1733784 Merged-In: Ifffdf55addbb7ec4466d4adec61e5812b7f94320 Change-Id: Ifffdf55addbb7ec4466d4adec61e5812b7f94320 --- .../android/net/cts/ConnectivityManagerTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java index ae59dc442d..34f3cc95fe 100644 --- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java +++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java @@ -28,6 +28,7 @@ import static android.content.pm.PackageManager.FEATURE_WIFI; import static android.content.pm.PackageManager.FEATURE_WIFI_DIRECT; import static android.content.pm.PackageManager.GET_PERMISSIONS; import static android.content.pm.PackageManager.PERMISSION_GRANTED; +import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE; import static android.net.ConnectivityManager.TYPE_BLUETOOTH; import static android.net.ConnectivityManager.TYPE_ETHERNET; import static android.net.ConnectivityManager.TYPE_MOBILE_CBS; @@ -2104,6 +2105,20 @@ public class ConnectivityManagerTest { } } + /** + * Verify that {@link ConnectivityManager#setProfileNetworkPreference} cannot be called + * without required NETWORK_STACK permissions. + */ + @Test + public void testSetProfileNetworkPreference_NoPermission() { + // Cannot use @IgnoreUpTo(Build.VERSION_CODES.R) because this test also requires API 31 + // shims, and @IgnoreUpTo does not check that. + assumeTrue(TestUtils.shouldTestSApis()); + assertThrows(SecurityException.class, () -> mCm.setProfileNetworkPreference( + UserHandle.of(0), PROFILE_NETWORK_PREFERENCE_ENTERPRISE, null /* executor */, + null /* listener */)); + } + private void verifySettings(int expectedAirplaneMode, int expectedPrivateDnsMode, int expectedAvoidBadWifi) throws Exception { assertEquals(expectedAirplaneMode, Settings.Global.getInt(