diff options
| author | 2017-03-29 22:49:59 +0000 | |
|---|---|---|
| committer | 2017-03-29 22:50:03 +0000 | |
| commit | f1cc8b82b308016e1b47f9c85d860cff6bb76bbb (patch) | |
| tree | 4757186daa272b26da8e9912fa7acf6a386d2d24 | |
| parent | ee40a2652c5aae1c5fa98fb15346e8f0f90031b5 (diff) | |
| parent | f56283812583b651e0e98de2f3e4ce22672a7781 (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.java | 38 |
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)); + } } |