summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2016-12-13 19:37:41 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-12-13 19:37:42 +0000
commitcb5d15ae89f519a78df0ac34db72aeed814e4402 (patch)
tree6744df2da7f69ad2d8484ed3cdf60b128b5ea0f2 /tests
parent50eacd7524a94a6be52ebf8c09f235f861e3744c (diff)
parent1b76ca405029249b41b38424a253a8c5fa72dab1 (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.java23
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;