summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHai Shalom <haishalom@google.com>2019-03-21 03:03:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-03-21 03:03:36 +0000
commit67ea084b08b7155fd760f3e8853ff4d4a0dcd3f9 (patch)
treeb8631d890f3b24ccad9ee0c6d5ae9daaf5eaa216 /tests
parentb5335902f30f5e8cc43ea8e44f15ac17f4599e30 (diff)
parentd7d378e1ea929b85b54234b76548bd604fbaef5f (diff)
Merge "[OWE] Open Network selector suggests OWE for non-supporting device"
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTest.java70
1 files changed, 69 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTest.java b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTest.java
index 9cefc2e3b..6e3517246 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSelectorTest.java
@@ -16,6 +16,8 @@
package com.android.server.wifi;
+import static android.net.wifi.WifiManager.WIFI_FEATURE_OWE;
+
import static com.android.server.wifi.WifiConfigurationTestUtil.SECURITY_EAP;
import static com.android.server.wifi.WifiConfigurationTestUtil.SECURITY_NONE;
import static com.android.server.wifi.WifiConfigurationTestUtil.SECURITY_PSK;
@@ -81,7 +83,8 @@ public class WifiNetworkSelectorTest {
mScoringParams,
mWifiConfigManager, mClock,
mLocalLog,
- mWifiMetrics);
+ mWifiMetrics,
+ mWifiNative);
mWifiNetworkSelector.registerNetworkEvaluator(mDummyEvaluator);
mDummyEvaluator.setEvaluatorToSelectCandidate(true);
when(mClock.getElapsedSinceBootMillis()).thenReturn(SystemClock.elapsedRealtime());
@@ -89,6 +92,7 @@ public class WifiNetworkSelectorTest {
when(mWifiScoreCard.lookupBssid(any(), any())).thenReturn(mPerBssid);
mCompatibilityScorer = new CompatibilityScorer(mScoringParams);
mScoreCardBasedScorer = new ScoreCardBasedScorer(mScoringParams);
+ when(mWifiNative.getClientInterfaceName()).thenReturn("wlan0");
}
/** Cleans up test. */
@@ -179,6 +183,7 @@ public class WifiNetworkSelectorTest {
@Mock private WifiScoreCard.PerBssid mPerBssid;
@Mock private WifiCandidates.CandidateScorer mCandidateScorer;
@Mock private WifiMetrics mWifiMetrics;
+ @Mock private WifiNative mWifiNative;
// For simulating the resources, we use a Spy on a MockResource
// (which is really more of a stub than a mock, in spite if its name).
@@ -1172,6 +1177,69 @@ public class WifiNetworkSelectorTest {
}
/**
+ * {@link WifiNetworkSelector#getFilteredScanDetailsForOpenUnsavedNetworks()} for device that
+ * supports enhanced open networks, should filter out networks that are not open and not
+ * enhanced open after network selection is made.
+ *
+ * Expected behavior: return open and enhanced open networks only
+ */
+ @Test
+ public void getfilterOpenUnsavedNetworks_filtersForOpenAndOweNetworksOweSupported() {
+ String[] ssids = {"\"test1\"", "\"test2\"", "\"test3\""};
+ String[] bssids = {"6c:f3:7f:ae:8c:f3", "6c:f3:7f:ae:8c:f4", "6c:f3:7f:ae:8c:f5"};
+ int[] freqs = {2437, 5180, 2414};
+ String[] caps = {"[WPA2-EAP-CCMP][ESS]", "[ESS]", "[RSN-OWE-CCMP][ESS]"};
+ int[] levels = {mThresholdMinimumRssi2G, mThresholdMinimumRssi5G + RSSI_BUMP,
+ mThresholdMinimumRssi2G + RSSI_BUMP};
+ mDummyEvaluator.setEvaluatorToSelectCandidate(false);
+ when(mWifiNative.getSupportedFeatureSet(anyString()))
+ .thenReturn(new Long(WIFI_FEATURE_OWE));
+
+ List<ScanDetail> scanDetails = WifiNetworkSelectorTestUtil.buildScanDetails(
+ ssids, bssids, freqs, caps, levels, mClock);
+ HashSet<String> blacklist = new HashSet<>();
+
+ mWifiNetworkSelector.selectNetwork(scanDetails, blacklist, mWifiInfo, false, true, false);
+ List<ScanDetail> expectedOpenUnsavedNetworks = new ArrayList<>();
+ expectedOpenUnsavedNetworks.add(scanDetails.get(1));
+ expectedOpenUnsavedNetworks.add(scanDetails.get(2));
+ assertEquals("Expect open unsaved networks",
+ expectedOpenUnsavedNetworks,
+ mWifiNetworkSelector.getFilteredScanDetailsForOpenUnsavedNetworks());
+ }
+
+ /**
+ * {@link WifiNetworkSelector#getFilteredScanDetailsForOpenUnsavedNetworks()} for device that
+ * does not support enhanced open networks, should filter out both networks that are not open
+ * and enhanced open after network selection is made.
+ *
+ * Expected behavior: return open networks only
+ */
+ @Test
+ public void getfilterOpenUnsavedNetworks_filtersForOpenAndOweNetworksOweNotSupported() {
+ String[] ssids = {"\"test1\"", "\"test2\"", "\"test3\""};
+ String[] bssids = {"6c:f3:7f:ae:8c:f3", "6c:f3:7f:ae:8c:f4", "6c:f3:7f:ae:8c:f5"};
+ int[] freqs = {2437, 5180, 2414};
+ String[] caps = {"[WPA2-EAP-CCMP][ESS]", "[ESS]", "[RSN-OWE-CCMP][ESS]"};
+ int[] levels = {mThresholdMinimumRssi2G, mThresholdMinimumRssi5G + RSSI_BUMP,
+ mThresholdMinimumRssi2G + RSSI_BUMP};
+ mDummyEvaluator.setEvaluatorToSelectCandidate(false);
+ when(mWifiNative.getSupportedFeatureSet(anyString()))
+ .thenReturn(new Long(~WIFI_FEATURE_OWE));
+
+ List<ScanDetail> scanDetails = WifiNetworkSelectorTestUtil.buildScanDetails(
+ ssids, bssids, freqs, caps, levels, mClock);
+ HashSet<String> blacklist = new HashSet<>();
+
+ mWifiNetworkSelector.selectNetwork(scanDetails, blacklist, mWifiInfo, false, true, false);
+ List<ScanDetail> expectedOpenUnsavedNetworks = new ArrayList<>();
+ expectedOpenUnsavedNetworks.add(scanDetails.get(1));
+ assertEquals("Expect open unsaved networks",
+ expectedOpenUnsavedNetworks,
+ mWifiNetworkSelector.getFilteredScanDetailsForOpenUnsavedNetworks());
+ }
+
+ /**
* {@link WifiNetworkSelector#getFilteredScanDetailsForCarrierUnsavedNetworks()} should filter
* out networks that are not EAP after network selection is made.
*