summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-04-18 02:04:52 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-04-18 02:04:52 +0000
commitf6453fd9c06a575d40c61c281bc92c2e4737e314 (patch)
treee3a7a308ad6c4ffc2147c2ed01ad7bf928044733 /tests
parent8f6aa32ec081631b76a6a75c898a9442bc7061bd (diff)
parentf61e141c8f344e9e92dfdc4203b7dee0762a8a09 (diff)
Merge "PasspointNetworkEvaluator: Ignore networks disconnected by user." into qt-dev
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java34
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkEvaluatorTest.java25
2 files changed, 54 insertions, 5 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
index d21808981..2f73ca7f0 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java
@@ -4415,8 +4415,7 @@ public class WifiConfigManagerTest {
*/
@Test
public void testDisableEphemeralNetwork() throws Exception {
- WifiConfiguration ephemeralNetwork = WifiConfigurationTestUtil.createOpenNetwork();
- ephemeralNetwork.ephemeral = true;
+ WifiConfiguration ephemeralNetwork = WifiConfigurationTestUtil.createEphemeralNetwork();
List<WifiConfiguration> networks = new ArrayList<>();
networks.add(ephemeralNetwork);
@@ -4427,21 +4426,46 @@ public class WifiConfigManagerTest {
WifiConfigurationTestUtil.assertConfigurationsEqualForConfigManagerAddOrUpdate(
networks, retrievedNetworks);
+ verifyExpiryOfTimeout(ephemeralNetwork);
+ }
+
+ /**
+ * Verifies the disconnection of Passpoint network using
+ * {@link WifiConfigManager#disableEphemeralNetwork(String)}.
+ */
+ @Test
+ public void testDisablePasspointNetwork() throws Exception {
+ WifiConfiguration passpointNetwork = WifiConfigurationTestUtil.createPasspointNetwork();
+
+ verifyAddPasspointNetworkToWifiConfigManager(passpointNetwork);
+
+ List<WifiConfiguration> networks = new ArrayList<>();
+ networks.add(passpointNetwork);
+
+ List<WifiConfiguration> retrievedNetworks =
+ mWifiConfigManager.getConfiguredNetworksWithPasswords();
+ WifiConfigurationTestUtil.assertConfigurationsEqualForConfigManagerAddOrUpdate(
+ networks, retrievedNetworks);
+
+ verifyExpiryOfTimeout(passpointNetwork);
+ }
+
+ private void verifyExpiryOfTimeout(WifiConfiguration config) {
// Disable the ephemeral network.
long disableTimeMs = 546643L;
long currentTimeMs = disableTimeMs;
when(mClock.getWallClockMillis()).thenReturn(currentTimeMs);
- mWifiConfigManager.disableEphemeralNetwork(ephemeralNetwork.SSID);
+ mWifiConfigManager.disableEphemeralNetwork(config.SSID);
// Before the expiry of timeout.
currentTimeMs = disableTimeMs + WifiConfigManager.DELETED_EPHEMERAL_SSID_EXPIRY_MS - 1;
when(mClock.getWallClockMillis()).thenReturn(currentTimeMs);
- assertTrue(mWifiConfigManager.wasEphemeralNetworkDeleted(ephemeralNetwork.SSID));
+ assertTrue(mWifiConfigManager.wasEphemeralNetworkDeleted(config.SSID));
// After the expiry of timeout.
currentTimeMs = disableTimeMs + WifiConfigManager.DELETED_EPHEMERAL_SSID_EXPIRY_MS + 1;
when(mClock.getWallClockMillis()).thenReturn(currentTimeMs);
- assertFalse(mWifiConfigManager.wasEphemeralNetworkDeleted(ephemeralNetwork.SSID));
+ assertFalse(mWifiConfigManager.wasEphemeralNetworkDeleted(config.SSID));
}
private NetworkUpdateResult verifyAddOrUpdateNetworkWithProxySettingsAndPermissions(
diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkEvaluatorTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkEvaluatorTest.java
index a396d4d93..6cbd84864 100644
--- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkEvaluatorTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkEvaluatorTest.java
@@ -636,4 +636,29 @@ public class PasspointNetworkEvaluatorTest {
anyInt());
verify(mOnConnectableListener, never()).onConnectable(any(), any(), anyInt());
}
+
+ /**
+ * Verify that when a network matching a home provider is found, but the network was
+ * disconnected previously by user, it returns {@code null} for candidate.
+ */
+ @Test
+ public void evaluateScanResultWithHomeMatchButPreviouslyUserDisconnected() {
+ List<ScanDetail> scanDetails = Arrays.asList(new ScanDetail[]{
+ generateScanDetail(TEST_SSID1, TEST_BSSID1)});
+
+ // Setup matching providers for ScanDetail with TEST_SSID1.
+ Pair<PasspointProvider, PasspointMatch> homeProvider = Pair.create(
+ TEST_PROVIDER1, PasspointMatch.HomeProvider);
+
+ // Return homeProvider for the first ScanDetail (TEST_SSID1).
+ when(mPasspointManager.matchProvider(any(ScanResult.class))).thenReturn(homeProvider);
+ when(mWifiConfigManager.addOrUpdateNetwork(any(WifiConfiguration.class), anyInt()))
+ .thenReturn(new NetworkUpdateResult(TEST_NETWORK_ID));
+ when(mWifiConfigManager.getConfiguredNetwork(TEST_NETWORK_ID)).thenReturn(TEST_CONFIG1);
+ when(mWifiConfigManager.wasEphemeralNetworkDeleted("\"" + TEST_SSID1 + "\""))
+ .thenReturn(true);
+ assertEquals(null, mEvaluator.evaluateNetworks(
+ scanDetails, null, null, false, false, mOnConnectableListener));
+ verify(mOnConnectableListener, never()).onConnectable(any(), any(), anyInt());
+ }
}