summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2017-03-29 22:49:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-03-29 22:50:03 +0000
commitf1cc8b82b308016e1b47f9c85d860cff6bb76bbb (patch)
tree4757186daa272b26da8e9912fa7acf6a386d2d24
parentee40a2652c5aae1c5fa98fb15346e8f0f90031b5 (diff)
parentf56283812583b651e0e98de2f3e4ce22672a7781 (diff)
Merge "wifi: add test for tracking Passpoint AP on devices with Passpoint disabled" into oc-dev
-rw-r--r--packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
index 46726f2f1438..02deb44d0cd4 100644
--- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
+++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
@@ -20,9 +20,11 @@ import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -580,4 +582,40 @@ public class WifiTrackerTest {
mWorkerThread.quit();
updateScores();
}
+
+ /**
+ * Verify that tracking a Passpoint AP on a device with Passpoint disabled doesn't cause
+ * any crash.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void trackPasspointApWithPasspointDisabled() throws Exception {
+ WifiTracker tracker = createMockedWifiTracker();
+
+ // Add a Passpoint AP to the scan results.
+ List<ScanResult> results = new ArrayList<>();
+ ScanResult passpointAp = new ScanResult(
+ WifiSsid.createFromAsciiEncoded(SSID_1),
+ BSSID_1,
+ 0, // hessid
+ 0, //anqpDomainId
+ null, // osuProviders
+ "", // capabilities
+ RSSI_1,
+ 0, // frequency
+ SystemClock.elapsedRealtime() * 1000 /* microsecond timestamp */);
+ passpointAp.setFlag(ScanResult.FLAG_PASSPOINT_NETWORK);
+ results.add(passpointAp);
+
+ // Update access point and verify UnsupportedOperationException is being caught for
+ // call to WifiManager#getMatchingWifiConfig.
+ when(mockWifiManager.getConfiguredNetworks())
+ .thenReturn(new ArrayList<WifiConfiguration>());
+ when(mockWifiManager.getScanResults()).thenReturn(results);
+ doThrow(new UnsupportedOperationException())
+ .when(mockWifiManager).getMatchingWifiConfig(any(ScanResult.class));
+ tracker.forceUpdate();
+ verify(mockWifiManager).getMatchingWifiConfig(any(ScanResult.class));
+ }
}