Add CTS test for WifiManager#disableEphemeralNetwork
Bug: 150644299
Test: atest WifiManagerTest
Change-Id: I5cd96138afbf99ec57018c9dd45a958f88f8a7c5
diff --git a/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java b/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
index d3e013c..829c65d 100644
--- a/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
+++ b/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
@@ -2650,6 +2650,48 @@
}
/**
+ * Tests {@link WifiManager#disableEphemeralNetwork(String)}.
+ */
+ public void testDisableEphemeralNetwork() throws Exception {
+ if (!WifiFeature.isWifiSupported(getContext())) {
+ // skip the test if WiFi is not supported
+ return;
+ }
+ // Trigger a scan & wait for connection to one of the saved networks.
+ mWifiManager.startScan();
+ waitForConnection();
+
+ UiAutomation uiAutomation = InstrumentationRegistry.getInstrumentation().getUiAutomation();
+ List<WifiConfiguration> savedNetworks = null;
+ try {
+ uiAutomation.adoptShellPermissionIdentity();
+ // Temporarily disable on all networks.
+ savedNetworks = mWifiManager.getConfiguredNetworks();
+ for (WifiConfiguration network : savedNetworks) {
+ mWifiManager.disableEphemeralNetwork(network.SSID);
+ }
+ // trigger a disconnect and wait for disconnect.
+ mWifiManager.disconnect();
+ waitForDisconnection();
+
+ // Now trigger scan and ensure that the device does not connect to any networks.
+ mWifiManager.startScan();
+ ensureNotConnected();
+
+ // Toggle Wifi off/on should clean the state.
+ setWifiEnabled(false);
+ setWifiEnabled(true);
+
+ // Trigger a scan & wait for connection to one of the saved networks.
+ mWifiManager.startScan();
+ waitForConnection();
+ } finally {
+ uiAutomation.dropShellPermissionIdentity();
+ setWifiEnabled(false);
+ }
+ }
+
+ /**
* Tests {@link WifiManager#allowAutojoin(int, boolean)}.
*/
public void testAllowAutojoin() throws Exception {