Enable the tests in DPM for testing ConnectivityManager API in 5G Slicing
Test: atest DevicePolicyManagerTest Bug: 178655595 Change-Id: Ib58f27b661436c9c59f8681fb2e69a930b8444a8
This commit is contained in:
@@ -102,8 +102,8 @@ import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||
import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
|
||||
import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
|
||||
import static android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES;
|
||||
// TODO (b/178655595) import static android.net.ConnectivityManager.USER_PREFERENCE_ENTERPRISE;
|
||||
// TODO (b/178655595) import static android.net.ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT;
|
||||
import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT;
|
||||
import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE;
|
||||
import static android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK;
|
||||
import static android.provider.Settings.Global.PRIVATE_DNS_MODE;
|
||||
import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER;
|
||||
@@ -3089,13 +3089,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
updatePermissionPolicyCache(userId);
|
||||
updateAdminCanGrantSensorsPermissionCache(userId);
|
||||
|
||||
boolean enableEnterpriseNetworkSlice = true;
|
||||
boolean enableEnterpriseNetworkPreferenceEnabled = true;
|
||||
synchronized (getLockObject()) {
|
||||
ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId);
|
||||
enableEnterpriseNetworkSlice = owner != null
|
||||
enableEnterpriseNetworkPreferenceEnabled = owner != null
|
||||
? owner.mEnterpriseNetworkPreferenceEnabled : true;
|
||||
}
|
||||
updateNetworkPreferenceForUser(userId, enableEnterpriseNetworkSlice);
|
||||
updateNetworkPreferenceForUser(userId, enableEnterpriseNetworkPreferenceEnabled);
|
||||
|
||||
startOwnerService(userId, "start-user");
|
||||
}
|
||||
@@ -17009,18 +17009,18 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateNetworkPreferenceForUser(int userId, boolean enableEnterprise) {
|
||||
private void updateNetworkPreferenceForUser(int userId,
|
||||
boolean enableEnterpriseNetworkPreferenceEnabled) {
|
||||
if (!isManagedProfile(userId)) {
|
||||
return;
|
||||
}
|
||||
// TODO(b/178655595)
|
||||
// int networkPreference = enable ? ConnectivityManager.USER_PREFERENCE_ENTERPRISE :
|
||||
// ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT;
|
||||
// mInjector.binderWithCleanCallingIdentity(() ->
|
||||
// mInjector.getConnectivityManager().setNetworkPreferenceForUser(
|
||||
// UserHandle.of(userId),
|
||||
// networkPreference,
|
||||
// null /* executor */, null /* listener */));
|
||||
int networkPreference = enableEnterpriseNetworkPreferenceEnabled
|
||||
? PROFILE_NETWORK_PREFERENCE_ENTERPRISE : PROFILE_NETWORK_PREFERENCE_DEFAULT;
|
||||
mInjector.binderWithCleanCallingIdentity(() ->
|
||||
mInjector.getConnectivityManager().setProfileNetworkPreference(
|
||||
UserHandle.of(userId),
|
||||
networkPreference,
|
||||
null /* executor */, null /* listener */));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -92,6 +92,7 @@ import android.content.pm.StringParceledListSlice;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.graphics.Color;
|
||||
import android.hardware.usb.UsbManager;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Build.VERSION_CODES;
|
||||
import android.os.Bundle;
|
||||
@@ -4017,23 +4018,27 @@ public class DevicePolicyManagerTest extends DpmTestBase {
|
||||
|
||||
@Test
|
||||
public void testUpdateNetworkPreferenceOnStartOnStopUser() throws Exception {
|
||||
dpms.handleStartUser(CALLER_USER_HANDLE);
|
||||
// TODO(b/178655595)
|
||||
// verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser(
|
||||
// any(UserHandle.class),
|
||||
// anyInt(),
|
||||
// any(Executor.class),
|
||||
// any(Runnable.class)
|
||||
//);
|
||||
final int managedProfileUserId = 15;
|
||||
final int managedProfileAdminUid = UserHandle.getUid(managedProfileUserId, 19436);
|
||||
addManagedProfile(admin1, managedProfileAdminUid, admin1);
|
||||
mContext.binder.callingUid = managedProfileAdminUid;
|
||||
mServiceContext.permissions.add(permission.INTERACT_ACROSS_USERS_FULL);
|
||||
|
||||
dpms.handleStopUser(CALLER_USER_HANDLE);
|
||||
// TODO(b/178655595)
|
||||
// verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser(
|
||||
// any(UserHandle.class),
|
||||
// eq(ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT),
|
||||
// any(Executor.class),
|
||||
// any(Runnable.class)
|
||||
//);
|
||||
dpms.handleStartUser(managedProfileUserId);
|
||||
verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference(
|
||||
eq(UserHandle.of(managedProfileUserId)),
|
||||
anyInt(),
|
||||
any(),
|
||||
any()
|
||||
);
|
||||
|
||||
dpms.handleStopUser(managedProfileUserId);
|
||||
verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference(
|
||||
eq(UserHandle.of(managedProfileUserId)),
|
||||
eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT),
|
||||
any(),
|
||||
any()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -4044,26 +4049,28 @@ public class DevicePolicyManagerTest extends DpmTestBase {
|
||||
assertExpectException(SecurityException.class, null,
|
||||
() -> dpm.isEnterpriseNetworkPreferenceEnabled());
|
||||
|
||||
setupProfileOwner();
|
||||
final int managedProfileUserId = 15;
|
||||
final int managedProfileAdminUid = UserHandle.getUid(managedProfileUserId, 19436);
|
||||
addManagedProfile(admin1, managedProfileAdminUid, admin1);
|
||||
mContext.binder.callingUid = managedProfileAdminUid;
|
||||
|
||||
dpm.setEnterpriseNetworkPreferenceEnabled(false);
|
||||
assertThat(dpm.isEnterpriseNetworkPreferenceEnabled()).isFalse();
|
||||
// TODO(b/178655595)
|
||||
// verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser(
|
||||
// any(UserHandle.class),
|
||||
// eq(ConnectivityManager.USER_PREFERENCE_SYSTEM_DEFAULT),
|
||||
// any(Executor.class),
|
||||
// any(Runnable.class)
|
||||
//);
|
||||
verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference(
|
||||
eq(UserHandle.of(managedProfileUserId)),
|
||||
eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_DEFAULT),
|
||||
any(),
|
||||
any()
|
||||
);
|
||||
|
||||
dpm.setEnterpriseNetworkPreferenceEnabled(true);
|
||||
assertThat(dpm.isEnterpriseNetworkPreferenceEnabled()).isTrue();
|
||||
// TODO(b/178655595)
|
||||
// verify(getServices().connectivityManager, times(1)).setNetworkPreferenceForUser(
|
||||
// any(UserHandle.class),
|
||||
// eq(ConnectivityManager.USER_PREFERENCE_ENTERPRISE),
|
||||
// any(Executor.class),
|
||||
// any(Runnable.class)
|
||||
//);
|
||||
verify(getServices().connectivityManager, times(1)).setProfileNetworkPreference(
|
||||
eq(UserHandle.of(managedProfileUserId)),
|
||||
eq(ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE),
|
||||
any(),
|
||||
any()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user