diff options
| author | Chalard Jean <jchalard@google.com> | 2021-12-13 22:53:51 +0900 |
|---|---|---|
| committer | Chalard Jean <jchalard@google.com> | 2022-01-31 17:04:58 +0900 |
| commit | 9a30acf7442b8db0af4578e2aafdba38d85947c5 (patch) | |
| tree | 076a782c0ef678be44a8e5672e8c505e48a15979 /tests/common/java/android/net/NetworkCapabilitiesTest.java | |
| parent | 15228575645bc47046dc0d89e9767f5e61d5a954 (diff) | |
Add accessUids to NetworkCapabilities.
For now, all entry points reject this. Followup changes
will allow the supported use cases.
Test: new unit tests and CTS for this in this patch
Change-Id: I7262811a2e46336d3bb63c80886fc0578a36da94
Diffstat (limited to 'tests/common/java/android/net/NetworkCapabilitiesTest.java')
| -rw-r--r-- | tests/common/java/android/net/NetworkCapabilitiesTest.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/common/java/android/net/NetworkCapabilitiesTest.java b/tests/common/java/android/net/NetworkCapabilitiesTest.java index bea00a9171..742044b8d2 100644 --- a/tests/common/java/android/net/NetworkCapabilitiesTest.java +++ b/tests/common/java/android/net/NetworkCapabilitiesTest.java @@ -308,6 +308,48 @@ public class NetworkCapabilitiesTest { } } + @Test @IgnoreUpTo(SC_V2) + public void testSetAccessUids() { + final NetworkCapabilities nc = new NetworkCapabilities(); + assertThrows(NullPointerException.class, () -> nc.setAccessUids(null)); + assertFalse(nc.hasAccessUids()); + assertFalse(nc.isAccessUid(0)); + assertFalse(nc.isAccessUid(1000)); + assertEquals(0, nc.getAccessUids().size()); + nc.setAccessUids(new ArraySet<>()); + assertFalse(nc.hasAccessUids()); + assertFalse(nc.isAccessUid(0)); + assertFalse(nc.isAccessUid(1000)); + assertEquals(0, nc.getAccessUids().size()); + + final ArraySet<Integer> uids = new ArraySet<>(); + uids.add(200); + uids.add(250); + uids.add(-1); + uids.add(Integer.MAX_VALUE); + nc.setAccessUids(uids); + assertNotEquals(nc, new NetworkCapabilities()); + assertTrue(nc.hasAccessUids()); + + final List<Integer> includedList = List.of(-2, 0, 199, 700, 901, 1000, Integer.MIN_VALUE); + final List<Integer> excludedList = List.of(-1, 200, 250, Integer.MAX_VALUE); + for (final int uid : includedList) { + assertFalse(nc.isAccessUid(uid)); + } + for (final int uid : excludedList) { + assertTrue(nc.isAccessUid(uid)); + } + + final Set<Integer> outUids = nc.getAccessUids(); + assertEquals(4, outUids.size()); + for (final int uid : includedList) { + assertFalse(outUids.contains(uid)); + } + for (final int uid : excludedList) { + assertTrue(outUids.contains(uid)); + } + } + @Test public void testParcelNetworkCapabilities() { final Set<Range<Integer>> uids = new ArraySet<>(); @@ -318,6 +360,10 @@ public class NetworkCapabilitiesTest { .addCapability(NET_CAPABILITY_EIMS) .addCapability(NET_CAPABILITY_NOT_METERED); if (isAtLeastS()) { + final ArraySet<Integer> accessUids = new ArraySet<>(); + accessUids.add(4); + accessUids.add(9); + netCap.setAccessUids(accessUids); netCap.setSubscriptionIds(Set.of(TEST_SUBID1, TEST_SUBID2)); netCap.setUids(uids); } |
