# # Copyright 2021 - The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from acts_contrib.test_utils.wifi import wifi_test_utils as wutils from acts_contrib.test_utils.wifi.WifiBaseTest import WifiBaseTest from WifiEnterpriseTest import WifiEnterpriseTest WifiEnums = wutils.WifiEnums # EAP Macros EAP = WifiEnums.Eap EapPhase2 = WifiEnums.EapPhase2 Ent = WifiEnums.Enterprise class WifiEnterprise11axTest(WifiEnterpriseTest): """Tests for WPA2 Enterprise 11ax. Test Bed Requirement: One Android device, 1 Asus AXE11000 Access Point and Radius server """ def __init__(self, configs): super().__init__(configs) self.tests = ( "test_eap_connect_with_config_tls", "test_eap_connect_with_config_sim", "test_eap_connect_with_config_aka", "test_eap_connect_with_config_aka_prime", "test_eap_connect_with_config_ttls_none", "test_eap_connect_with_config_ttls_pap", "test_eap_connect_with_config_ttls_mschap", "test_eap_connect_with_config_ttls_mschapv2", "test_eap_connect_with_config_ttls_gtc", "test_eap_connect_with_config_peap0_mschapv2", "test_eap_connect_with_config_peap0_gtc", "test_eap_connect_with_config_peap1_mschapv2", "test_eap_connect_with_config_peap1_gtc", "test_eap_connect_config_store_with_config_tls", "test_eap_connect_config_store_with_config_sim", "test_eap_connect_config_store_with_config_aka", "test_eap_connect_config_store_with_config_aka_prime", "test_eap_connect_config_store_with_config_ttls_none", "test_eap_connect_config_store_with_config_ttls_pap", "test_eap_connect_config_store_with_config_ttls_mschap", "test_eap_connect_config_store_with_config_ttls_mschapv2", "test_eap_connect_config_store_with_config_ttls_gtc", "test_eap_connect_config_store_with_config_peap0_mschapv2", "test_eap_connect_config_store_with_config_peap0_gtc", "test_eap_connect_config_store_with_config_peap1_mschapv2", "test_eap_connect_config_store_with_config_peap1_gtc", ) def setup_class(self): WifiBaseTest.setup_class(self) self.dut = self.android_devices[0] required_userparam_names = [ "ca_cert", "client_cert", "client_key", "eap_identity", "eap_password", "device_password", "radius_conf_2g", "radius_conf_5g", "wifi6_models" ] self.unpack_userparams(required_userparam_names, ocsp=0) self.ap = self.access_points[0] self.ap.configure_ap({ "2g": { "security": "wpa2", "radius_server_ip": self.radius_conf_2g["radius_server_ip"], "radius_server_port": self.radius_conf_2g["radius_server_port"], "radius_server_secret": self.radius_conf_2g["radius_server_secret"], }, "5g": { "security": "wpa2", "radius_server_ip": self.radius_conf_5g["radius_server_ip"], "radius_server_port": self.radius_conf_5g["radius_server_port"], "radius_server_secret": self.radius_conf_5g["radius_server_secret"], } }) self.ent_network_2g = self.ap.get_wifi_network("2g") self.ent_network_5g = self.ap.get_wifi_network("5g") # Default configs for EAP networks. self.config_peap0 = { Ent.EAP: int(EAP.PEAP), Ent.CA_CERT: self.ca_cert, Ent.IDENTITY: self.eap_identity, Ent.PASSWORD: self.eap_password, Ent.PHASE2: int(EapPhase2.MSCHAPV2), WifiEnums.SSID_KEY: self.ent_network_5g[WifiEnums.SSID_KEY], Ent.OCSP: self.ocsp, } self.config_peap1 = dict(self.config_peap0) self.config_peap1[WifiEnums.SSID_KEY] = self.ent_network_2g[ WifiEnums.SSID_KEY] self.config_tls = { Ent.EAP: int(EAP.TLS), Ent.CA_CERT: self.ca_cert, WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], Ent.CLIENT_CERT: self.client_cert, Ent.PRIVATE_KEY_ID: self.client_key, Ent.IDENTITY: self.eap_identity, Ent.OCSP: self.ocsp, } self.config_ttls = { Ent.EAP: int(EAP.TTLS), Ent.CA_CERT: self.ca_cert, Ent.IDENTITY: self.eap_identity, Ent.PASSWORD: self.eap_password, Ent.PHASE2: int(EapPhase2.MSCHAPV2), WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], Ent.OCSP: self.ocsp, } self.config_sim = { Ent.EAP: int(EAP.SIM), WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], } self.config_aka = { Ent.EAP: int(EAP.AKA), WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], } self.config_aka_prime = { Ent.EAP: int(EAP.AKA_PRIME), WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY], } # Set screen lock password so ConfigStore is unlocked. self.dut.droid.setDevicePassword(self.device_password)