summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandy Fu <fus@google.com>2021-08-13 06:24:03 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-08-13 06:24:03 +0000
commita4ed318025b478f486ca0e38d840ed470f092b19 (patch)
tree1666e4401f9f7f525240867ce6006e3fda9e590e
parent7830de2eaaca507fe0905635ba2d5e81586f9a17 (diff)
parent22b28e9a9652d113c630e4e47730659afe08e37e (diff)
downloadconnectivity-a4ed318025b478f486ca0e38d840ed470f092b19.tar.gz
Merge "Increasing tests coverage of wpa2 security type" into sc-dev
-rw-r--r--acts_tests/tests/google/wifi/WifiWpa2PersonalTest.py160
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)