blob: ec70da93acdad6c7f019a3105c951f3c366b0c39 [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 WifiEnterpriseRoamingTest import WifiEnterpriseRoamingTest
WifiEnums = wutils.WifiEnums
# EAP Macros
EAP = WifiEnums.Eap
EapPhase2 = WifiEnums.EapPhase2
Ent = WifiEnums.Enterprise
class WifiEnterpriseRoaming11axTest(WifiEnterpriseRoamingTest):
"""Tests for WPA2 Enterprise 11ax.
Test Bed Requirement:
One Android device, 2 Asus AXE11000 Access Point and Radius server
"""
def __init__(self, configs):
super().__init__(configs)
self.tests = (
"test_roaming_with_config_tls",
"test_roaming_with_config_ttls_none",
"test_roaming_with_config_ttls_pap",
"test_roaming_with_config_ttls_mschap",
"test_roaming_with_config_ttls_mschapv2",
"test_roaming_with_config_ttls_gtc",
"test_roaming_with_config_peap_mschapv2",
"test_roaming_with_config_peap_gtc",
)
def setup_class(self):
WifiBaseTest.setup_class(self)
self.dut = self.android_devices[0]
req_params = [
"attn_vals", "roam_interval", "ca_cert", "client_cert", "client_key",
"eap_identity", "eap_password", "device_password", "wifi6_models",
"bssid_map", "radius_conf_2g", "radius_conf_5g", "roaming_attn"
]
self.unpack_userparams(req_params)
self.ap1 = self.access_points[0]
self.ap2 = self.access_points[1]
self.ent_roaming_ssid = "test_ent_roaming"
self.ap1.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"],
"ssid": self.ent_roaming_ssid,
}
})
self.ap2.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"],
"ssid": self.ent_roaming_ssid,
}
})
self.bssid_a = self.bssid_map[0]["2g"]
self.bssid_b = self.bssid_map[1]["2g"]
self.config_peap = {
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_roaming_ssid
}
self.config_tls = {
Ent.EAP: int(EAP.TLS),
Ent.CA_CERT: self.ca_cert,
WifiEnums.SSID_KEY: self.ent_roaming_ssid,
Ent.CLIENT_CERT: self.client_cert,
Ent.PRIVATE_KEY_ID: self.client_key,
Ent.IDENTITY: self.eap_identity,
}
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_roaming_ssid
}
self.attn_a = self.attenuators[0]
self.attn_b = self.attenuators[2]
# Set screen lock password so ConfigStore is unlocked.
self.dut.droid.setDevicePassword(self.device_password)