Use shell permission to query current user
Use shell permissions to obtain CREATE_USERS to call ActivityManager.getCurrentUser in ConnectivityServiceTest. This is necessary to allow the tests to run in coverage tests without the platform certificate. Bug: 187935317 Test: atest FrameworksNetTests:ConnectivityServiceTest Change-Id: I5a56ffab4820d351dcdb132046698cd0d3b8bdb1
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.server;
|
||||
import static android.Manifest.permission.CHANGE_NETWORK_STATE;
|
||||
import static android.Manifest.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS;
|
||||
import static android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE;
|
||||
import static android.Manifest.permission.CREATE_USERS;
|
||||
import static android.Manifest.permission.DUMP;
|
||||
import static android.Manifest.permission.GET_INTENT_SENDER_INTENT;
|
||||
import static android.Manifest.permission.LOCAL_MAC_ADDRESS;
|
||||
@@ -307,6 +308,7 @@ import com.android.internal.util.test.BroadcastInterceptingContext;
|
||||
import com.android.internal.util.test.FakeSettingsProvider;
|
||||
import com.android.net.module.util.ArrayTrackRecord;
|
||||
import com.android.net.module.util.CollectionUtils;
|
||||
import com.android.net.module.util.LocationPermissionChecker;
|
||||
import com.android.server.ConnectivityService.ConnectivityDiagnosticsCallbackInfo;
|
||||
import com.android.server.ConnectivityService.NetworkRequestInfo;
|
||||
import com.android.server.connectivity.MockableSystemProperties;
|
||||
@@ -1674,6 +1676,13 @@ public class ConnectivityServiceTest {
|
||||
return mPolicyTracker;
|
||||
}).when(deps).makeMultinetworkPolicyTracker(any(), any(), any());
|
||||
doReturn(true).when(deps).getCellular464XlatEnabled();
|
||||
doAnswer(inv ->
|
||||
new LocationPermissionChecker(inv.getArgument(0)) {
|
||||
@Override
|
||||
protected int getCurrentUser() {
|
||||
return runAsShell(CREATE_USERS, super::getCurrentUser);
|
||||
}
|
||||
}).when(deps).makeLocationPermissionChecker(any());
|
||||
|
||||
doReturn(60000).when(mResources).getInteger(R.integer.config_networkTransitionTimeout);
|
||||
doReturn("").when(mResources).getString(R.string.config_networkCaptivePortalServerUrl);
|
||||
|
||||
Reference in New Issue
Block a user