Merge "Test if VPN app can grant ACTIVATE_PLATFORM_VPN with CONTROL_VPN"
This commit is contained in:
@@ -969,6 +969,31 @@ public class VpnTest extends VpnTestBase {
|
|||||||
AppOpsManager.OPSTR_ACTIVATE_PLATFORM_VPN, AppOpsManager.OPSTR_ACTIVATE_VPN);
|
AppOpsManager.OPSTR_ACTIVATE_PLATFORM_VPN, AppOpsManager.OPSTR_ACTIVATE_VPN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setAppOpsPermission() {
|
||||||
|
doAnswer(invocation -> {
|
||||||
|
when(mAppOps.noteOpNoThrow(AppOpsManager.OPSTR_ACTIVATE_PLATFORM_VPN,
|
||||||
|
Process.myUid(), TEST_VPN_PKG,
|
||||||
|
null /* attributionTag */, null /* message */))
|
||||||
|
.thenReturn(AppOpsManager.MODE_ALLOWED);
|
||||||
|
return null;
|
||||||
|
}).when(mAppOps).setMode(
|
||||||
|
eq(AppOpsManager.OPSTR_ACTIVATE_PLATFORM_VPN),
|
||||||
|
eq(Process.myUid()),
|
||||||
|
eq(TEST_VPN_PKG),
|
||||||
|
eq(AppOpsManager.MODE_ALLOWED));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testProvisionVpnProfileNotPreconsented_withControlVpnPermission() throws Exception {
|
||||||
|
setAppOpsPermission();
|
||||||
|
doReturn(PERMISSION_GRANTED).when(mContext).checkCallingOrSelfPermission(CONTROL_VPN);
|
||||||
|
final Vpn vpn = createVpnAndSetupUidChecks();
|
||||||
|
|
||||||
|
// ACTIVATE_PLATFORM_VPN will be granted if VPN app has CONTROL_VPN permission.
|
||||||
|
checkProvisionVpnProfile(vpn, true /* expectedResult */,
|
||||||
|
AppOpsManager.OPSTR_ACTIVATE_PLATFORM_VPN);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testProvisionVpnProfileVpnServicePreconsented() throws Exception {
|
public void testProvisionVpnProfileVpnServicePreconsented() throws Exception {
|
||||||
final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OPSTR_ACTIVATE_VPN);
|
final Vpn vpn = createVpnAndSetupUidChecks(AppOpsManager.OPSTR_ACTIVATE_VPN);
|
||||||
|
|||||||
Reference in New Issue
Block a user