blob: 94313b27beceaef99f96f5c1c2428385904e7d5d [file] [log] [blame]
#
# 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)