diff options
author | Sandy Fu <fus@google.com> | 2021-08-13 06:24:03 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-08-13 06:24:03 +0000 |
commit | a4ed318025b478f486ca0e38d840ed470f092b19 (patch) | |
tree | 1666e4401f9f7f525240867ce6006e3fda9e590e | |
parent | 7830de2eaaca507fe0905635ba2d5e81586f9a17 (diff) | |
parent | 22b28e9a9652d113c630e4e47730659afe08e37e (diff) | |
download | connectivity-a4ed318025b478f486ca0e38d840ed470f092b19.tar.gz |
Merge "Increasing tests coverage of wpa2 security type" into sc-dev
-rw-r--r-- | acts_tests/tests/google/wifi/WifiWpa2PersonalTest.py | 160 |
1 files changed, 159 insertions, 1 deletions
diff --git a/acts_tests/tests/google/wifi/WifiWpa2PersonalTest.py b/acts_tests/tests/google/wifi/WifiWpa2PersonalTest.py index 71c8a1871..a4d4d45b9 100644 --- a/acts_tests/tests/google/wifi/WifiWpa2PersonalTest.py +++ b/acts_tests/tests/google/wifi/WifiWpa2PersonalTest.py @@ -14,13 +14,15 @@ # See the License for the specific language governing permissions and # limitations under the License. - +import time import acts_contrib.test_utils.wifi.wifi_test_utils as wutils from acts_contrib.test_utils.wifi.WifiBaseTest import WifiBaseTest from acts.controllers.ap_lib import hostapd_constants from acts.controllers.openwrt_lib.openwrt_constants import OpenWrtWifiSecurity from acts.test_decorators import test_tracker_info from acts import asserts +from acts import utils +from acts import signals WifiEnums = wutils.WifiEnums @@ -175,3 +177,159 @@ class WifiWpa2PersonalTest(WifiBaseTest): wutils.connect_to_wifi_network(self.dut, self.wpa2_psk_5g) self.verify_wpa_network_encryption( OpenWrtWifiSecurity.WPA2_PSK_TKIP_AND_CCMP) + + @test_tracker_info(uuid="4e8286a0-1b7c-4186-9d86-1cc5cd7a6be2") + def test_connect_to_wpa2_psk_ccmp_2g_after_airplane_mode(self): + """Test Wi-Fi reconnection after enabling Airplane Mode. + + Steps: + DUT connect to 2GHz Wi-Fi network. + DUT turns ON Airplane Mode. + DUT turns ON Wi-Fi. + DUT verify internet connection with HTTP ping. + DUT turns OFF Airplane Mode. + DUT verify internet connection with HTTP ping. + """ + self.start_openwrt() + self.openwrt.log.info("Enable WPA2-PSK CCMP on OpenWrt AP") + self.openwrt.set_wpa_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + wutils.connect_to_wifi_network(self.dut, self.wpa2_psk_2g) + self.verify_wpa_network_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + # Turn ON DUT's Airplane Mode. + self.dut.log.info("Toggle Airplane Mode ON") + utils.force_airplane_mode(self.dut, True) + self.dut.log.info("Toggle Wi-Fi ON") + # Turn ON DUT's Wi-Fi + wutils.wifi_toggle_state(self.dut, True) + wutils.wait_for_connect(self.dut, + self.wpa2_psk_2g[WifiEnums.SSID_KEY]) + wutils.validate_connection(self.dut) + utils.force_airplane_mode(self.dut, False) + wutils.validate_connection(self.dut) + + @test_tracker_info(uuid="091c9b6a-d729-41d0-85e7-acf777aa3d1f") + def test_connect_to_wpa2_psk_ccmp_2g_after_wifi_off(self): + """Test Wi-Fi reconnection after Turn OFF Wi-Fi. + + Steps: + DUT connect to 2GHz Wi-Fi network. + DUT turns OFF Wi-Fi. + DUT turns ON Wi-Fi. + DUT verify internet connection with HTTP ping. + """ + self.start_openwrt() + self.openwrt.log.info("Enable WPA2-PSK CCMP on OpenWrt AP") + self.openwrt.set_wpa_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + wutils.connect_to_wifi_network(self.dut, self.wpa2_psk_2g) + self.verify_wpa_network_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + self.dut.log.info("Toggle Wi-Fi OFF") + # Turn OFF DUT's Wi-Fi then Turn if ON. + wutils.wifi_toggle_state(self.dut, False) + wutils.wifi_toggle_state(self.dut, True) + wutils.wait_for_connect(self.dut, + self.wpa2_psk_2g[WifiEnums.SSID_KEY]) + wutils.validate_connection(self.dut) + + @test_tracker_info(uuid="9eb74878-1527-4c5b-980e-1a9305f601aa") + def test_connect_to_wpa2_psk_ccmp_2g_after_suspend_resume(self): + """Test Wi-Fi reconnection after Suspend. + + Steps: + DUT connect to 2GHz Wi-Fi network. + DUT suspend and resume. + DUT verify internet connection with HTTP ping. + """ + self.start_openwrt() + self.openwrt.log.info("Enable WPA2-PSK CCMP on OpenWrt AP") + self.openwrt.set_wpa_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + wutils.connect_to_wifi_network(self.dut, self.wpa2_psk_2g) + self.verify_wpa_network_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + self.dut.log.info("Suspend the DUT and wait for 10 seconds") + # Suspend and Resume the DUT. + self.dut.go_to_sleep() + time.sleep(10) + self.dut.log.info("Resume the DUT") + self.dut.wakeup_screen() + wutils.validate_connection(self.dut) + + @test_tracker_info(uuid="44e5d946-620a-4e30-9578-f921460fe3f3") + def test_connect_to_wpa2_psk_ccmp_2g_after_reboot(self): + """Test Wi-Fi reconnection after reboot. + + Steps: + DUT connect to 2GHz Wi-Fi network. + DUT reboot. + DUT verify internet connection with HTTP ping. + """ + self.start_openwrt() + self.openwrt.log.info("Enable WPA2-PSK CCMP on OpenWrt AP") + self.openwrt.set_wpa_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + wutils.connect_to_wifi_network(self.dut, self.wpa2_psk_2g) + self.verify_wpa_network_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + # Reboot the DUT. + self.dut.log.info("Reboot the DUT") + self.dut.reboot() + self.dut.wait_for_boot_completion() + wutils.wait_for_connect(self.dut, + self.wpa2_psk_2g[WifiEnums.SSID_KEY]) + wutils.validate_connection(self.dut) + + @test_tracker_info(uuid="7cb462c8-0a6e-4f33-b2fc-bf630d57e087") + def test_connect_to_wpa2_psk_ccmp_2g_after_incorrect_password(self): + """Test Wi-Fi reconnection after incorrect password. + + Steps: + DUT connect to 2GHz Wi-Fi network. + DUT try to connect to the Wi-Fi network with incorrect password. + Connection fail as expected. + DUT connect to the Wi-Fi network with correct password. + DUT verify internet connection with HTTP ping. + """ + self.start_openwrt() + self.openwrt.log.info("Enable WPA2-PSK CCMP on OpenWrt AP") + self.openwrt.set_wpa_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + self.wpa2_psk_2g_fail = self.wpa2_psk_2g.copy() + self.wpa2_psk_2g_fail["password"] = "incorrect_password" + # Try to connect a Wi-Fi network with incorrect password. + try: + self.dut.log.info("Connect to Wi-Fi with wrong password") + wutils.wifi_connect(self.dut, self.wpa2_psk_2g_fail, num_of_tries=1) + except: + self.dut.log.info("Connect to Wi-Fi with correct password") + wutils.wifi_connect(self.dut, self.wpa2_psk_2g) + else: + raise signals.TestFailure("DUT connect to Wi-Fi with wrong password") + self.verify_wpa_network_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + wutils.validate_connection(self.dut) + + @test_tracker_info(uuid="890712de-2a3e-4b24-8529-e93893c8d99c") + def test_connect_to_wpa2_psk_ccmp_2g_after_out_of_range(self): + """Test Wi-Fi reconnection after out of range. + + Steps: + DUT connect to 2GHz Wi-Fi network. + DUT out of Wi-Fi range. + Make Wi-Fi network is not visible by DUT. + DUT back in Wi-Fi range. + Wi-Fi network is visible by DUT. + DUT connect to the Wi-Fi network. + DUT verify internet connection with HTTP ping. + """ + self.start_openwrt() + self.openwrt.log.info("Enable WPA2-PSK CCMP on OpenWrt AP") + self.openwrt.set_wpa_encryption(OpenWrtWifiSecurity.WPA2_PSK_CCMP) + wutils.connect_to_wifi_network(self.dut, self.wpa2_psk_2g) + # Make the DUT out of range. + wutils.set_attns(self.attenuators, + "atten1_off_atten2_off", + self.roaming_attn) + wutils.start_wifi_connection_scan_and_ensure_network_not_found( + self.dut, + self.wpa2_psk_2g[WifiEnums.SSID_KEY]) + # Make the DUT back in range. + wutils.set_attns(self.attenuators, + "atten1_on_atten2_on", + self.roaming_attn) + wutils.start_wifi_connection_scan_and_ensure_network_found( + self.dut, self.wpa2_psk_2g[WifiEnums.SSID_KEY]) + wutils.connect_to_wifi_network(self.dut, self.wpa2_psk_2g) |