diff options
author | Roshan Pius <rpius@google.com> | 2016-12-13 19:37:41 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-12-13 19:37:42 +0000 |
commit | cb5d15ae89f519a78df0ac34db72aeed814e4402 (patch) | |
tree | 6744df2da7f69ad2d8484ed3cdf60b128b5ea0f2 /tests | |
parent | 50eacd7524a94a6be52ebf8c09f235f861e3744c (diff) | |
parent | 1b76ca405029249b41b38424a253a8c5fa72dab1 (diff) |
Merge "WifiScanninService: Reject bgscan requests on invalid caps"
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java index b93fa3822..8e3be65cb 100644 --- a/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java +++ b/tests/wifitests/src/com/android/server/wifi/scanner/WifiScanningServiceTest.java @@ -80,6 +80,8 @@ import java.util.regex.Pattern; public class WifiScanningServiceTest { public static final String TAG = "WifiScanningServiceTest"; + private static final int TEST_MAX_SCAN_BUCKETS_IN_CAPABILITIES = 8; + @Mock Context mContext; TestAlarmManager mAlarmManager; @Mock WifiScannerImpl mWifiScannerImpl; @@ -332,15 +334,15 @@ public class WifiScanningServiceTest { private static final int MAX_AP_PER_SCAN = 16; private void startServiceAndLoadDriver() { mWifiScanningServiceImpl.startService(); - setupAndLoadDriver(); + setupAndLoadDriver(TEST_MAX_SCAN_BUCKETS_IN_CAPABILITIES); } - private void setupAndLoadDriver() { + private void setupAndLoadDriver(int max_scan_buckets) { when(mWifiScannerImpl.getScanCapabilities(any(WifiNative.ScanCapabilities.class))) .thenAnswer(new AnswerWithArguments() { public boolean answer(WifiNative.ScanCapabilities capabilities) { capabilities.max_scan_cache_size = Integer.MAX_VALUE; - capabilities.max_scan_buckets = 8; + capabilities.max_scan_buckets = max_scan_buckets; capabilities.max_ap_cache_per_scan = MAX_AP_PER_SCAN; capabilities.max_rssi_sample_size = 8; capabilities.max_scan_reporting_threshold = 10; @@ -442,7 +444,7 @@ public class WifiScanningServiceTest { BidirectionalAsyncChannel controlChannel = connectChannel(mock(Handler.class)); mLooper.dispatchAll(); - setupAndLoadDriver(); + setupAndLoadDriver(TEST_MAX_SCAN_BUCKETS_IN_CAPABILITIES); controlChannel.disconnect(); mLooper.dispatchAll(); @@ -471,6 +473,19 @@ public class WifiScanningServiceTest { "Invalid request"); } + @Test + public void rejectBackgroundScanRequestWhenHalReturnsInvalidCapabilities() throws Exception { + mWifiScanningServiceImpl.startService(); + setupAndLoadDriver(0); + + Handler handler = mock(Handler.class); + BidirectionalAsyncChannel controlChannel = connectChannel(handler); + InOrder order = inOrder(handler); + sendBackgroundScanRequest(controlChannel, 122, generateValidScanSettings(), null); + mLooper.dispatchAll(); + verifyFailedResponse(order, handler, 122, WifiScanner.REASON_UNSPECIFIED, "not available"); + } + private void doSuccessfulSingleScan(WifiScanner.ScanSettings requestSettings, WifiNative.ScanSettings nativeSettings, ScanResults results) throws RemoteException { int requestId = 12; |