diff options
author | Oscar Shu <xshu@google.com> | 2019-11-22 23:32:22 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-11-22 23:32:22 +0000 |
commit | 5061866142919467d1119c6c5e2cd4e64cb9f25e (patch) | |
tree | 6b7060e2eb3a9a6342fd07d72841592a63400abd /tests | |
parent | f197d8606ad319bee12871b47bf2121d014c9b1f (diff) | |
parent | ab76156ea09cd07865322a077801d86b99b5ea25 (diff) |
Merge "Clear the Bssid blocklist when network is removed"
Diffstat (limited to 'tests')
3 files changed, 62 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/BssidBlocklistMonitorTest.java b/tests/wifitests/src/com/android/server/wifi/BssidBlocklistMonitorTest.java index 068859c78..16eb976ea 100644 --- a/tests/wifitests/src/com/android/server/wifi/BssidBlocklistMonitorTest.java +++ b/tests/wifitests/src/com/android/server/wifi/BssidBlocklistMonitorTest.java @@ -449,7 +449,8 @@ public class BssidBlocklistMonitorTest { } /** - * Verify that the BSSID blocklist is cleared for the entire network. + * Verify that clearBssidBlocklistForSsid removes all BSSIDs for that network from the + * blocklist. */ @Test public void testClearBssidBlocklistForSsid() { @@ -462,5 +463,24 @@ public class BssidBlocklistMonitorTest { Set<String> bssidList = mBssidBlocklistMonitor.updateAndGetBssidBlocklist(); assertEquals(1, bssidList.size()); assertTrue(bssidList.contains(TEST_BSSID_3)); + verify(mWifiScoreCard, never()).resetBssidBlocklistStreakForSsid(TEST_SSID_1); + } + + /** + * Verify that handleNetworkRemoved removes all BSSIDs for that network from the blocklist + * and also reset the blocklist streak count from WifiScoreCard. + */ + @Test + public void testHandleNetworkRemovedResetsState() { + verifyAddMultipleBssidsToBlocklist(); + + // Clear the blocklist for SSID 1. + mBssidBlocklistMonitor.handleNetworkRemoved(TEST_SSID_1); + + // Verify that the blocklist is deleted for SSID 1 and the BSSID for SSID 2 still remains. + Set<String> bssidList = mBssidBlocklistMonitor.updateAndGetBssidBlocklist(); + assertEquals(1, bssidList.size()); + assertTrue(bssidList.contains(TEST_BSSID_3)); + verify(mWifiScoreCard).resetBssidBlocklistStreakForSsid(TEST_SSID_1); } } diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java index 2e2a9fb86..f1ea4c457 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java @@ -5379,6 +5379,7 @@ public class WifiConfigManagerTest extends WifiBaseTest { verifyNetworkRemoveBroadcast(configuration); // Verify if the config store write was triggered without this new configuration. verifyNetworkNotInConfigStoreData(configuration); + verify(mBssidBlocklistMonitor, atLeastOnce()).handleNetworkRemoved(configuration.SSID); } /** diff --git a/tests/wifitests/src/com/android/server/wifi/WifiScoreCardTest.java b/tests/wifitests/src/com/android/server/wifi/WifiScoreCardTest.java index f1590144a..c02ecf0f8 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiScoreCardTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiScoreCardTest.java @@ -154,6 +154,46 @@ public class WifiScoreCardTest extends WifiBaseTest { } /** + * Test clearing the blocklist streak for all APs belonging to a SSID. + */ + @Test + public void testClearBssidBlocklistStreakForSsid() { + // Increment and verify the blocklist streak for SSID_1, BSSID_1 + mWifiInfo.setSSID(TEST_SSID_1); + mWifiInfo.setBSSID(TEST_BSSID_1.toString()); + mWifiScoreCard.noteIpConfiguration(mWifiInfo); + for (int i = 1; i < 3; i++) { + assertEquals(i, mWifiScoreCard.incrementBssidBlocklistStreak( + mWifiInfo.getSSID(), mWifiInfo.getBSSID(), TEST_BSSID_FAILURE_REASON)); + assertEquals(i, mWifiScoreCard.getBssidBlocklistStreak( + mWifiInfo.getSSID(), mWifiInfo.getBSSID(), TEST_BSSID_FAILURE_REASON)); + } + + // Increment and verify the blocklist streak for SSID_2, BSSID_2 + mWifiInfo.setSSID(TEST_SSID_2); + mWifiInfo.setBSSID(TEST_BSSID_2.toString()); + mWifiScoreCard.noteIpConfiguration(mWifiInfo); + for (int i = 1; i < 3; i++) { + assertEquals(i, mWifiScoreCard.incrementBssidBlocklistStreak( + mWifiInfo.getSSID(), mWifiInfo.getBSSID(), TEST_BSSID_FAILURE_REASON)); + assertEquals(i, mWifiScoreCard.getBssidBlocklistStreak( + mWifiInfo.getSSID(), mWifiInfo.getBSSID(), TEST_BSSID_FAILURE_REASON)); + } + + // Clear the blocklist streak for SSID_2 + mWifiScoreCard.resetBssidBlocklistStreakForSsid(mWifiInfo.getSSID()); + // Verify that the blocklist streak for SSID_2 is cleared. + assertEquals(0, mWifiScoreCard.getBssidBlocklistStreak( + mWifiInfo.getSSID(), mWifiInfo.getBSSID(), TEST_BSSID_FAILURE_REASON)); + + // verify that the blocklist streak for SSID_1 is not cleared. + mWifiInfo.setSSID(TEST_SSID_1); + mWifiInfo.setBSSID(TEST_BSSID_1.toString()); + assertEquals(2, mWifiScoreCard.getBssidBlocklistStreak( + mWifiInfo.getSSID(), mWifiInfo.getBSSID(), TEST_BSSID_FAILURE_REASON)); + } + + /** * Test identifiers. */ @Test |