summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHai Shalom <haishalom@google.com>2019-12-04 15:50:30 -0800
committerHai Shalom <haishalom@google.com>2019-12-18 11:48:51 -0800
commitc23e1d94cd58c79d2e996707efdbd89e2a059224 (patch)
tree64a266b6589b365f9c356fbdbcd7f022114aa679 /tests
parent1d09a9de33cf6c14ff91b97855d0179cd4609fbf (diff)
[DPP R2] Added support for DPP R2 events
Added support for DPP R2 events that provide additional details about the onboarding process of a remote enrollee. Specifically, DPP R2 configurator waits for response from the enrollee, which reports back the SSID, tried channels and band support in case it cannot find the AP. When it reports success, then it means that it is acutally connected. Bug: 139381558 Test: Manual tests with DPP R1 and R2 enrollees Test: atest DppManagerTest Test: atest WifiManagerTest Test: atest EasyConnectStatusCallbackTest Test: act.py -c ../WifiDppConfig.json -tc WifiDppTest Change-Id: I8d2ac629ce309f615fb53fad0136ad2611fb69fe
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/DppManagerTest.java247
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java3
2 files changed, 177 insertions, 73 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/DppManagerTest.java b/tests/wifitests/src/com/android/server/wifi/DppManagerTest.java
index 9aaaca28a..9bfa9b6a2 100644
--- a/tests/wifitests/src/com/android/server/wifi/DppManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/DppManagerTest.java
@@ -18,25 +18,38 @@ package com.android.server.wifi;
import static android.hardware.wifi.supplicant.V1_2.DppAkm.PSK;
import static android.hardware.wifi.supplicant.V1_2.DppAkm.SAE;
-import static android.hardware.wifi.supplicant.V1_2.DppFailureCode.AUTHENTICATION;
-import static android.hardware.wifi.supplicant.V1_2.DppFailureCode.BUSY;
-import static android.hardware.wifi.supplicant.V1_2.DppFailureCode.CONFIGURATION;
-import static android.hardware.wifi.supplicant.V1_2.DppFailureCode.FAILURE;
-import static android.hardware.wifi.supplicant.V1_2.DppFailureCode.NOT_COMPATIBLE;
-import static android.hardware.wifi.supplicant.V1_2.DppFailureCode.NOT_SUPPORTED;
-import static android.hardware.wifi.supplicant.V1_2.DppFailureCode.TIMEOUT;
-import static android.hardware.wifi.supplicant.V1_2.DppProgressCode.AUTHENTICATION_SUCCESS;
-import static android.hardware.wifi.supplicant.V1_2.DppProgressCode.RESPONSE_PENDING;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.AUTHENTICATION;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.BUSY;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.CANNOT_FIND_NETWORK;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.CONFIGURATION;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.CONFIGURATION_REJECTED;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.ENROLLEE_AUTHENTICATION;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.FAILURE;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.NOT_COMPATIBLE;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.NOT_SUPPORTED;
+import static android.hardware.wifi.supplicant.V1_3.DppFailureCode.TIMEOUT;
+import static android.hardware.wifi.supplicant.V1_3.DppProgressCode.AUTHENTICATION_SUCCESS;
+import static android.hardware.wifi.supplicant.V1_3.DppProgressCode.CONFIGURATION_ACCEPTED;
+import static android.hardware.wifi.supplicant.V1_3.DppProgressCode.CONFIGURATION_SENT_WAITING_RESPONSE;
+import static android.hardware.wifi.supplicant.V1_3.DppProgressCode.RESPONSE_PENDING;
+import static android.hardware.wifi.supplicant.V1_3.DppSuccessCode.CONFIGURATION_APPLIED;
+import static android.hardware.wifi.supplicant.V1_3.DppSuccessCode.CONFIGURATION_SENT;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_BUSY;
+import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_CONFIGURATION;
+import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION;
+import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_GENERIC;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_TIMEOUT;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS;
+import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED;
+import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING;
+import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED;
import static android.net.wifi.EasyConnectStatusCallback.EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT;
import static android.net.wifi.WifiManager.EASY_CONNECT_NETWORK_ROLE_STA;
@@ -153,12 +166,13 @@ public class DppManagerTest extends WifiBaseTest {
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
verify(mDppCallback).onFailure(
- EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK);
+ eq(EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK);
+ verify(mDppMetrics).updateDppFailure(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK));
verifyNoMoreInteractions(mDppMetrics);
}
@@ -181,12 +195,13 @@ public class DppManagerTest extends WifiBaseTest {
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
verify(mDppCallback).onFailure(
- EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_URI);
+ eq(EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_URI), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_FAILURE_INVALID_URI);
+ verify(mDppMetrics).updateDppFailure(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_FAILURE_INVALID_URI));
verify(mDppMetrics).updateDppOperationTime(anyInt());
verifyNoMoreInteractions(mDppMetrics);
}
@@ -198,12 +213,13 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsEnrolleeInitiator(0, mBinder, mUri, mDppCallback);
verify(mDppCallback).onFailure(
- EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_URI);
+ eq(EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_URI), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppEnrolleeInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_FAILURE_INVALID_URI);
+ verify(mDppMetrics).updateDppFailure(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_FAILURE_INVALID_URI));
verify(mDppMetrics).updateDppOperationTime(anyInt());
verifyNoMoreInteractions(mDppMetrics);
}
@@ -227,11 +243,12 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
- verify(mDppCallback).onFailure(EASY_CONNECT_EVENT_FAILURE_GENERIC);
+ verify(mDppCallback).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_GENERIC), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EASY_CONNECT_EVENT_FAILURE_GENERIC);
+ verify(mDppMetrics).updateDppFailure(eq(EASY_CONNECT_EVENT_FAILURE_GENERIC));
verify(mDppMetrics).updateDppOperationTime(anyInt());
verifyNoMoreInteractions(mDppMetrics);
}
@@ -243,11 +260,12 @@ public class DppManagerTest extends WifiBaseTest {
false);
mDppManager.startDppAsEnrolleeInitiator(0, mBinder, mUri, mDppCallback);
- verify(mDppCallback).onFailure(EASY_CONNECT_EVENT_FAILURE_GENERIC);
+ verify(mDppCallback).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_GENERIC), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppEnrolleeInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EASY_CONNECT_EVENT_FAILURE_GENERIC);
+ verify(mDppMetrics).updateDppFailure(eq(EASY_CONNECT_EVENT_FAILURE_GENERIC));
verify(mDppMetrics).updateDppOperationTime(anyInt());
verifyNoMoreInteractions(mDppMetrics);
}
@@ -267,7 +285,7 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppConfiguratorInitiator(eq(TEST_INTERFACE_NAME),
@@ -292,7 +310,7 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppConfiguratorInitiator(eq(TEST_INTERFACE_NAME),
@@ -316,12 +334,13 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
- verify(mDppCallback).onFailure(EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK);
+ verify(mDppCallback).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK);
+ verify(mDppMetrics).updateDppFailure(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK));
verifyNoMoreInteractions(mDppMetrics);
}
@@ -339,19 +358,20 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
- verify(mDppCallback).onFailure(EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK);
+ verify(mDppCallback).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK);
+ verify(mDppMetrics).updateDppFailure(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK));
verifyNoMoreInteractions(mDppMetrics);
}
@Test
public void testStartDppAsEnrolleeInitiatorStartCorrectly() throws Exception {
mDppManager.startDppAsEnrolleeInitiator(0, mBinder, mUri, mDppCallback);
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppEnrolleeInitiator(eq(TEST_INTERFACE_NAME),
@@ -374,9 +394,8 @@ public class DppManagerTest extends WifiBaseTest {
selectedNetwork);
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
- EASY_CONNECT_NETWORK_ROLE_STA,
- mDppCallback);
- verify(mDppCallback, never()).onFailure(anyInt());
+ EASY_CONNECT_NETWORK_ROLE_STA, mDppCallback);
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppConfiguratorInitiator(eq(TEST_INTERFACE_NAME),
@@ -386,11 +405,12 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsConfiguratorInitiator(1, mBinder, mUri, 1,
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallbackConcurrent);
- verify(mDppCallbackConcurrent).onFailure(EASY_CONNECT_EVENT_FAILURE_BUSY);
+ verify(mDppCallbackConcurrent).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_BUSY), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallbackConcurrent, never()).onSuccess(anyInt());
verify(mDppCallbackConcurrent, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics, times(2)).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EASY_CONNECT_EVENT_FAILURE_BUSY);
+ verify(mDppMetrics).updateDppFailure(eq(EASY_CONNECT_EVENT_FAILURE_BUSY));
verifyNoMoreInteractions(mDppMetrics);
}
@@ -398,18 +418,19 @@ public class DppManagerTest extends WifiBaseTest {
public void testStartDppAsEnrolleeInitiatorStartCorrectlyAndRejectConcurrentRequest()
throws Exception {
mDppManager.startDppAsEnrolleeInitiator(0, mBinder, mUri, mDppCallback);
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppEnrolleeInitiator(eq(TEST_INTERFACE_NAME),
eq(TEST_PEER_ID), anyInt());
mDppManager.startDppAsEnrolleeInitiator(1, mBinder, mUri, mDppCallbackConcurrent);
- verify(mDppCallbackConcurrent).onFailure(EASY_CONNECT_EVENT_FAILURE_BUSY);
+ verify(mDppCallbackConcurrent).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_BUSY), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallbackConcurrent, never()).onSuccess(anyInt());
verify(mDppCallbackConcurrent, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics, times(2)).updateDppEnrolleeInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EASY_CONNECT_EVENT_FAILURE_BUSY);
+ verify(mDppMetrics).updateDppFailure(eq(EASY_CONNECT_EVENT_FAILURE_BUSY));
verifyNoMoreInteractions(mDppMetrics);
}
@@ -432,7 +453,7 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
EASY_CONNECT_NETWORK_ROLE_STA, mDppCallback);
verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppConfiguratorInitiator(eq(TEST_INTERFACE_NAME),
@@ -445,17 +466,17 @@ public class DppManagerTest extends WifiBaseTest {
// Generate a progress event
dppEventCallback.onProgress(AUTHENTICATION_SUCCESS);
mLooper.dispatchAll();
- verify(mDppCallback).onProgress(EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS);
+ verify(mDppCallback).onProgress(eq(EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS));
// Generate an onSuccess callback
- dppEventCallback.onSuccessConfigSent();
+ dppEventCallback.onSuccess(CONFIGURATION_SENT);
mLooper.dispatchAll();
- verify(mDppCallback).onSuccess(EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT);
+ verify(mDppCallback).onSuccess(eq(EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT));
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppConfiguratorSuccess(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT);
+ verify(mDppMetrics).updateDppConfiguratorSuccess(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT));
verify(mDppMetrics).updateDppOperationTime(anyInt());
verifyNoMoreInteractions(mDppMetrics);
}
@@ -468,7 +489,7 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsEnrolleeInitiator(0, mBinder, mUri, mDppCallback);
verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppEnrolleeInitiator(eq(TEST_INTERFACE_NAME),
@@ -487,7 +508,7 @@ public class DppManagerTest extends WifiBaseTest {
// Generate a progress event
dppEventCallback.onProgress(AUTHENTICATION_SUCCESS);
mLooper.dispatchAll();
- verify(mDppCallback).onProgress(EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS);
+ verify(mDppCallback).onProgress(eq(EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS));
// Generate result
NetworkUpdateResult networkUpdateResult = new NetworkUpdateResult(TEST_NETWORK_ID);
@@ -496,9 +517,9 @@ public class DppManagerTest extends WifiBaseTest {
dppEventCallback.onSuccessConfigReceived(selectedNetwork);
mLooper.dispatchAll();
- verify(mDppCallback).onSuccessConfigReceived(TEST_NETWORK_ID);
+ verify(mDppCallback).onSuccessConfigReceived(eq(TEST_NETWORK_ID));
verify(mDppCallback, never()).onSuccess(anyInt());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppMetrics).updateDppEnrolleeInitiatorRequests();
verify(mDppMetrics).updateDppEnrolleeSuccess();
verify(mDppMetrics).updateDppOperationTime(anyInt());
@@ -525,7 +546,7 @@ public class DppManagerTest extends WifiBaseTest {
EASY_CONNECT_NETWORK_ROLE_STA,
mDppCallback);
verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppConfiguratorInitiator(eq(TEST_INTERFACE_NAME),
@@ -538,17 +559,18 @@ public class DppManagerTest extends WifiBaseTest {
// Generate a progress event
dppEventCallback.onProgress(RESPONSE_PENDING);
mLooper.dispatchAll();
- verify(mDppCallback).onProgress(EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING);
+ verify(mDppCallback).onProgress(eq(EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING));
// Generate an onFailure callback
- dppEventCallback.onFailure(AUTHENTICATION);
+ dppEventCallback.onFailure(AUTHENTICATION, null, null, null);
mLooper.dispatchAll();
- verify(mDppCallback).onFailure(EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION);
+ verify(mDppCallback).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION);
+ verify(mDppMetrics).updateDppFailure(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION));
verify(mDppMetrics).updateDppOperationTime(anyInt());
verifyNoMoreInteractions(mDppMetrics);
verifyCleanUpResources();
@@ -575,7 +597,7 @@ public class DppManagerTest extends WifiBaseTest {
mDppManager.startDppAsEnrolleeInitiator(0, mBinder, mUri, mDppCallback);
verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppEnrolleeInitiator(eq(TEST_INTERFACE_NAME),
@@ -586,17 +608,18 @@ public class DppManagerTest extends WifiBaseTest {
// Generate a progress event
dppEventCallback.onProgress(RESPONSE_PENDING);
mLooper.dispatchAll();
- verify(mDppCallback).onProgress(EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING);
+ verify(mDppCallback).onProgress(eq(EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING));
// Generate an onFailure callback
- dppEventCallback.onFailure(AUTHENTICATION);
+ dppEventCallback.onFailure(AUTHENTICATION, null, null, null);
mLooper.dispatchAll();
- verify(mDppCallback).onFailure(EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION);
+ verify(mDppCallback).onFailure(eq(EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION), eq(null),
+ eq(null), eq(new int[0]));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppEnrolleeInitiatorRequests();
- verify(mDppMetrics).updateDppFailure(EasyConnectStatusCallback
- .EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION);
+ verify(mDppMetrics).updateDppFailure(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION));
verify(mDppMetrics).updateDppOperationTime(anyInt());
verifyNoMoreInteractions(mDppMetrics);
verifyCleanUpResources();
@@ -636,7 +659,7 @@ public class DppManagerTest extends WifiBaseTest {
// Start with UID 10
mDppManager.startDppAsEnrolleeInitiator(10, mBinder, mUri, mDppCallback);
verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppEnrolleeInitiator(eq(TEST_INTERFACE_NAME),
@@ -671,7 +694,7 @@ public class DppManagerTest extends WifiBaseTest {
// Start with UID 10
mDppManager.startDppAsEnrolleeInitiator(10, mBinder, mUri, mDppCallback);
verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppEnrolleeInitiator(eq(TEST_INTERFACE_NAME),
@@ -679,7 +702,7 @@ public class DppManagerTest extends WifiBaseTest {
// Check that WifiNative is called to stop the DPP session
mDppManager.stopDppSession(10);
- verify(mWifiNative).stopDppInitiator(TEST_INTERFACE_NAME);
+ verify(mWifiNative).stopDppInitiator(eq(TEST_INTERFACE_NAME));
verifyCleanUpResources();
}
@@ -718,25 +741,46 @@ public class DppManagerTest extends WifiBaseTest {
testOnFailureCallback(FAILURE, EASY_CONNECT_EVENT_FAILURE_GENERIC);
}
- private void testOnFailureCallback(int internalFailure, int appFailure) throws Exception {
+ @Test
+ public void testOnFailureCallbackCannotFindNetwork() throws Exception {
+ int[] bandList = new int[]{1, 6, 11};
+ testOnFailureCallback(CANNOT_FIND_NETWORK, "SSID", "1, 3, 6, 8, 11",
+ bandList, EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK);
+ }
+
+ @Test
+ public void testOnFailureCallbackConfigurationRejected() throws Exception {
+ testOnFailureCallback(CONFIGURATION_REJECTED,
+ EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION);
+ }
+
+ @Test
+ public void testOnFailureCallbackEnrolleeAuthentication() throws Exception {
+ int[] bandList = new int[]{1, 6, 11};
+ testOnFailureCallback(ENROLLEE_AUTHENTICATION, new String("SSID"), null,
+ bandList, EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION);
+ }
+
+ @Test
+ public void testStartDppAsConfiguratorInitiatorStartOnSuccessCallbackR2() throws Exception {
// Generate a mock WifiConfiguration object
WifiConfiguration selectedNetwork = new WifiConfiguration();
selectedNetwork.SSID = TEST_SSID;
- selectedNetwork.networkId = TEST_NETWORK_ID;
+ selectedNetwork.networkId = 1;
selectedNetwork.preSharedKey = TEST_PASSWORD;
selectedNetwork.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SAE);
when(mWifiConfigManager.getConfiguredNetworkWithoutMasking(anyInt())).thenReturn(
selectedNetwork);
+
ArgumentCaptor<WifiNative.DppEventCallback> dppEventCallbackCaptor =
ArgumentCaptor.forClass(
WifiNative.DppEventCallback.class);
mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
- EASY_CONNECT_NETWORK_ROLE_STA,
- mDppCallback);
+ EASY_CONNECT_NETWORK_ROLE_STA, mDppCallback);
verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
- verify(mDppCallback, never()).onFailure(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mWifiNative).startDppConfiguratorInitiator(eq(TEST_INTERFACE_NAME),
@@ -746,10 +790,65 @@ public class DppManagerTest extends WifiBaseTest {
WifiNative.DppEventCallback dppEventCallback = dppEventCallbackCaptor.getValue();
+ // Generate a progress events
+ dppEventCallback.onProgress(AUTHENTICATION_SUCCESS);
+ mLooper.dispatchAll();
+ verify(mDppCallback).onProgress(eq(EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS));
+
+ dppEventCallback.onProgress(CONFIGURATION_ACCEPTED);
+ mLooper.dispatchAll();
+ verify(mDppCallback).onProgress(eq(EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED));
+
+ dppEventCallback.onProgress(CONFIGURATION_SENT_WAITING_RESPONSE);
+ mLooper.dispatchAll();
+ verify(mDppCallback)
+ .onProgress(eq(EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE));
+
+ // Generate an onSuccess callback
+ dppEventCallback.onSuccess(CONFIGURATION_APPLIED);
+ mLooper.dispatchAll();
+ verify(mDppCallback).onSuccess(eq(EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED));
+ verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
+ verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
+ verify(mDppMetrics).updateDppConfiguratorSuccess(eq(EasyConnectStatusCallback
+ .EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED));
+ verify(mDppMetrics).updateDppOperationTime(anyInt());
+ verifyNoMoreInteractions(mDppMetrics);
+ }
+
+ private void testOnFailureCallback(int internalFailure, String ssid, String channelList,
+ int[] bandList, int appFailure) throws Exception {
+ // Generate a mock WifiConfiguration object
+ WifiConfiguration selectedNetwork = new WifiConfiguration();
+ selectedNetwork.SSID = TEST_SSID;
+ selectedNetwork.networkId = TEST_NETWORK_ID;
+ selectedNetwork.preSharedKey = TEST_PASSWORD;
+ selectedNetwork.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SAE);
+
+ when(mWifiConfigManager.getConfiguredNetworkWithoutMasking(anyInt())).thenReturn(
+ selectedNetwork);
+ ArgumentCaptor<WifiNative.DppEventCallback> dppEventCallbackCaptor =
+ ArgumentCaptor.forClass(
+ WifiNative.DppEventCallback.class);
+
+ mDppManager.startDppAsConfiguratorInitiator(0, mBinder, mUri, 1,
+ EASY_CONNECT_NETWORK_ROLE_STA, mDppCallback);
+ verify(mWifiNative).registerDppEventCallback(dppEventCallbackCaptor.capture());
+ verify(mDppCallback, never()).onFailure(anyInt(), anyString(), anyString(), any());
+ verify(mDppCallback, never()).onSuccess(anyInt());
+ verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
+ verify(mWifiNative).startDppConfiguratorInitiator(eq(TEST_INTERFACE_NAME),
+ eq(TEST_PEER_ID), anyInt(), eq(TEST_SSID_ENCODED), eq(TEST_PASSWORD_ENCODED), any(),
+ eq(EASY_CONNECT_NETWORK_ROLE_STA), eq(SAE));
+
+ WifiNative.DppEventCallback dppEventCallback = dppEventCallbackCaptor.getValue();
+
// Generate an onFailure callback
- dppEventCallback.onFailure(internalFailure);
+ dppEventCallback.onFailure(internalFailure, ssid, channelList, bandList);
mLooper.dispatchAll();
- verify(mDppCallback).onFailure(eq(appFailure));
+ verify(mDppCallback).onFailure(eq(appFailure), eq(ssid), eq(channelList),
+ eq(bandList));
verify(mDppCallback, never()).onSuccess(anyInt());
verify(mDppCallback, never()).onSuccessConfigReceived(anyInt());
verify(mDppMetrics).updateDppConfiguratorInitiatorRequests();
@@ -758,4 +857,8 @@ public class DppManagerTest extends WifiBaseTest {
verifyNoMoreInteractions(mDppMetrics);
verifyCleanUpResources();
}
+
+ private void testOnFailureCallback(int internalFailure, int appFailure) throws Exception {
+ testOnFailureCallback(internalFailure, null, null, new int[0], appFailure);
+ }
}
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
index f3cf19fd6..e2c954cdb 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
@@ -380,7 +380,8 @@ public class WifiServiceImplTest extends WifiBaseTest {
}
@Override
- public void onFailure(int status) throws RemoteException {
+ public void onFailure(int status, String ssid, String channelList, int[] bandList)
+ throws RemoteException {
}