Merge "[openwrt_authentication] Skip creating RSA key if exists." into main
diff --git a/acts_tests/tests/google/wifi/WifiSoftApTest.py b/acts_tests/tests/google/wifi/WifiSoftApTest.py
index 456d50c..3aa815c 100644
--- a/acts_tests/tests/google/wifi/WifiSoftApTest.py
+++ b/acts_tests/tests/google/wifi/WifiSoftApTest.py
@@ -48,7 +48,7 @@
         self.dut = self.android_devices[0]
         self.dut_client = self.android_devices[1]
         req_params = ["dbs_supported_models", "sta_concurrency_supported_models",
-                      "sap_wpa3_supported_models", "wifi6_models"]
+                      "sap_wpa3_supported_models", "wifi6_models", "sim_supported_models"]
         opt_param = ["reference_networks"]
         self.unpack_userparams(
             req_param_names=req_params, opt_param_names=opt_param)
@@ -302,6 +302,8 @@
         """
         # TODO(silberst): wifiIsPortableHotspotSupported() is currently failing.
         # Remove the extra check and logging when b/30800811 is resolved
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         hotspot_supported = self.dut.droid.wifiIsPortableHotspotSupported()
         tethering_supported = self.dut.droid.connectivityIsTetheringSupported()
         self.log.info(
@@ -322,6 +324,8 @@
         4. Shutdown wifi tethering.
         5. verify back to previous mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup()
 
     @test_tracker_info(uuid="6437727d-7db1-4f69-963e-f26a7797e47f")
@@ -334,6 +338,8 @@
         4. Shutdown wifi tethering.
         5. verify back to previous mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_2G)
 
     @test_tracker_info(uuid="970272fa-1302-429b-b261-51efb4dad779")
@@ -346,6 +352,8 @@
         4. Shutdown wifi tethering.
         5. verify back to previous mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_5G)
 
     @test_tracker_info(uuid="f76ed37a-519a-48b4-b260-ee3fc5a9cae0")
@@ -358,6 +366,8 @@
         4. Shutdown wifi tethering.
         5. verify back to previous mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_AUTO)
 
     @test_tracker_info(uuid="d26ee4df-5dcb-4191-829f-05a10b1218a7")
@@ -370,6 +380,8 @@
         4. Shutdown wifi tethering.
         5. verify back to previous mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_2G, True)
 
     @test_tracker_info(uuid="229cd585-a789-4c9a-8948-89fa72de9dd5")
@@ -382,6 +394,8 @@
         4. Shutdown wifi tethering.
         5. verify back to previous mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_5G, True)
 
     @test_tracker_info(uuid="d546a143-6047-4ffd-b3c6-5ec81a38001f")
@@ -394,6 +408,8 @@
         4. Shutdown wifi tethering.
         5. verify back to previous mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_AUTO, True)
 
     @test_tracker_info(uuid="25996696-e9c8-4cd3-816a-44536166e69f")
@@ -404,6 +420,8 @@
         1. Configure softap in default band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(security=WPA3_SAE_SOFTAP)
@@ -416,6 +434,8 @@
         1. Configure softap in 2G band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(
@@ -429,6 +449,8 @@
         1. Configure softap in 5G band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(
@@ -442,6 +464,8 @@
         1. Configure softap in auto band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(
@@ -455,6 +479,8 @@
         1. Configure hidden softap in default band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(security=WPA3_SAE_SOFTAP, hidden=True)
@@ -467,6 +493,8 @@
         1. Configure hidden softap in 2G band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(
@@ -480,6 +508,8 @@
         1. Configure hidden softap in 5G band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(
@@ -493,6 +523,8 @@
         1. Configure hidden softap in auto band and wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(
@@ -506,6 +538,8 @@
         1. Configure softap in default band and wpa2/wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_full_tether_startup(security=WPA3_SAE_TRANSITION_SOFTAP)
@@ -518,6 +552,8 @@
         1. Configure softap in default band and wpa2/wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_full_tether_startup(
@@ -531,6 +567,8 @@
         1. Configure softap in default band and wpa2/wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_full_tether_startup(
@@ -544,6 +582,8 @@
         1. Configure softap in default band and wpa2/wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_full_tether_startup(
@@ -557,6 +597,8 @@
         1. Configure hidden softap in 2G band and wpa2/wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_full_tether_startup(
@@ -570,6 +612,8 @@
         1. Configure hidden softap in 5G band and wpa2/wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_full_tether_startup(
@@ -583,6 +627,8 @@
         1. Configure hidden softap in auto band and wpa2/wpa3 security.
         2. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_full_tether_startup(
@@ -597,6 +643,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -611,6 +659,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -625,6 +675,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -639,6 +691,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -653,6 +707,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -667,6 +723,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -681,6 +739,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -695,6 +755,8 @@
         2. Reboot device and start softap.
         3. Verify dut client connects to the softap.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(self.dut.model not in self.sap_wpa3_supported_models,
                         "DUT does not support WPA2/WPA3 softAp")
         self.validate_softap_after_reboot(
@@ -712,6 +774,8 @@
         5. Shutdown wifi tethering.
         6. Ensure that the client disconnected.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         wutils.wifi_toggle_state(self.dut, True)
         wutils.wifi_connect(self.dut, self.wifi_network)
         config = self.create_softap_config()
@@ -741,6 +805,8 @@
         6. verify back to previous mode.
         7. Turn off airplane mode.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.dut.log.debug("Toggling Airplane mode ON.")
         asserts.assert_true(utils.force_airplane_mode(self.dut, True),
                             "Can not turn on airplane mode: %s" % self.dut.serial)
@@ -756,6 +822,8 @@
         2. Client connects to the softap
         3. Client and DUT ping each other
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_2G, test_ping=True)
 
     @test_tracker_info(uuid="6604e848-99d6-422c-9fdc-2882642438b6")
@@ -767,6 +835,8 @@
         2. Client connects to the softap
         3. Client and DUT ping each other
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_5G, test_ping=True)
 
     @test_tracker_info(uuid="17725ecd-f900-4cf7-8b2d-d7515b0a595c")
@@ -777,6 +847,8 @@
         2. Two clients connect to the hotspot
         3. Two clients ping each other
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(len(self.android_devices) < 3,
                         "No extra android devices. Skip test")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_2G, test_clients=True)
@@ -789,6 +861,8 @@
         2. Two clients connect to the hotspot
         3. Two clients ping each other
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(len(self.android_devices) < 3,
                         "No extra android devices. Skip test")
         self.validate_full_tether_startup(WIFI_CONFIG_APBAND_5G, test_clients=True)
@@ -807,6 +881,8 @@
         8. Turn off hotspot
         9. Verify second softap callback doesn't respond after unregister
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         config = wutils.start_softap_and_verify(self, WIFI_CONFIG_APBAND_AUTO)
         # Register callback after softap enabled to avoid unnecessary callback
         # impact the test
@@ -887,6 +963,8 @@
         7. Start wait [wifi_constants.DEFAULT_SOFTAP_TIMEOUT_S] seconds
         8. Check hotspot auto shut off
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         config = wutils.start_softap_and_verify(self, WIFI_CONFIG_APBAND_AUTO)
         # Register callback after softap enabled to avoid unnecessary callback
         # impact the test
@@ -940,6 +1018,8 @@
         9. Start wait test_shutdown_timeout_value seconds
         10. Check hotspot auto shut off
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         # Backup config
         original_softap_config = self.dut.droid.wifiGetApConfiguration()
         # This config only included SSID and Password which used for connection
@@ -1003,6 +1083,8 @@
            bridged_shutdown off, 11ax off configuration which are introduced in S.
         5. Restore the configuration
       """
+      asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                      "Device does not support SIM card, softAp not applicable.")
       # Backup config
       original_softap_config = self.dut.droid.wifiGetApConfiguration()
       wutils.save_wifi_soft_ap_config(self.dut, {"SSID":"ACTS_TEST"},
@@ -1042,6 +1124,8 @@
         8. Verify client connected
         9. Restore Config
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         # Register callback to check capability first
         callbackId = self.dut.droid.registerSoftApCallback()
         # Check capability first to make sure DUT support this test.
@@ -1122,6 +1206,8 @@
         8. Verify client connected
         9. Restore Config
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if(len(self.android_devices) < 3,
                         "Device less than 3, skip the test.")
         # Register callback to check capability first
@@ -1206,6 +1292,8 @@
             3. Start softap and verify it works
             4. Verify a client device can connect to it.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         wutils.set_wifi_country_code(
             self.dut, wutils.WifiEnums.CountryCode.GERMANY)
         sap_config = self.create_softap_config()
@@ -1235,6 +1323,8 @@
             2. Start softAp on DUT on 2G band.
             3. Verify softAp is started on channel 13.
         """
+        asserts.skip_if(self.dut.model not in self.sim_supported_models,
+                        "Device does not support SIM card, softAp not applicable.")
         asserts.skip_if("OpenWrtAP" not in self.user_params,
                         "Need openwrt AP to configure channel 13.")
         wutils.connect_to_wifi_network(self.dut, self.wifi_network)