diff options
author | Hai Shalom <haishalom@google.com> | 2019-03-21 03:03:36 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-03-21 03:03:36 +0000 |
commit | 67ea084b08b7155fd760f3e8853ff4d4a0dcd3f9 (patch) | |
tree | b8631d890f3b24ccad9ee0c6d5ae9daaf5eaa216 /tests | |
parent | b5335902f30f5e8cc43ea8e44f15ac17f4599e30 (diff) | |
parent | d7d378e1ea929b85b54234b76548bd604fbaef5f (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.java | 70 |
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. * |