[Core Networking Tests] Changes to LegacyVpnTest and WifiTetheringTest

Change the WAIT_TIME to 5 seconds for IPv6 tethering
Update LegacyVpnTest to run from functional rigs and GCE

Test: Verified the changes
Bug: 73776268
Change-Id: I0a06cd694df2029c3751345b5cd25d31759f75e7
diff --git a/acts/framework/acts/test_utils/net/connectivity_const.py b/acts/framework/acts/test_utils/net/connectivity_const.py
index d74b7be..6ab8900 100644
--- a/acts/framework/acts/test_utils/net/connectivity_const.py
+++ b/acts/framework/acts/test_utils/net/connectivity_const.py
@@ -118,9 +118,8 @@
     """ Config file parameters required for
         VPN connection
     """
-    wifi_network = "wifi_network"
     vpn_server_addresses = "vpn_server_addresses"
-    vpn_verify_address = "vpn_verify_address"
+    vpn_verify_addresses = "vpn_verify_addresses"
     vpn_username = "vpn_username"
     vpn_password = "vpn_password"
     psk_secret = "psk_secret"
diff --git a/acts/framework/acts/test_utils/net/net_test_utils.py b/acts/framework/acts/test_utils/net/net_test_utils.py
index 0dcaee6..c511fb6 100644
--- a/acts/framework/acts/test_utils/net/net_test_utils.py
+++ b/acts/framework/acts/test_utils/net/net_test_utils.py
@@ -37,7 +37,6 @@
 VPN_CONST = cconst.VpnProfile
 VPN_TYPE = cconst.VpnProfileType
 VPN_PARAMS = cconst.VpnReqParams
-VPN_PING_ADDR = "10.10.10.1"
 TCPDUMP_PATH = "/data/local/tmp/tcpdump"
 
 
@@ -74,7 +73,7 @@
             logging.warning("adb command %s failed on %s" % (cmd, ad.serial))
 
 
-def verify_ping_to_vpn_ip(ad):
+def verify_ping_to_vpn_ip(ad, vpn_ping_addr):
     """ Verify if IP behind VPN server is pingable.
     Ping should pass, if VPN is connected.
     Ping should fail, if VPN is disconnected.
@@ -85,13 +84,13 @@
     ping_result = None
     pkt_loss = "100% packet loss"
     try:
-        ping_result = ad.adb.shell("ping -c 3 -W 2 %s" % VPN_PING_ADDR)
+        ping_result = ad.adb.shell("ping -c 3 -W 2 %s" % vpn_ping_addr)
     except AdbError:
         pass
     return ping_result and pkt_loss not in ping_result
 
 
-def legacy_vpn_connection_test_logic(ad, vpn_profile):
+def legacy_vpn_connection_test_logic(ad, vpn_profile, vpn_ping_addr):
     """ Test logic for each legacy VPN connection
 
     Steps:
@@ -122,7 +121,7 @@
                          "Unable to establish VPN connection for %s"
                          % vpn_profile)
 
-    ping_result = verify_ping_to_vpn_ip(ad)
+    ping_result = verify_ping_to_vpn_ip(ad, vpn_ping_addr)
     ip_xfrm_state = ad.adb.shell("ip xfrm state")
     match_obj = re.search(r'hmac(.*)', "%s" % ip_xfrm_state)
     if match_obj:
diff --git a/acts/tests/google/net/LegacyVpnTest.py b/acts/tests/google/net/LegacyVpnTest.py
index d1dd385..1e037de 100644
--- a/acts/tests/google/net/LegacyVpnTest.py
+++ b/acts/tests/google/net/LegacyVpnTest.py
@@ -25,16 +25,17 @@
 from acts import test_runner
 from acts.controllers import adb
 from acts.test_decorators import test_tracker_info
+from acts.test_utils.net import connectivity_const
 from acts.test_utils.net import net_test_utils as nutils
 from acts.test_utils.wifi import wifi_test_utils as wutils
-from acts.test_utils.net import connectivity_const
+from acts.test_utils.wifi.WifiBaseTest import WifiBaseTest
 
 VPN_CONST = connectivity_const.VpnProfile
 VPN_TYPE = connectivity_const.VpnProfileType
 VPN_PARAMS = connectivity_const.VpnReqParams
 
 
-class LegacyVpnTest(base_test.BaseTestClass):
+class LegacyVpnTest(WifiBaseTest):
     """ Tests for Legacy VPN in Android
 
         Testbed requirement:
@@ -48,8 +49,16 @@
         self.dut = self.android_devices[0]
         required_params = dir(VPN_PARAMS)
         required_params = [x for x in required_params if not x.startswith('__')]
-        self.unpack_userparams(required_params)
+        optional_params = ["reference_networks", "wpa_networks",]
+        self.unpack_userparams(req_param_names=required_params,
+                               opt_param_names=optional_params)
+        if "AccessPoint" in self.user_params:
+            self.legacy_configure_ap_and_start(wpa_network=True)
+        asserts.assert_true(len(self.reference_networks) > 0,
+                            "Need at least one reference network with psk.")
+        self.wifi_network = self.reference_networks[0]["2g"]
         wutils.wifi_test_device_init(self.dut)
+        wutils.wifi_toggle_state(self.dut, True)
         wutils.wifi_connect(self.dut, self.wifi_network)
         time.sleep(3)
 
@@ -78,7 +87,8 @@
             vpn, self.vpn_server_addresses[vpn.name][0],
             self.ipsec_server_type[2],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][0]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="99af78dd-40b8-483a-8344-cd8f67594971")
     def legacy_vpn_l2tp_ipsec_psk_libreswan(self):
@@ -91,7 +101,8 @@
             vpn, self.vpn_server_addresses[vpn.name][2],
             self.ipsec_server_type[2],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][2]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="e67d8c38-92c3-4167-8b6c-a49ef939adce")
     def legacy_vpn_l2tp_ipsec_rsa_libreswan(self):
@@ -104,7 +115,8 @@
             vpn, self.vpn_server_addresses[vpn.name][2],
             self.ipsec_server_type[2],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][2]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="8b3517dc-6a3b-44c2-a85d-bd7b969df3cf")
     def legacy_vpn_ipsec_xauth_psk_libreswan(self):
@@ -117,7 +129,8 @@
             vpn, self.vpn_server_addresses[vpn.name][2],
             self.ipsec_server_type[2],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][2]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="abac663d-1d91-4b87-8e94-11c6e44fb07b")
     def legacy_vpn_ipsec_xauth_rsa_libreswan(self):
@@ -130,7 +143,8 @@
             vpn, self.vpn_server_addresses[vpn.name][2],
             self.ipsec_server_type[2],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][2]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="84140d24-53c0-4f6c-866f-9d66e04442cc")
     def test_legacy_vpn_l2tp_ipsec_psk_openswan(self):
@@ -143,7 +157,8 @@
             vpn, self.vpn_server_addresses[vpn.name][1],
             self.ipsec_server_type[1],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][1]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="f7087592-7eed-465d-bfe3-ed7b6d9d5f9a")
     def test_legacy_vpn_l2tp_ipsec_rsa_openswan(self):
@@ -156,7 +171,8 @@
             vpn, self.vpn_server_addresses[vpn.name][1],
             self.ipsec_server_type[1],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][1]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="ed78973b-13ee-4dd4-b998-693ab741c6f8")
     def test_legacy_vpn_ipsec_xauth_psk_openswan(self):
@@ -169,7 +185,8 @@
             vpn, self.vpn_server_addresses[vpn.name][1],
             self.ipsec_server_type[1],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][1]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="cfd125c4-b64c-4c49-b8e4-fbf05a9be8ec")
     def test_legacy_vpn_ipsec_xauth_rsa_openswan(self):
@@ -182,7 +199,8 @@
             vpn, self.vpn_server_addresses[vpn.name][1],
             self.ipsec_server_type[1],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][1]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="419370de-0aa1-4a56-8c22-21567fa1cbb7")
     def test_legacy_vpn_l2tp_ipsec_psk_strongswan(self):
@@ -195,7 +213,8 @@
             vpn, self.vpn_server_addresses[vpn.name][0],
             self.ipsec_server_type[0],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][0]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="f7694081-8bd6-4e31-86ec-d538c4ff1f2e")
     def test_legacy_vpn_l2tp_ipsec_rsa_strongswan(self):
@@ -208,7 +227,8 @@
             vpn, self.vpn_server_addresses[vpn.name][0],
             self.ipsec_server_type[0],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][0]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="2f86eb98-1e05-42cb-b6a6-fd90789b6cde")
     def test_legacy_vpn_ipsec_xauth_psk_strongswan(self):
@@ -221,7 +241,8 @@
             vpn, self.vpn_server_addresses[vpn.name][0],
             self.ipsec_server_type[0],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][0]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="af0cd7b1-e86c-4327-91b4-e9062758f2cf")
     def test_legacy_vpn_ipsec_xauth_rsa_strongswan(self):
@@ -234,7 +255,8 @@
             vpn, self.vpn_server_addresses[vpn.name][0],
             self.ipsec_server_type[0],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][0]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
 
     @test_tracker_info(uuid="7b970d0a-1c7d-4a5a-b406-4815e190ef26")
     def test_legacy_vpn_ipsec_hybrid_rsa_strongswan(self):
@@ -247,4 +269,5 @@
             vpn, self.vpn_server_addresses[vpn.name][0],
             self.ipsec_server_type[0],
             self.log_path)
-        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile)
+        vpn_addr = self.vpn_verify_addresses[vpn.name][0]
+        nutils.legacy_vpn_connection_test_logic(self.dut, vpn_profile, vpn_addr)
diff --git a/acts/tests/google/net/ProxyTest.py b/acts/tests/google/net/ProxyTest.py
index 66aa345..6d4186f 100644
--- a/acts/tests/google/net/ProxyTest.py
+++ b/acts/tests/google/net/ProxyTest.py
@@ -19,6 +19,8 @@
 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
+
 
 from scapy.all import IP
 from scapy.all import TCP
@@ -28,16 +30,25 @@
 from scapy.all import Scapy_Exception
 
 
-class ProxyTest(base_test.BaseTestClass):
+class ProxyTest(WifiBaseTest):
     """ Network proxy tests """
 
     def setup_class(self):
         """ Setup devices for tests and unpack params """
         self.dut = self.android_devices[0]
-        req_params = ("wifi_network_no_dns_tls", "proxy_pac", "proxy_server",
+        req_params = ("proxy_pac", "proxy_server",
                       "proxy_port", "bypass_host", "non_bypass_host")
-        self.unpack_userparams(req_params)
-        wutils.wifi_connect(self.dut, self.wifi_network_no_dns_tls)
+        opt_params = ["reference_networks", "wpa_networks",]
+        self.unpack_userparams(req_param_names=req_params,
+                               opt_param_names=opt_params)
+        if "AccessPoint" in self.user_params:
+            self.legacy_configure_ap_and_start(wpa_network=True)
+        asserts.assert_true(len(self.reference_networks) > 0,
+                            "Need at least one reference network with psk.")
+        self.wifi_network = self.reference_networks[0]["2g"]
+        wutils.wifi_test_device_init(self.dut)
+        wutils.wifi_toggle_state(self.dut, True)
+        wutils.wifi_connect(self.dut, self.wifi_network)
         self.tcpdump_pid = None
         self.proxy_port = int(self.proxy_port)
 
@@ -50,6 +61,9 @@
     def teardown_class(self):
         wutils.reset_wifi(self.dut)
 
+    def on_fail(self, test_name, begin_time):
+        self.dut.take_bug_report(test_name, begin_time)
+
     """ Helper methods """
 
     def _verify_http_request(self, ad):
diff --git a/acts/tests/google/wifi/WifiTetheringTest.py b/acts/tests/google/wifi/WifiTetheringTest.py
index 26be9b7..915b25f 100644
--- a/acts/tests/google/wifi/WifiTetheringTest.py
+++ b/acts/tests/google/wifi/WifiTetheringTest.py
@@ -34,7 +34,7 @@
 from acts.test_utils.net import net_test_utils as nutils
 from acts.test_utils.wifi import wifi_test_utils as wutils
 
-WAIT_TIME = 2
+WAIT_TIME = 5
 
 class WifiTetheringTest(base_test.BaseTestClass):
     """ Tests for Wifi Tethering """
@@ -59,7 +59,6 @@
 
     def on_fail(self, test_name, begin_time):
         """ Collect bug report on failure """
-        return
         for ad in self.android_devices:
             ad.take_bug_report(test_name, begin_time)