Merge "Add a CTS tests for setIncludeOtherUidNetworks." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
02de682901
@@ -32,6 +32,7 @@ import static junit.framework.Assert.fail;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assume.assumeTrue;
|
||||
@@ -309,6 +310,43 @@ public class NetworkRequestTest {
|
||||
request.networkCapabilities.satisfiedByNetworkCapabilities(nc));
|
||||
}
|
||||
|
||||
private static Set<Range<Integer>> uidRangesForUid(int uid) {
|
||||
final Range<Integer> range = new Range<>(uid, uid);
|
||||
return Set.of(range);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetIncludeOtherUidNetworks() throws Exception {
|
||||
assumeTrue(TestUtils.shouldTestSApis());
|
||||
final NetworkRequestShim shim = NetworkRequestShimImpl.newInstance();
|
||||
|
||||
final NetworkRequest.Builder builder = new NetworkRequest.Builder();
|
||||
// NetworkRequests have NET_CAPABILITY_NOT_VCN_MANAGED by default.
|
||||
builder.removeCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED);
|
||||
shim.setIncludeOtherUidNetworks(builder, false);
|
||||
final NetworkRequest request = builder.build();
|
||||
|
||||
final NetworkRequest.Builder otherUidsBuilder = new NetworkRequest.Builder();
|
||||
otherUidsBuilder.removeCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED);
|
||||
shim.setIncludeOtherUidNetworks(otherUidsBuilder, true);
|
||||
final NetworkRequest otherUidsRequest = otherUidsBuilder.build();
|
||||
|
||||
assertNotEquals(Process.SYSTEM_UID, Process.myUid());
|
||||
final NetworkCapabilities ncWithMyUid = new NetworkCapabilities()
|
||||
.setUids(uidRangesForUid(Process.myUid()));
|
||||
final NetworkCapabilities ncWithOtherUid = new NetworkCapabilities()
|
||||
.setUids(uidRangesForUid(Process.SYSTEM_UID));
|
||||
|
||||
assertTrue(request + " should be satisfied by " + ncWithMyUid,
|
||||
request.canBeSatisfiedBy(ncWithMyUid));
|
||||
assertTrue(otherUidsRequest + " should be satisfied by " + ncWithMyUid,
|
||||
otherUidsRequest.canBeSatisfiedBy(ncWithMyUid));
|
||||
assertFalse(request + " should not be satisfied by " + ncWithOtherUid,
|
||||
request.canBeSatisfiedBy(ncWithOtherUid));
|
||||
assertTrue(otherUidsRequest + " should be satisfied by " + ncWithOtherUid,
|
||||
otherUidsRequest.canBeSatisfiedBy(ncWithOtherUid));
|
||||
}
|
||||
|
||||
@Test @IgnoreUpTo(Build.VERSION_CODES.Q)
|
||||
public void testRequestorUid() {
|
||||
final NetworkCapabilities nc = new NetworkCapabilities();
|
||||
|
||||
Reference in New Issue
Block a user