CTS: DO tests for DISALLOW_CONFIG_VPN
Adding device owner tests for disallowing vpn configure
Bug: 18928048
Change-Id: I0e0c73cfd213208a19a3d78936c5bc96690f1d54
diff --git a/apps/CtsVerifier/res/values/strings.xml b/apps/CtsVerifier/res/values/strings.xml
index d8a96eb..18e3dbe 100644
--- a/apps/CtsVerifier/res/values/strings.xml
+++ b/apps/CtsVerifier/res/values/strings.xml
@@ -1732,7 +1732,7 @@
<string name="device_owner_wifi_lockdown_info">
Please enter the SSID and auth method of an available WiFi Access Point and press the button to create a
WiFi configuration. This configuration can be seen on Settings > WiFi. The test cases
- are going use this config. Please go through test cases in order (from top to bottom).
+ are going to use this config. Please go through test cases in order (from top to bottom).
</string>
<string name="switch_wifi_lockdown_off_button">WiFi config lockdown off</string>
<string name="switch_wifi_lockdown_on_button">WiFi config lockdown on</string>
@@ -1854,6 +1854,18 @@
<string name="device_owner_user_restriction_set">Set restriction</string>
<string name="device_owner_settings_go">Go</string>
+ <string name="device_owner_disallow_config_vpn">Disallow configuring VPN</string>
+ <string name="device_owner_disallow_config_vpn_info">
+ Please press the Set VPN restriction button to set the VPN restriction.
+ Then press Go to open the VPN page.\n\n
+ Confirm that:\n
+ - You cannot add a new VPN network.\n
+ - You cannot edit, add or remove any existing VPNs.\n
+ \n
+ Use the Back button to return to this page.
+ </string>
+ <string name="device_owner_user_vpn_restriction_set">Set VPN restriction</string>
+
<!-- Strings for JobScheduler Tests -->
<string name="js_test_description">This test is mostly automated, but requires some user interaction. You can pass this test once the list items below are checked.</string>
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
index a6a5e5a..79b9933 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
@@ -75,6 +75,9 @@
PermissionLockdownTestActivity.class.getName();
private static final String DISALLOW_CONFIG_BT_ID = "DISALLOW_CONFIG_BT";
private static final String DISALLOW_CONFIG_WIFI_ID = "DISALLOW_CONFIG_WIFI";
+ private static final String DISALLOW_CONFIG_VPN_ID = "DISALLOW_CONFIG_VPN";
+ //TODO(rgl): This symbol should be available in android.provider.settings
+ private static final String ACTION_VPN_SETTINGS = "android.net.vpn.SETTINGS";
private static final String REMOVE_DEVICE_OWNER_TEST_ID = "REMOVE_DEVICE_OWNER";
@Override
@@ -166,6 +169,19 @@
new Intent(Settings.ACTION_WIFI_SETTINGS))}));
}
+ // DISALLOW_CONFIG_VPN
+ adapter.add(createInteractiveTestItem(this, DISALLOW_CONFIG_VPN_ID,
+ R.string.device_owner_disallow_config_vpn,
+ R.string.device_owner_disallow_config_vpn_info,
+ new ButtonInfo[] {
+ new ButtonInfo(
+ R.string.device_owner_user_vpn_restriction_set,
+ createSetUserRestrictionIntent(
+ UserManager.DISALLOW_CONFIG_VPN)),
+ new ButtonInfo(
+ R.string.device_owner_settings_go,
+ new Intent(ACTION_VPN_SETTINGS))}));
+
// DISALLOW_CONFIG_BLUETOOTH
if (packageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) {
adapter.add(createInteractiveTestItem(this, DISALLOW_CONFIG_BT_ID,
@@ -326,6 +342,7 @@
dpm.setKeyguardDisabled(admin, false);
dpm.clearUserRestriction(admin, UserManager.DISALLOW_CONFIG_BLUETOOTH);
dpm.clearUserRestriction(admin, UserManager.DISALLOW_CONFIG_WIFI);
+ dpm.clearUserRestriction(admin, UserManager.DISALLOW_CONFIG_VPN);
dpm.clearDeviceOwnerApp(getPackageName());
}
}