summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGlen Kuhne <kuh@google.com>2016-08-01 09:14:29 -0700
committerGlen Kuhne <kuh@google.com>2016-08-26 13:28:13 -0700
commit59f9a74676831ba4634b35d56a1e2bbe9bf4e322 (patch)
tree2a28e2860b7d6fce47b1be3d5b20c45f95b6678d /tests
parentf1d69ca299ecdb8c0b2721533c448870a07c2294 (diff)
WiFiMetrics: Count hidden & passpoint networks
1. Extended the WiFiMetrics proto to include counts for hidden and passpoint networks, counting these for all saved networks, connections and scan results. 2. Extended the counting of Open, Personal and Enterprise network to include scans. 3. Extended ConnectionEvent logging to detect and flag passpoint network connections. 4. Implemented the checks that detect if a scan Result is a hidden network. While I was here: Cleaned up a couple old WifiMetrics <TODO>s, which we will not be doing. BUG=28634987 Change-Id: I2e22bf8d79ccbda84ead700272ff0f1b0f13d2e7 Test: Extended unit tests, executed manually
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
index 6f4e106a9..93742bec5 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
@@ -33,6 +33,8 @@ import org.mockito.MockitoAnnotations;
import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -143,6 +145,8 @@ public class WifiMetricsTest {
private static final int NUM_OPEN_NETWORKS = 2;
private static final int NUM_PERSONAL_NETWORKS = 3;
private static final int NUM_ENTERPRISE_NETWORKS = 5;
+ private static final int NUM_HIDDEN_NETWORKS = 3;
+ private static final int NUM_PASSPOINT_NETWORKS = 4;
private static final boolean TEST_VAL_IS_LOCATION_ENABLED = true;
private static final boolean IS_SCANNING_ALWAYS_ENABLED = true;
private static final int NUM_NEWTORKS_ADDED_BY_USER = 13;
@@ -174,6 +178,44 @@ public class WifiMetricsTest {
private static final int NUM_LAST_RESORT_WATCHDOG_SUCCESSES = 5;
private static final int NUM_RSSI_LEVELS_TO_INCREMENT = 20;
private static final int FIRST_RSSI_LEVEL = -80;
+ private static final int NUM_OPEN_NETWORK_SCAN_RESULTS = 1;
+ private static final int NUM_PERSONAL_NETWORK_SCAN_RESULTS = 4;
+ private static final int NUM_ENTERPRISE_NETWORK_SCAN_RESULTS = 3;
+ private static final int NUM_HIDDEN_NETWORK_SCAN_RESULTS = 1;
+ private static final int NUM_HOTSPOT2_R1_NETWORK_SCAN_RESULTS = 1;
+ private static final int NUM_HOTSPOT2_R2_NETWORK_SCAN_RESULTS = 2;
+ private static final int NUM_SCANS = 5;
+ private static final int NUM_TOTAL_SCAN_RESULTS = 8;
+
+ private ScanDetail buildMockScanDetail(boolean hidden, NetworkDetail.HSRelease hSRelease,
+ String capabilities) {
+ ScanDetail mockScanDetail = mock(ScanDetail.class);
+ NetworkDetail mockNetworkDetail = mock(NetworkDetail.class);
+ ScanResult mockScanResult = mock(ScanResult.class);
+ when(mockScanDetail.getNetworkDetail()).thenReturn(mockNetworkDetail);
+ when(mockScanDetail.getScanResult()).thenReturn(mockScanResult);
+ when(mockNetworkDetail.isHiddenBeaconFrame()).thenReturn(hidden);
+ when(mockNetworkDetail.getHSRelease()).thenReturn(hSRelease);
+ mockScanResult.capabilities = capabilities;
+ return mockScanDetail;
+ }
+
+ private List<ScanDetail> buildMockScanDetailList() {
+ List<ScanDetail> mockScanDetails = new ArrayList<ScanDetail>();
+ mockScanDetails.add(buildMockScanDetail(true, null, "[ESS]"));
+ mockScanDetails.add(buildMockScanDetail(false, null, "[WPA2-PSK-CCMP][ESS]"));
+ mockScanDetails.add(buildMockScanDetail(false, null, "[WPA-PSK-CCMP]"));
+ mockScanDetails.add(buildMockScanDetail(false, null, "[WPA-PSK-CCMP]"));
+ mockScanDetails.add(buildMockScanDetail(false, null, "[WEP]"));
+ mockScanDetails.add(buildMockScanDetail(false, NetworkDetail.HSRelease.R2,
+ "[WPA-EAP-CCMP]"));
+ mockScanDetails.add(buildMockScanDetail(false, NetworkDetail.HSRelease.R2,
+ "[WPA2-EAP+FT/EAP-CCMP]"));
+ mockScanDetails.add(buildMockScanDetail(false, NetworkDetail.HSRelease.R1,
+ "[WPA-EAP-CCMP]"));
+ return mockScanDetails;
+ }
+
/**
* Set simple metrics, increment others
*/
@@ -182,6 +224,8 @@ public class WifiMetricsTest {
mWifiMetrics.setNumOpenNetworks(NUM_OPEN_NETWORKS);
mWifiMetrics.setNumPersonalNetworks(NUM_PERSONAL_NETWORKS);
mWifiMetrics.setNumEnterpriseNetworks(NUM_ENTERPRISE_NETWORKS);
+ mWifiMetrics.setNumHiddenNetworks(NUM_HIDDEN_NETWORKS);
+ mWifiMetrics.setNumPasspointNetworks(NUM_PASSPOINT_NETWORKS);
mWifiMetrics.setNumNetworksAddedByUser(NUM_NEWTORKS_ADDED_BY_USER);
mWifiMetrics.setNumNetworksAddedByApps(NUM_NEWTORKS_ADDED_BY_APPS);
mWifiMetrics.setIsLocationEnabled(TEST_VAL_IS_LOCATION_ENABLED);
@@ -272,6 +316,10 @@ public class WifiMetricsTest {
mWifiMetrics.incrementAlertReasonCount(1);
mWifiMetrics.incrementAlertReasonCount(1);
mWifiMetrics.incrementAlertReasonCount(2);
+ List<ScanDetail> mockScanDetails = buildMockScanDetailList();
+ for (int i = 0; i < NUM_SCANS; i++) {
+ mWifiMetrics.countScanResults(mockScanDetails);
+ }
}
/**
@@ -290,6 +338,8 @@ public class WifiMetricsTest {
assertEquals("mDeserializedWifiMetrics.numNetworksAddedByUser "
+ "== NUM_NEWTORKS_ADDED_BY_USER",
mDeserializedWifiMetrics.numNetworksAddedByUser, NUM_NEWTORKS_ADDED_BY_USER);
+ assertEquals(NUM_HIDDEN_NETWORKS, mDeserializedWifiMetrics.numHiddenNetworks);
+ assertEquals(NUM_PASSPOINT_NETWORKS, mDeserializedWifiMetrics.numPasspointNetworks);
assertEquals("mDeserializedWifiMetrics.numNetworksAddedByApps "
+ "== NUM_NEWTORKS_ADDED_BY_APPS",
mDeserializedWifiMetrics.numNetworksAddedByApps, NUM_NEWTORKS_ADDED_BY_APPS);
@@ -359,6 +409,22 @@ public class WifiMetricsTest {
assertEquals(3, mDeserializedWifiMetrics.alertReasonCount[1].count);
assertEquals(1, mDeserializedWifiMetrics.alertReasonCount[2].count);
assertEquals(3, mDeserializedWifiMetrics.alertReasonCount.length);
+ assertEquals(NUM_TOTAL_SCAN_RESULTS * NUM_SCANS,
+ mDeserializedWifiMetrics.numTotalScanResults);
+ assertEquals(NUM_OPEN_NETWORK_SCAN_RESULTS * NUM_SCANS,
+ mDeserializedWifiMetrics.numOpenNetworkScanResults);
+ assertEquals(NUM_PERSONAL_NETWORK_SCAN_RESULTS * NUM_SCANS,
+ mDeserializedWifiMetrics.numPersonalNetworkScanResults);
+ assertEquals(NUM_ENTERPRISE_NETWORK_SCAN_RESULTS * NUM_SCANS,
+ mDeserializedWifiMetrics.numEnterpriseNetworkScanResults);
+ assertEquals(NUM_HIDDEN_NETWORK_SCAN_RESULTS * NUM_SCANS,
+ mDeserializedWifiMetrics.numHiddenNetworkScanResults);
+ assertEquals(NUM_HOTSPOT2_R1_NETWORK_SCAN_RESULTS * NUM_SCANS,
+ mDeserializedWifiMetrics.numHotspot2R1NetworkScanResults);
+ assertEquals(NUM_HOTSPOT2_R2_NETWORK_SCAN_RESULTS * NUM_SCANS,
+ mDeserializedWifiMetrics.numHotspot2R2NetworkScanResults);
+ assertEquals(NUM_SCANS,
+ mDeserializedWifiMetrics.numScans);
}
/**