[VCN21.1] Verify capability is not added if specifier is present
Test: atest NetworkRequestTest#testBypassingVcn
Bug: 176939355
Change-Id: I3fdd7a08ac9fd667633b68dc935abce024dd3a4d
diff --git a/tests/cts/net/src/android/net/cts/NetworkRequestTest.java b/tests/cts/net/src/android/net/cts/NetworkRequestTest.java
index 1a97566..8c35b97 100644
--- a/tests/cts/net/src/android/net/cts/NetworkRequestTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkRequestTest.java
@@ -327,7 +327,7 @@
// TODO: 1. Refactor test cases with helper method.
// 2. Test capability that does not yet exist.
@Test @IgnoreUpTo(Build.VERSION_CODES.R)
- public void testBypassingVcnForNonInternetRequest() {
+ public void testBypassingVcn() {
// Make an empty request. Verify the NOT_VCN_MANAGED is added.
final NetworkRequest emptyRequest = new NetworkRequest.Builder().build();
assertTrue(emptyRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
@@ -360,12 +360,12 @@
.addCapability(NET_CAPABILITY_NOT_ROAMING).build();
assertTrue(notRoamRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
- // Make a internet request. Verify the NOT_VCN_MANAGED is added.
+ // Make an internet request. Verify the NOT_VCN_MANAGED is added.
final NetworkRequest internetRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_INTERNET).build();
assertTrue(internetRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
- // Make a internet request which explicitly removed NOT_VCN_MANAGED.
+ // Make an internet request which explicitly removed NOT_VCN_MANAGED.
// Verify the NOT_VCN_MANAGED is removed.
final NetworkRequest internetRemoveNotVcnRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_INTERNET)
@@ -398,6 +398,14 @@
final NetworkRequest dunRequest = new NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_DUN).build();
assertTrue(dunRequest.hasCapability(ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
+
+ // Make an internet request but with NetworkSpecifier. Verify the NOT_VCN_MANAGED is not
+ // added.
+ final NetworkRequest internetWithSpecifierRequest = new NetworkRequest.Builder()
+ .addTransportType(TRANSPORT_WIFI).addCapability(NET_CAPABILITY_INTERNET)
+ .setNetworkSpecifier(makeTestWifiSpecifier()).build();
+ assertFalse(internetWithSpecifierRequest.hasCapability(
+ ConstantsShim.NET_CAPABILITY_NOT_VCN_MANAGED));
}
private void verifyEqualRequestBuilt(NetworkRequest orig) {
@@ -424,17 +432,20 @@
.setSignalStrength(-99).build();
verifyEqualRequestBuilt(requestCellMms);
- final WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
- .setSsidPattern(new PatternMatcher(TEST_SSID, PatternMatcher.PATTERN_LITERAL))
- .setBssidPattern(ARBITRARY_ADDRESS, ARBITRARY_ADDRESS)
- .build();
final NetworkRequest requestWifi = builder
.addTransportType(TRANSPORT_WIFI)
.removeTransportType(TRANSPORT_CELLULAR)
.addCapability(NET_CAPABILITY_INTERNET)
.removeCapability(NET_CAPABILITY_MMS)
- .setNetworkSpecifier(specifier)
+ .setNetworkSpecifier(makeTestWifiSpecifier())
.setSignalStrength(-33).build();
verifyEqualRequestBuilt(requestWifi);
}
+
+ private WifiNetworkSpecifier makeTestWifiSpecifier() {
+ return new WifiNetworkSpecifier.Builder()
+ .setSsidPattern(new PatternMatcher(TEST_SSID, PatternMatcher.PATTERN_LITERAL))
+ .setBssidPattern(ARBITRARY_ADDRESS, ARBITRARY_ADDRESS)
+ .build();
+ }
}