Add tests for VPN validation in NetworkMonitor

Test: New tests in this patch
      also FrameworksNetTests
Test: atest CtsNetTestCases CtsNetTestCasesLatestSdk
Change-Id: I68aa5201ad94531e5a40999816844faef5531525
This commit is contained in:
Chalard Jean
2022-02-08 20:49:16 +09:00
committed by Chiachang Wang
parent ba61dca57c
commit 2f23fa51d8
4 changed files with 119 additions and 45 deletions

View File

@@ -334,6 +334,7 @@ import com.android.modules.utils.build.SdkLevel;
import com.android.net.module.util.ArrayTrackRecord;
import com.android.net.module.util.CollectionUtils;
import com.android.net.module.util.LocationPermissionChecker;
import com.android.networkstack.apishim.NetworkAgentConfigShimImpl;
import com.android.server.ConnectivityService.ConnectivityDiagnosticsCallbackInfo;
import com.android.server.ConnectivityService.NetworkRequestInfo;
import com.android.server.ConnectivityServiceTest.ConnectivityServiceDependencies.ReportedInterfaces;
@@ -1370,6 +1371,10 @@ public class ConnectivityServiceTest {
return (mMockNetworkAgent == null) ? null : mMockNetworkAgent.getNetwork();
}
public NetworkAgentConfig getNetworkAgentConfig() {
return null == mMockNetworkAgent ? null : mMockNetworkAgent.getNetworkAgentConfig();
}
@Override
public int getActiveVpnType() {
return mVpnType;
@@ -2932,6 +2937,7 @@ public class ConnectivityServiceTest {
@Test
public void testRequiresValidation() {
assertTrue(NetworkMonitorUtils.isValidationRequired(
NetworkAgentConfigShimImpl.newInstance(null),
mCm.getDefaultRequest().networkCapabilities));
}
@@ -7899,6 +7905,7 @@ public class ConnectivityServiceTest {
// VPN networks do not satisfy the default request and are automatically validated
// by NetworkMonitor
assertFalse(NetworkMonitorUtils.isValidationRequired(
NetworkAgentConfigShimImpl.newInstance(mMockVpn.getNetworkAgentConfig()),
mMockVpn.getAgent().getNetworkCapabilities()));
mMockVpn.getAgent().setNetworkValid(false /* isStrictMode */);
@@ -8049,6 +8056,7 @@ public class ConnectivityServiceTest {
assertTrue(nc.hasCapability(NET_CAPABILITY_INTERNET));
assertFalse(NetworkMonitorUtils.isValidationRequired(
NetworkAgentConfigShimImpl.newInstance(mMockVpn.getNetworkAgentConfig()),
mMockVpn.getAgent().getNetworkCapabilities()));
assertTrue(NetworkMonitorUtils.isPrivateDnsValidationRequired(
mMockVpn.getAgent().getNetworkCapabilities()));