[WifiEnterpriseTest] Move tests to shield boxes

CHERRY PICKED CHANGES FROM AOSP

Changes to WifiEnterpriseTest to move them to shield boxes using the
hostapd support for Enterprise auth on onHubs

Bug: 117877074
Test: Verified the changes
Change-Id: Ib32f9f6e6fa7fc7c0c9f56b57882858509d04f9f
Merged-In: I720c7aee977a38a3d5bfd693275152793a800d72
diff --git a/acts/framework/acts/test_utils/wifi/WifiBaseTest.py b/acts/framework/acts/test_utils/wifi/WifiBaseTest.py
index 201d252..7db5cb6 100755
--- a/acts/framework/acts/test_utils/wifi/WifiBaseTest.py
+++ b/acts/framework/acts/test_utils/wifi/WifiBaseTest.py
@@ -260,7 +260,10 @@
         if network["security"] == hostapd_constants.WEP_STRING:
             self.wep_networks[ap_instance][band]["bssid"] = bssid
         if network["security"] == hostapd_constants.ENT_STRING:
-            self.ent_networks[ap_instance][band]["bssid"] = bssid
+            if "bssid" not in self.ent_networks[ap_instance][band]:
+                self.ent_networks[ap_instance][band]["bssid"] = bssid
+            else:
+                self.ent_networks_pwd[ap_instance][band]["bssid"] = bssid
         if network["security"] == 'none':
             self.open_network[ap_instance][band]["bssid"] = bssid
 
@@ -308,6 +311,8 @@
             ent_network=False,
             radius_conf_2g=None,
             radius_conf_5g=None,
+            ent_network_pwd=False,
+            radius_conf_pwd=None,
             ap_count=1):
         asserts.assert_true(
             len(self.user_params["AccessPoint"]) == 2,
@@ -334,6 +339,8 @@
             self.user_params["wep_networks"] = []
         if ent_network:
             self.user_params["ent_networks"] = []
+        if ent_network_pwd:
+            self.user_params["ent_networks_pwd"] = []
 
         for count in range(config_count):
 
@@ -410,6 +417,21 @@
                     network_list_2g.append(networks_dict["2g"])
                     network_list_5g.append(networks_dict["5g"])
 
+                if ent_network_pwd:
+                    networks_dict = self.get_open_network(
+                                        mirror_ap,
+                                        self.user_params["ent_networks_pwd"],
+                                        hidden=hidden,
+                                        same_ssid=same_ssid)
+                    networks_dict["2g"]["security"] = hostapd_constants.ENT_STRING
+                    networks_dict["2g"].update(radius_conf_pwd)
+                    networks_dict["5g"]["security"] = hostapd_constants.ENT_STRING
+                    networks_dict["5g"].update(radius_conf_pwd)
+                    self.ent_networks_pwd = self.user_params["ent_networks_pwd"]
+
+                    network_list_2g.append(networks_dict["2g"])
+                    network_list_5g.append(networks_dict["5g"])
+
             orig_network_list_5g = copy.copy(network_list_5g)
             orig_network_list_2g = copy.copy(network_list_2g)
 
diff --git a/acts/tests/google/wifi/WifiEnterpriseRoamingTest.py b/acts/tests/google/wifi/WifiEnterpriseRoamingTest.py
index abdf2d4..94918c9 100644
--- a/acts/tests/google/wifi/WifiEnterpriseRoamingTest.py
+++ b/acts/tests/google/wifi/WifiEnterpriseRoamingTest.py
@@ -18,10 +18,10 @@
 import time
 
 from acts import asserts
-from acts import base_test
 from acts import signals
 from acts.test_decorators import test_tracker_info
 from acts.test_utils.wifi import wifi_test_utils as wutils
+from acts.test_utils.wifi.WifiBaseTest import WifiBaseTest
 
 WifiEnums = wutils.WifiEnums
 
@@ -33,14 +33,14 @@
 Ent = WifiEnums.Enterprise
 
 
-class WifiEnterpriseRoamingTest(base_test.BaseTestClass):
+class WifiEnterpriseRoamingTest(WifiBaseTest):
+    def __init__(self, controllers):
+        WifiBaseTest.__init__(self, controllers)
+
     def setup_class(self):
         self.dut = self.android_devices[0]
         wutils.wifi_test_device_init(self.dut)
         req_params = (
-            "ent_roaming_ssid",
-            "bssid_a",
-            "bssid_b",
             "attn_vals",
             # Expected time within which roaming should finish, in seconds.
             "roam_interval",
@@ -49,8 +49,25 @@
             "client_key",
             "eap_identity",
             "eap_password",
-            "device_password")
+            "device_password",
+            "radius_conf_2g",
+            "radius_conf_5g")
         self.unpack_userparams(req_params)
+        if "AccessPoint" in self.user_params:
+            self.legacy_configure_ap_and_start(
+                mirror_ap=True,
+                ent_network=True,
+                ap_count=2,
+                radius_conf_2g=self.radius_conf_2g,
+                radius_conf_5g=self.radius_conf_5g,)
+        self.ent_network_2g_a = self.ent_networks[0]["2g"]
+        self.ent_network_2g_b = self.ent_networks[1]["2g"]
+        self.bssid_2g_a = self.ent_network_2g_a[WifiEnums.BSSID_KEY.lower()]
+        self.bssid_2g_b = self.ent_network_2g_b[WifiEnums.BSSID_KEY.lower()]
+        self.ent_roaming_ssid = self.ent_network_2g_a[WifiEnums.SSID_KEY]
+        self.bssid_a = self.bssid_2g_a
+        self.bssid_b = self.bssid_2g_b
+
         self.config_peap = {
             Ent.EAP: int(EAP.PEAP),
             Ent.CA_CERT: self.ca_cert,
@@ -80,7 +97,7 @@
             WifiEnums.SSID_KEY: self.ent_roaming_ssid,
         }
         self.attn_a = self.attenuators[0]
-        self.attn_b = self.attenuators[1]
+        self.attn_b = self.attenuators[2]
         # Set screen lock password so ConfigStore is unlocked.
         self.dut.droid.setDevicePassword(self.device_password)
         self.set_attns("default")
diff --git a/acts/tests/google/wifi/WifiEnterpriseTest.py b/acts/tests/google/wifi/WifiEnterpriseTest.py
index 41a2512..fd70e24 100755
--- a/acts/tests/google/wifi/WifiEnterpriseTest.py
+++ b/acts/tests/google/wifi/WifiEnterpriseTest.py
@@ -19,12 +19,12 @@
 import time
 
 from acts import asserts
-from acts import base_test
 from acts import signals
 from acts.test_decorators import test_tracker_info
-from acts.test_utils.tel.tel_test_utils import start_adb_tcpdump
-from acts.test_utils.tel.tel_test_utils import stop_adb_tcpdump
+from acts.test_utils.net.net_test_utils import start_tcpdump
+from acts.test_utils.net.net_test_utils import stop_tcpdump
 from acts.test_utils.wifi import wifi_test_utils as wutils
+from acts.test_utils.wifi.WifiBaseTest import WifiBaseTest
 
 WifiEnums = wutils.WifiEnums
 
@@ -35,9 +35,9 @@
 Ent = WifiEnums.Enterprise
 
 
-class WifiEnterpriseTest(base_test.BaseTestClass):
+class WifiEnterpriseTest(WifiBaseTest):
     def __init__(self, controllers):
-        base_test.BaseTestClass.__init__(self, controllers)
+        WifiBaseTest.__init__(self, controllers)
 
     def setup_class(self):
         self.dut = self.android_devices[0]
@@ -52,12 +52,23 @@
             "passpoint_client_cert", "passpoint_client_key", "eap_identity",
             "eap_password", "invalid_ca_cert", "invalid_client_cert",
             "invalid_client_key", "fqdn", "provider_friendly_name", "realm",
-            "ssid_peap0", "ssid_peap1", "ssid_tls", "ssid_ttls", "ssid_pwd",
-            "ssid_sim", "ssid_aka", "ssid_aka_prime", "ssid_passpoint",
-            "device_password", "ping_addr")
+            "device_password", "ping_addr", "radius_conf_2g", "radius_conf_5g",
+            "radius_conf_pwd")
         self.unpack_userparams(required_userparam_names,
                                roaming_consortium_ids=None,
                                plmn=None)
+
+        if "AccessPoint" in self.user_params:
+            self.legacy_configure_ap_and_start(
+                ent_network=True,
+                radius_conf_2g=self.radius_conf_2g,
+                radius_conf_5g=self.radius_conf_5g,
+                ent_network_pwd=True,
+                radius_conf_pwd=self.radius_conf_pwd,)
+        self.ent_network_2g = self.ent_networks[0]["2g"]
+        self.ent_network_5g = self.ent_networks[0]["5g"]
+        self.ent_network_pwd = self.ent_networks_pwd[0]["2g"]
+
         # Default configs for EAP networks.
         self.config_peap0 = {
             Ent.EAP: int(EAP.PEAP),
@@ -65,14 +76,15 @@
             Ent.IDENTITY: self.eap_identity,
             Ent.PASSWORD: self.eap_password,
             Ent.PHASE2: int(EapPhase2.MSCHAPV2),
-            WifiEnums.SSID_KEY: self.ssid_peap0
+            WifiEnums.SSID_KEY: self.ent_network_5g[WifiEnums.SSID_KEY],
         }
         self.config_peap1 = dict(self.config_peap0)
-        self.config_peap1[WifiEnums.SSID_KEY] = self.ssid_peap1
+        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.ssid_tls,
+            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,
@@ -83,25 +95,25 @@
             Ent.IDENTITY: self.eap_identity,
             Ent.PASSWORD: self.eap_password,
             Ent.PHASE2: int(EapPhase2.MSCHAPV2),
-            WifiEnums.SSID_KEY: self.ssid_ttls
+            WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY],
         }
         self.config_pwd = {
             Ent.EAP: int(EAP.PWD),
             Ent.IDENTITY: self.eap_identity,
             Ent.PASSWORD: self.eap_password,
-            WifiEnums.SSID_KEY: self.ssid_pwd
+            WifiEnums.SSID_KEY: self.ent_network_pwd[WifiEnums.SSID_KEY],
         }
         self.config_sim = {
             Ent.EAP: int(EAP.SIM),
-            WifiEnums.SSID_KEY: self.ssid_sim,
+            WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY],
         }
         self.config_aka = {
             Ent.EAP: int(EAP.AKA),
-            WifiEnums.SSID_KEY: self.ssid_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.ssid_aka_prime,
+            WifiEnums.SSID_KEY: self.ent_network_2g[WifiEnums.SSID_KEY],
         }
 
         # Base config for passpoint networks.
@@ -142,14 +154,10 @@
         self.dut.droid.wakeUpNow()
         wutils.reset_wifi(self.dut)
         self.dut.ed.clear_all_events()
-        self.tcpdump_pid = start_adb_tcpdump(self.dut, self.test_name, mask='all')
+        self.tcpdump_pid = start_tcpdump(self.dut, self.test_name)
 
     def teardown_test(self):
-        if self.tcpdump_pid:
-            stop_adb_tcpdump(self.dut,
-                             self.tcpdump_pid,
-                             pull_tcpdump=True)
-            self.tcpdump_pid = None
+        stop_tcpdump(self.dut, self.tcpdump_pid, self.test_name)
         self.dut.droid.wakeLockRelease()
         self.dut.droid.goToSleepNow()
         self.dut.droid.wifiStopTrackingStateChange()