Add CTS for ConnectivityManager#setVpnDefaultForUids()
This test checks
- If the NullPointerException will be thrown or not when the
given uid ragnes is null.
- If the SecurityException will be thrown or not when the caller
doesn't have related permission.
Bug: 231749077
Test: atest CtsNetTestCases
atest CtsNetTestCasesLatestSdk
Change-Id: Ia1e625bc1f791ee9928ba00d76af9979ba52b2db
diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
index 7624f9c..3093243 100644
--- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
+++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
@@ -233,6 +233,7 @@
import java.util.Objects;
import java.util.Random;
import java.util.Set;
+import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
@@ -2469,6 +2470,17 @@
runWithShellPermissionIdentity(() -> doTestBlockedStatusCallback(), NETWORK_SETTINGS);
}
+ @Test
+ public void testSetVpnDefaultForUids() {
+ assumeTrue(TestUtils.shouldTestUApis());
+ final String session = UUID.randomUUID().toString();
+ assertThrows(NullPointerException.class, () -> mCm.setVpnDefaultForUids(session, null));
+ assertThrows(SecurityException.class,
+ () -> mCm.setVpnDefaultForUids(session, new ArraySet<>()));
+ // For testing the complete behavior of setVpnDefaultForUids(), please refer to
+ // HostsideVpnTests.
+ }
+
private void doTestLegacyLockdownEnabled() throws Exception {
NetworkInfo info = mCm.getActiveNetworkInfo();
assertNotNull(info);