Merge "Add combine() and equals() for NetworkCapabilities admin UIDs."

This commit is contained in:
Cody Kesting
2020-03-31 17:42:18 +00:00
committed by Gerrit Code Review
2 changed files with 79 additions and 7 deletions

View File

@@ -58,6 +58,7 @@ import androidx.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.Arrays;
import java.util.Set;
@RunWith(AndroidJUnit4.class)
@@ -280,6 +281,7 @@ public class NetworkCapabilitiesTest {
.addCapability(NET_CAPABILITY_NOT_METERED);
if (isAtLeastR()) {
netCap.setOwnerUid(123);
netCap.setAdministratorUids(new int[] {5, 11});
}
assertParcelingIsLossless(netCap);
netCap.setSSID(TEST_SSID);
@@ -491,6 +493,25 @@ public class NetworkCapabilitiesTest {
assertFalse(nc2.appliesToUid(12));
assertTrue(nc1.appliesToUid(22));
assertTrue(nc2.appliesToUid(22));
final int[] adminUids = {3, 6, 12};
nc1.setAdministratorUids(adminUids);
nc2.combineCapabilities(nc1);
assertTrue(nc2.equalsAdministratorUids(nc1));
assertArrayEquals(nc2.getAdministratorUids(), adminUids);
final int[] adminUidsOtherOrder = {3, 12, 6};
nc1.setAdministratorUids(adminUids);
assertTrue(nc2.equalsAdministratorUids(nc1));
final int[] adminUids2 = {11, 1, 12, 3, 6};
nc1.setAdministratorUids(adminUids2);
assertFalse(nc2.equalsAdministratorUids(nc1));
assertFalse(Arrays.equals(nc2.getAdministratorUids(), adminUids2));
try {
nc2.combineCapabilities(nc1);
fail("Shouldn't be able to combine different lists of admin UIDs");
} catch (IllegalStateException expected) { }
}
@Test