Merge "Stop using ConnectivityManager for VPNs." into sc-dev

This commit is contained in:
TreeHugger Robot
2021-02-18 10:28:19 +00:00
committed by Android (Google) Code Review
9 changed files with 37 additions and 44 deletions

View File

@@ -40,6 +40,7 @@ import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.net.ConnectivityManager;
import android.net.ProxyInfo;
import android.net.VpnManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
@@ -91,6 +92,8 @@ public class EnterprisePrivacyFeatureProviderImplTest {
private UserManager mUserManager;
@Mock
private ConnectivityManager mConnectivityManger;
@Mock
private VpnManager mVpnManager;
private Resources mResources;
private EnterprisePrivacyFeatureProvider mProvider;
@@ -106,7 +109,7 @@ public class EnterprisePrivacyFeatureProviderImplTest {
mResources = RuntimeEnvironment.application.getResources();
mProvider = new EnterprisePrivacyFeatureProviderImpl(mContext, mDevicePolicyManager,
mPackageManager, mUserManager, mConnectivityManger, mResources);
mPackageManager, mUserManager, mConnectivityManger, mVpnManager, mResources);
}
@Test
@@ -208,11 +211,10 @@ public class EnterprisePrivacyFeatureProviderImplTest {
@Test
public void testIsAlwaysOnVpnSetInCurrentUser() {
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(mUserId)).thenReturn(null);
when(mVpnManager.getAlwaysOnVpnPackageForUser(mUserId)).thenReturn(null);
assertThat(mProvider.isAlwaysOnVpnSetInCurrentUser()).isFalse();
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(mUserId))
.thenReturn(VPN_PACKAGE_ID);
when(mVpnManager.getAlwaysOnVpnPackageForUser(mUserId)).thenReturn(VPN_PACKAGE_ID);
assertThat(mProvider.isAlwaysOnVpnSetInCurrentUser()).isTrue();
}
@@ -222,11 +224,10 @@ public class EnterprisePrivacyFeatureProviderImplTest {
mProfiles.add(new UserInfo(mManagedProfileUserId, "", "", UserInfo.FLAG_MANAGED_PROFILE));
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(mManagedProfileUserId))
.thenReturn(null);
when(mVpnManager.getAlwaysOnVpnPackageForUser(mManagedProfileUserId)).thenReturn(null);
assertThat(mProvider.isAlwaysOnVpnSetInManagedProfile()).isFalse();
when(mConnectivityManger.getAlwaysOnVpnPackageForUser(mManagedProfileUserId))
when(mVpnManager.getAlwaysOnVpnPackageForUser(mManagedProfileUserId))
.thenReturn(VPN_PACKAGE_ID);
assertThat(mProvider.isAlwaysOnVpnSetInManagedProfile()).isTrue();
}

View File

@@ -21,7 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.net.ConnectivityManager;
import android.net.VpnManager;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -32,11 +32,11 @@ import org.junit.runner.RunWith;
public final class VpnUtilsTest {
@Test
public void testIsAlwaysOnVpnSet() {
final ConnectivityManager cm = mock(ConnectivityManager.class);
when(cm.getAlwaysOnVpnPackageForUser(0)).thenReturn("com.example.vpn");
assertThat(VpnUtils.isAlwaysOnVpnSet(cm, 0)).isTrue();
final VpnManager vm = mock(VpnManager.class);
when(vm.getAlwaysOnVpnPackageForUser(0)).thenReturn("com.example.vpn");
assertThat(VpnUtils.isAlwaysOnVpnSet(vm, 0)).isTrue();
when(cm.getAlwaysOnVpnPackageForUser(0)).thenReturn(null);
assertThat(VpnUtils.isAlwaysOnVpnSet(cm, 0)).isFalse();
when(vm.getAlwaysOnVpnPackageForUser(0)).thenReturn(null);
assertThat(VpnUtils.isAlwaysOnVpnSet(vm, 0)).isFalse();
}
}