Merge "Reinstate new VPN uid filtering unit tests" am: 14ae90a4a6
am: c5f2f8e08d
Change-Id: Ic2faef44831575b2d03bc00ef2553d5c549adc95
This commit is contained in:
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.server;
|
package com.android.server;
|
||||||
|
|
||||||
|
import static android.content.pm.PackageManager.GET_PERMISSIONS;
|
||||||
|
import static android.content.pm.PackageManager.MATCH_ANY_USER;
|
||||||
import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
|
import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
|
||||||
import static android.net.ConnectivityManager.NETID_UNSET;
|
import static android.net.ConnectivityManager.NETID_UNSET;
|
||||||
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OFF;
|
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OFF;
|
||||||
@@ -103,6 +105,7 @@ import android.content.Intent;
|
|||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
@@ -146,6 +149,7 @@ import android.net.metrics.IpConnectivityLog;
|
|||||||
import android.net.shared.NetworkMonitorUtils;
|
import android.net.shared.NetworkMonitorUtils;
|
||||||
import android.net.shared.PrivateDnsConfig;
|
import android.net.shared.PrivateDnsConfig;
|
||||||
import android.net.util.MultinetworkPolicyTracker;
|
import android.net.util.MultinetworkPolicyTracker;
|
||||||
|
import android.os.Binder;
|
||||||
import android.os.ConditionVariable;
|
import android.os.ConditionVariable;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
@@ -272,6 +276,7 @@ public class ConnectivityServiceTest {
|
|||||||
@Mock IDnsResolver mMockDnsResolver;
|
@Mock IDnsResolver mMockDnsResolver;
|
||||||
@Mock INetd mMockNetd;
|
@Mock INetd mMockNetd;
|
||||||
@Mock NetworkStackClient mNetworkStack;
|
@Mock NetworkStackClient mNetworkStack;
|
||||||
|
@Mock PackageManager mPackageManager;
|
||||||
@Mock UserManager mUserManager;
|
@Mock UserManager mUserManager;
|
||||||
|
|
||||||
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
|
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
|
||||||
@@ -357,7 +362,12 @@ public class ConnectivityServiceTest {
|
|||||||
public Resources getResources() {
|
public Resources getResources() {
|
||||||
return mResources;
|
return mResources;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@Override
|
||||||
|
public PackageManager getPackageManager() {
|
||||||
|
return mPackageManager;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void waitForIdle(int timeoutMsAsInt) {
|
public void waitForIdle(int timeoutMsAsInt) {
|
||||||
long timeoutMs = timeoutMsAsInt;
|
long timeoutMs = timeoutMsAsInt;
|
||||||
@@ -1232,6 +1242,7 @@ public class ConnectivityServiceTest {
|
|||||||
if (Looper.myLooper() == null) {
|
if (Looper.myLooper() == null) {
|
||||||
Looper.prepare();
|
Looper.prepare();
|
||||||
}
|
}
|
||||||
|
mockDefaultPackages();
|
||||||
|
|
||||||
FakeSettingsProvider.clearSettingsProvider();
|
FakeSettingsProvider.clearSettingsProvider();
|
||||||
mServiceContext = new MockContext(InstrumentationRegistry.getContext(),
|
mServiceContext = new MockContext(InstrumentationRegistry.getContext(),
|
||||||
@@ -1284,7 +1295,24 @@ public class ConnectivityServiceTest {
|
|||||||
FakeSettingsProvider.clearSettingsProvider();
|
FakeSettingsProvider.clearSettingsProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int transportToLegacyType(int transport) {
|
private void mockDefaultPackages() throws Exception {
|
||||||
|
final String testPackageName = mContext.getPackageName();
|
||||||
|
final PackageInfo testPackageInfo = mContext.getPackageManager().getPackageInfo(
|
||||||
|
testPackageName, PackageManager.GET_PERMISSIONS);
|
||||||
|
when(mPackageManager.getPackagesForUid(Binder.getCallingUid())).thenReturn(
|
||||||
|
new String[] {testPackageName});
|
||||||
|
when(mPackageManager.getPackageInfoAsUser(eq(testPackageName), anyInt(),
|
||||||
|
eq(UserHandle.getCallingUserId()))).thenReturn(testPackageInfo);
|
||||||
|
|
||||||
|
when(mPackageManager.getInstalledPackages(eq(GET_PERMISSIONS | MATCH_ANY_USER))).thenReturn(
|
||||||
|
Arrays.asList(new PackageInfo[] {
|
||||||
|
buildPackageInfo(/* SYSTEM */ false, APP1_UID),
|
||||||
|
buildPackageInfo(/* SYSTEM */ false, APP2_UID),
|
||||||
|
buildPackageInfo(/* SYSTEM */ false, VPN_UID)
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int transportToLegacyType(int transport) {
|
||||||
switch (transport) {
|
switch (transport) {
|
||||||
case TRANSPORT_ETHERNET:
|
case TRANSPORT_ETHERNET:
|
||||||
return TYPE_ETHERNET;
|
return TYPE_ETHERNET;
|
||||||
@@ -6169,7 +6197,6 @@ public class ConnectivityServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testFullyRoutedVpnResultsInInterfaceFilteringRules() throws Exception {
|
public void testFullyRoutedVpnResultsInInterfaceFilteringRules() throws Exception {
|
||||||
LinkProperties lp = new LinkProperties();
|
LinkProperties lp = new LinkProperties();
|
||||||
lp.setInterfaceName("tun0");
|
lp.setInterfaceName("tun0");
|
||||||
@@ -6196,7 +6223,6 @@ public class ConnectivityServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testLegacyVpnDoesNotResultInInterfaceFilteringRule() throws Exception {
|
public void testLegacyVpnDoesNotResultInInterfaceFilteringRule() throws Exception {
|
||||||
LinkProperties lp = new LinkProperties();
|
LinkProperties lp = new LinkProperties();
|
||||||
lp.setInterfaceName("tun0");
|
lp.setInterfaceName("tun0");
|
||||||
@@ -6210,7 +6236,6 @@ public class ConnectivityServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testLocalIpv4OnlyVpnDoesNotResultInInterfaceFilteringRule()
|
public void testLocalIpv4OnlyVpnDoesNotResultInInterfaceFilteringRule()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
LinkProperties lp = new LinkProperties();
|
LinkProperties lp = new LinkProperties();
|
||||||
@@ -6226,7 +6251,6 @@ public class ConnectivityServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testVpnHandoverChangesInterfaceFilteringRule() throws Exception {
|
public void testVpnHandoverChangesInterfaceFilteringRule() throws Exception {
|
||||||
LinkProperties lp = new LinkProperties();
|
LinkProperties lp = new LinkProperties();
|
||||||
lp.setInterfaceName("tun0");
|
lp.setInterfaceName("tun0");
|
||||||
@@ -6276,7 +6300,6 @@ public class ConnectivityServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testUidUpdateChangesInterfaceFilteringRule() throws Exception {
|
public void testUidUpdateChangesInterfaceFilteringRule() throws Exception {
|
||||||
LinkProperties lp = new LinkProperties();
|
LinkProperties lp = new LinkProperties();
|
||||||
lp.setInterfaceName("tun0");
|
lp.setInterfaceName("tun0");
|
||||||
|
|||||||
Reference in New Issue
Block a user