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.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotEquals;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assume.assumeTrue;
|
import static org.junit.Assume.assumeTrue;
|
||||||
@@ -309,6 +310,43 @@ public class NetworkRequestTest {
|
|||||||
request.networkCapabilities.satisfiedByNetworkCapabilities(nc));
|
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)
|
@Test @IgnoreUpTo(Build.VERSION_CODES.Q)
|
||||||
public void testRequestorUid() {
|
public void testRequestorUid() {
|
||||||
final NetworkCapabilities nc = new NetworkCapabilities();
|
final NetworkCapabilities nc = new NetworkCapabilities();
|
||||||
|
|||||||
Reference in New Issue
Block a user