diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-04-18 02:04:52 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-04-18 02:04:52 +0000 |
commit | f6453fd9c06a575d40c61c281bc92c2e4737e314 (patch) | |
tree | e3a7a308ad6c4ffc2147c2ed01ad7bf928044733 /tests | |
parent | 8f6aa32ec081631b76a6a75c898a9442bc7061bd (diff) | |
parent | f61e141c8f344e9e92dfdc4203b7dee0762a8a09 (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.java | 34 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkEvaluatorTest.java | 25 |
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()); + } } |