summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOscar Shu <xshu@google.com>2019-11-22 23:32:22 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-11-22 23:32:22 +0000
commit5061866142919467d1119c6c5e2cd4e64cb9f25e (patch)
tree6b7060e2eb3a9a6342fd07d72841592a63400abd /tests
parentf197d8606ad319bee12871b47bf2121d014c9b1f (diff)
parentab76156ea09cd07865322a077801d86b99b5ea25 (diff)
Merge "Clear the Bssid blocklist when network is removed"
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/BssidBlocklistMonitorTest.java22
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java1
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiScoreCardTest.java40
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