diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/SupplicantStaIfaceHalTest.java | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/SupplicantStaIfaceHalTest.java b/tests/wifitests/src/com/android/server/wifi/SupplicantStaIfaceHalTest.java index 95f88bbf1..762691184 100644 --- a/tests/wifitests/src/com/android/server/wifi/SupplicantStaIfaceHalTest.java +++ b/tests/wifitests/src/com/android/server/wifi/SupplicantStaIfaceHalTest.java @@ -1040,9 +1040,11 @@ public class SupplicantStaIfaceHalTest extends WifiBaseTest { * Tests the handling of incorrect network passwords. */ @Test - public void testAuthFailurePassword() throws Exception { + public void testAuthFailurePasswordOnDisconnect() throws Exception { executeAndValidateInitializationSequence(); assertNotNull(mISupplicantStaIfaceCallback); + executeAndValidateConnectSequenceWithKeyMgmt( + 0, false, WifiConfiguration.KeyMgmt.WPA_PSK, null); int reasonCode = 3; mISupplicantStaIfaceCallback.onDisconnected( @@ -1061,13 +1063,49 @@ public class SupplicantStaIfaceHalTest extends WifiBaseTest { SUPPLICANT_NETWORK_ID, NativeUtil.decodeSsid(SUPPLICANT_SSID)); mISupplicantStaIfaceCallback.onDisconnected( + NativeUtil.macAddressToByteArray(BSSID), false, reasonCode); + + verify(mWifiMonitor).broadcastAuthenticationFailureEvent( + eq(WLAN0_IFACE_NAME), eq(WifiManager.ERROR_AUTH_FAILURE_WRONG_PSWD), eq(-1)); + } + + /** + * Tests the handling of EAP failure disconnects. + */ + @Test + public void testAuthFailureEapOnDisconnect() throws Exception { + executeAndValidateInitializationSequence(); + assertNotNull(mISupplicantStaIfaceCallback); + executeAndValidateConnectSequenceWithKeyMgmt( + 0, false, WifiConfiguration.KeyMgmt.WPA_EAP, null); + + int reasonCode = 3; + mISupplicantStaIfaceCallback.onDisconnected( NativeUtil.macAddressToByteArray(BSSID), true, reasonCode); + verify(mWifiMonitor, times(0)) + .broadcastAuthenticationFailureEvent(any(), anyInt(), anyInt()); + mISupplicantStaIfaceCallback.onDisconnected( NativeUtil.macAddressToByteArray(BSSID), false, reasonCode); + verify(mWifiMonitor, times(0)) + .broadcastAuthenticationFailureEvent(any(), anyInt(), anyInt()); - verify(mWifiMonitor, times(2)) - .broadcastAuthenticationFailureEvent(eq(WLAN0_IFACE_NAME), - eq(WifiManager.ERROR_AUTH_FAILURE_WRONG_PSWD), eq(-1)); + mISupplicantStaIfaceCallback.onStateChanged( + ISupplicantStaIfaceCallback.State.ASSOCIATED, + NativeUtil.macAddressToByteArray(BSSID), + SUPPLICANT_NETWORK_ID, + NativeUtil.decodeSsid(SUPPLICANT_SSID)); + // Ensure we don't lose our prev state with this state changed event. + mISupplicantStaIfaceCallback.onStateChanged( + ISupplicantStaIfaceCallback.State.DISCONNECTED, + NativeUtil.macAddressToByteArray(BSSID), + SUPPLICANT_NETWORK_ID, + NativeUtil.decodeSsid(SUPPLICANT_SSID)); + mISupplicantStaIfaceCallback.onDisconnected( + NativeUtil.macAddressToByteArray(BSSID), false, reasonCode); + + verify(mWifiMonitor).broadcastAuthenticationFailureEvent( + eq(WLAN0_IFACE_NAME), eq(WifiManager.ERROR_AUTH_FAILURE_EAP_FAILURE), eq(-1)); } /** |