Move ENT tests from run_generated to individual tests

Bug: 62845970
Tests: Verified

Change-Id: I969e97c87ca5c35ecb95f8b349f4eb6f7749344b
diff --git a/acts/tests/google/wifi/WifiEnterpriseTest.py b/acts/tests/google/wifi/WifiEnterpriseTest.py
index b28ca66..00f19d0 100755
--- a/acts/tests/google/wifi/WifiEnterpriseTest.py
+++ b/acts/tests/google/wifi/WifiEnterpriseTest.py
@@ -36,8 +36,6 @@
 class WifiEnterpriseTest(base_test.BaseTestClass):
     def __init__(self, controllers):
         base_test.BaseTestClass.__init__(self, controllers)
-        self.tests = ("test_eap_connect", "test_eap_connect_negative",
-                      "test_eap_connect_config_store", )
 
     def setup_class(self):
         self.dut = self.android_devices[0]
@@ -166,53 +164,7 @@
             verdict = wutils.wifi_connect(ad, config)
         asserts.explicit_pass("Connection failed as expected.")
 
-    def expand_config_by_phase2(self, config):
-        """Take an enterprise config and generate a list of configs, each with
-        a different phase2 auth type.
-
-        Args:
-            config: A dict representing enterprise config.
-
-        Returns
-            A list of enterprise configs.
-        """
-        results = []
-        for phase2_type in EapPhase2:
-            # Skip a special case for passpoint TTLS.
-            if Ent.FQDN in config and phase2_type == EapPhase2.GTC:
-                continue
-            c = dict(config)
-            c[Ent.PHASE2] = phase2_type.value
-            results.append(c)
-        return results
-
-    def gen_eap_configs(self):
-        """Generates configurations for different EAP authentication types.
-
-        Returns:
-            A list of dicts each representing an EAP configuration.
-        """
-        configs = [self.config_tls, self.config_pwd, self.config_sim,
-                   self.config_aka, self.config_aka_prime]
-        configs += wutils.expand_enterprise_config_by_phase2(self.config_ttls)
-        configs += wutils.expand_enterprise_config_by_phase2(self.config_peap0)
-        configs += wutils.expand_enterprise_config_by_phase2(self.config_peap1)
-        return configs
-
-    def gen_passpoint_configs(self):
-        """Generates passpoint configurations for different EAP authentication
-        types.
-
-        Returns:
-            A list of dicts each representing an EAP configuration for
-            passpoint networks.
-        """
-        configs = [self.config_passpoint_tls]
-        configs += wutils.expand_enterprise_config_by_phase2(
-            self.config_passpoint_ttls)
-        return configs
-
-    def gen_negative_configs(self, configs, neg_params):
+    def gen_negative_configs(self, config, neg_params):
         """Generic function used to generate negative configs.
 
         For all the valid configurations, if a param in the neg_params also
@@ -220,29 +172,26 @@
         of the param.
 
         Args:
-            configs: A list of valid configurations.
+            config: A valid configuration.
             neg_params: A dict that has all the invalid values.
 
         Returns:
-            A list of invalid configurations generated based on the valid
-            configurations. Each invalid configuration has a different invalid
+            An invalid configurations generated based on the valid
+            configuration. Each invalid configuration has a different invalid
             field.
         """
-        results = []
-        for c in configs:
-            for k, v in neg_params.items():
-                # Skip negative test for TLS's identity field since it's not
-                # used for auth.
-                if c[Ent.EAP] == EAP.TLS and k == Ent.IDENTITY:
-                    continue
-                if k in c:
-                    nc = dict(c)
-                    nc[k] = v
-                    nc["invalid_field"] = k
-                    results.append(nc)
-        return results
+        nc = dict(config)
+        for k, v in neg_params.items():
+            # Skip negative test for TLS's identity field since it's not
+            # used for auth.
+            if config[Ent.EAP] == EAP.TLS and k == Ent.IDENTITY:
+                continue
+            if k in config:
+                nc[k] = v
+                nc["invalid_field"] = k
+        return nc
 
-    def gen_negative_eap_configs(self):
+    def gen_negative_eap_configs(self, config):
         """Generates invalid configurations for different EAP authentication
         types.
 
@@ -250,8 +199,11 @@
         authentication info exists in a config, a copy of the config is made
         with an invalid value of the param.
 
+        Args:
+            A valid network configration
+
         Returns:
-            A list of dicts each representing an invalid EAP configuration.
+            An invalid EAP configuration.
         """
         neg_params = {
             Ent.CLIENT_CERT: self.invalid_client_cert,
@@ -260,16 +212,17 @@
             Ent.IDENTITY: "fake_identity",
             Ent.PASSWORD: "wrong_password"
         }
-        configs = self.gen_eap_configs()
-        return self.gen_negative_configs(configs, neg_params)
+        return self.gen_negative_configs(config, neg_params)
 
-    def gen_negative_passpoint_configs(self):
+    def gen_negative_passpoint_configs(self, config):
         """Generates invalid configurations for different EAP authentication
         types with passpoint support.
 
+        Args:
+            A valid network configration
+
         Returns:
-            A list of dicts each representing an invalid EAP configuration
-            with passpoint fields.
+            An invalid EAP configuration with passpoint fields.
         """
         neg_params = {
             Ent.CLIENT_CERT: self.invalid_client_cert,
@@ -282,56 +235,7 @@
             Ent.PLMN: "fake_plmn",
             Ent.ROAMING_IDS: [1234567890, 9876543210]
         }
-        configs = self.gen_passpoint_configs()
-        return self.gen_negative_configs(configs, neg_params)
-
-    def gen_eap_test_name_for_config_store(self, config, ad):
-        """Generates a test case name based on an EAP configuration for config
-        store tests.
-
-        Args:
-            config: A dict representing an EAP credential.
-            ad: Discarded. This is here because name function signature needs
-                to be consistent with logic function signature for generated
-                test cases.
-
-        Returns:
-            A string representing the name of a generated EAP test case.
-        """
-        return wutils.generate_eap_test_name(config) + "-config_store"
-
-    def gen_passpoint_test_name(self, config, ad):
-        """Generates a test case name based on an EAP passpoint configuration.
-
-        Args:
-            config: A dict representing an EAP passpoint credential.
-            ad: Discarded. This is here because name function signature needs
-                to be consistent with logic function signature for generated
-                test cases.
-
-        Returns:
-            A string representing the name of a generated EAP passpoint connect
-            test case.
-        """
-        name = wutils.generate_eap_test_name(config)
-        name = name.replace("connect", "passpoint_connect")
-        return name
-
-    def gen_passpoint_test_name_for_config_store(self, config, ad):
-        """Generates a test case name based on an EAP passpoint configuration
-        for config store tests.
-
-        Args:
-            config: A dict representing an EAP passpoint credential.
-            ad: Discarded. This is here because name function signature needs
-                to be consistent with logic function signature for generated
-                test cases.
-
-        Returns:
-            A string representing the name of a generated EAP passpoint connect
-            test case.
-        """
-        return self.gen_passpoint_test_name(config, ad) + "-config_store"
+        return self.gen_negative_configs(config, neg_params)
 
     def eap_connect_toggle_wifi(self,
                                 config,
@@ -352,12 +256,10 @@
         wutils.wifi_connect(ad, config)
         wutils.toggle_wifi_and_wait_for_reconnection(ad, config, num_of_tries=5)
 
-    """Tests"""
+    """ Tests """
 
-    @test_tracker_info(uuid="d1e897d4-9813-4b49-93e5-eb3970113be8")
-    @signals.generated_test
-    def test_eap_connect(self):
-        """Test connecting to enterprise networks of different authentication
+    # EAP connect tests
+    """ Test connecting to enterprise networks of different authentication
         types.
 
         The authentication types tested are:
@@ -373,23 +275,83 @@
         Expect:
             Successful connection and Internet access through the enterprise
             networks.
-        """
-        eap_configs = self.gen_eap_configs()
-        self.log.info("Testing %d different configs.", len(eap_configs))
-        random.shuffle(eap_configs)
-        failed = self.run_generated_testcases(wutils.wifi_connect,
-                                              eap_configs,
-                                              args=(self.dut, ),
-                                              name_func=wutils.generate_eap_test_name,
-                                              format_args=True)
-        asserts.assert_equal(
-            len(failed), 0, "The following configs failed EAP connect test: %s"
-            % pprint.pformat(failed))
+    """
+    @test_tracker_info(uuid="4e720cac-ea17-4de7-a540-8dc7c49f9713")
+    def test_eap_connect_with_config_tls(self):
+        wutils.wifi_connect(self.dut, self.config_tls)
 
-    @test_tracker_info(uuid="10d78928-e6bf-4c75-a5d3-aae05f0d6a04")
-    @signals.generated_test
-    def test_eap_connect_negative(self):
-        """Test connecting to enterprise networks.
+    @test_tracker_info(uuid="10e3a5e9-0018-4162-a9fa-b41500f13340")
+    def test_eap_connect_with_config_pwd(self):
+        wutils.wifi_connect(self.dut, self.config_pwd)
+
+    @test_tracker_info(uuid="b4513f78-a1c4-427f-bfc7-2a6b3da714b5")
+    def test_eap_connect_with_config_sim(self):
+        wutils.wifi_connect(self.dut, self.config_sim)
+
+    @test_tracker_info(uuid="7d390e30-cb67-4b55-bf00-567adad2d9b0")
+    def test_eap_connect_with_config_aka(self):
+        wutils.wifi_connect(self.dut, self.config_aka)
+
+    @test_tracker_info(uuid="742f921b-27c3-4b68-a3ca-88e64fe79c1d")
+    def test_eap_connect_with_config_aka_prime(self):
+        wutils.wifi_connect(self.dut, self.config_aka_prime)
+
+    @test_tracker_info(uuid="d34e30f3-6ef6-459f-b47a-e78ed90ce4c6")
+    def test_eap_connect_with_config_ttls_none(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.NONE.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="0dca3a15-472e-427c-8e06-4e38088ee973")
+    def test_eap_connect_with_config_ttls_pap(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.PAP.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="47c4b459-2cb1-4fc7-b4e7-82534e8e090e")
+    def test_eap_connect_with_config_ttls_mschap(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAP.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="fdb286c7-8069-481d-baf0-c5dd7a31ff03")
+    def test_eap_connect_with_config_ttls_mschapv2(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="d9315962-7987-4ee7-905d-6972c78ce8a1")
+    def test_eap_connect_with_config_ttls_gtc(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="90a67bd3-30da-4daf-8ab0-d964d7ad19be")
+    def test_eap_connect_with_config_peap0_mschapv2(self):
+        config = dict(self.config_peap0)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="3c451ba4-0c83-4eef-bc95-db4c21893008")
+    def test_eap_connect_with_config_peap0_gtc(self):
+        config = dict(self.config_peap0)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="6b45157d-0325-417a-af18-11af5d240d79")
+    def test_eap_connect_with_config_peap1_mschapv2(self):
+        config = dict(self.config_peap1)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="1663decc-71ae-4f95-a027-8a6dbf9c337f")
+    def test_eap_connect_with_config_peap1_gtc(self):
+        config = dict(self.config_peap1)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        wutils.wifi_connect(self.dut, config)
+
+    # EAP connect negative tests
+    """ Test connecting to enterprise networks.
 
         Procedures:
             For each enterprise wifi network
@@ -397,28 +359,97 @@
 
         Expect:
             Fail to establish connection.
-        """
-        neg_eap_configs = self.gen_negative_eap_configs()
-        self.log.info("Testing %d different configs.", len(neg_eap_configs))
-        random.shuffle(neg_eap_configs)
+    """
+    @test_tracker_info(uuid="b2a91f1f-ccd7-4bd1-ab81-19aab3d8ee38")
+    def test_eap_connect_negative_with_config_tls(self):
+        config = self.gen_negative_eap_configs(self.config_tls)
+        self.eap_negative_connect_logic(config, self.dut)
 
-        def name_gen(config, ad):
-            name = wutils.generate_eap_test_name(config)
-            name += "-with_wrong-{}".format(config["invalid_field"])
-            return name
+    @test_tracker_info(uuid="6466abde-1d16-4168-9dd8-1e7a0a19889b")
+    def test_eap_connect_negative_with_config_pwd(self):
+        config = self.gen_negative_eap_configs(self.config_pwd)
+        self.eap_negative_connect_logic(config, self.dut)
 
-        failed = self.run_generated_testcases(self.eap_negative_connect_logic,
-                                              neg_eap_configs,
-                                              args=(self.dut, ),
-                                              name_func=name_gen)
-        msg = ("The following configs failed negative EAP connect test: %s" %
-               pprint.pformat(failed))
-        asserts.assert_equal(len(failed), 0, msg)
+    @test_tracker_info(uuid="d7742a2a-85b0-409a-99d8-47711ddc5612")
+    def test_eap_connect_negative_with_config_sim(self):
+        config = self.gen_negative_eap_configs(self.config_sim)
+        self.eap_negative_connect_logic(config, self.dut)
 
-    @test_tracker_info(uuid="f79e6063-5615-4399-b618-86968d5445c8")
-    @signals.generated_test
-    def test_eap_connect_config_store(self):
-        """Test connecting to enterprise networks of different authentication
+    @test_tracker_info(uuid="0ec0de93-cab3-4f41-960b-c0af64ff48c4")
+    def test_eap_connect_negative_with_config_aka(self):
+        config = self.gen_negative_eap_configs(self.config_aka)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="bb640ea4-32a6-48ea-87c9-f7128fffbbf6")
+    def test_eap_connect_negative_with_config_aka_prime(self):
+        config = self.gen_negative_eap_configs(self.config_aka_prime)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="86336ada-0ced-45a4-8a22-c4aa23c81111")
+    def test_eap_connect_negative_with_config_ttls_none(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.NONE.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="71e0498d-9973-4958-94bd-79051c328920")
+    def test_eap_connect_negative_with_config_ttls_pap(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.PAP.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="c04142a8-b204-4d2d-98dc-150b16c8397e")
+    def test_eap_connect_negative_with_config_ttls_mschap(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAP.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="625e7aa5-e3e6-4bbe-98c0-5aad8ca1555b")
+    def test_eap_connect_negative_with_config_ttls_mschapv2(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="24ea0d80-0a3f-41c2-8e05-d6387e589058")
+    def test_eap_connect_negative_with_config_ttls_gtc(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="b7c1f0f8-6338-4501-8e1d-c9b136aaba88")
+    def test_eap_connect_negative_with_config_peap0_mschapv2(self):
+        config = dict(self.config_peap0)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="9cf83dcb-38ad-4f75-9ea9-98de1cfaf7f3")
+    def test_eap_connect_negative_with_config_peap0_gtc(self):
+        config = dict(self.config_peap0)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="89bb2b6b-d073-402a-bdc1-68ac5f8752a3")
+    def test_eap_connect_negative_with_config_peap1_mschapv2(self):
+        config = dict(self.config_peap1)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="2252a864-9ff7-43b5-82d9-afe57d1f5e5f")
+    def test_eap_connect_negative_with_config_peap1_gtc(self):
+        config = dict(self.config_peap1)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        config = self.gen_negative_eap_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    # EAP connect config store tests
+    """ Test connecting to enterprise networks of different authentication
         types after wifi toggle.
 
         The authentication types tested are:
@@ -436,23 +467,83 @@
         Expect:
             Successful connection and Internet access through the enterprise
             networks.
-        """
-        eap_configs = self.gen_eap_configs()
-        self.log.info("Testing %d different configs.", len(eap_configs))
-        random.shuffle(eap_configs)
-        failed = self.run_generated_testcases(
-            self.eap_connect_toggle_wifi,
-            eap_configs,
-            args=(self.dut, ),
-            name_func=wutils.generate_eap_test_name)
-        asserts.assert_equal(
-            len(failed), 0, "The following configs failed EAP connect test: %s"
-            % pprint.pformat(failed))
+    """
+    @test_tracker_info(uuid="2a933b7f-27d7-4201-a34f-25b9d8072a8c")
+    def test_eap_connect_config_store_with_config_tls(self):
+        self.eap_connect_toggle_wifi(self.config_tls, self.dut)
 
-    @test_tracker_info(uuid="85b7950f-c36e-44b1-939b-509550db5918")
-    @signals.generated_test
-    def test_passpoint_connect(self):
-        """Test connecting to enterprise networks of different authentication
+    @test_tracker_info(uuid="08dc071b-9fea-408a-a3f6-d3493869f6d4")
+    def test_eap_connect_config_store_with_config_pwd(self):
+        self.eap_connect_toggle_wifi(self.config_pwd, self.dut)
+
+    @test_tracker_info(uuid="230cb03e-58bc-41cb-b9b3-7215c2ab2325")
+    def test_eap_connect_config_store_with_config_sim(self):
+        self.eap_connect_toggle_wifi(self.config_sim, self.dut)
+
+    @test_tracker_info(uuid="dfc3e59c-2309-4598-8c23-bb3fe95ef89f")
+    def test_eap_connect_config_store_with_config_aka(self):
+        self.eap_connect_toggle_wifi(self.config_aka, self.dut)
+
+    @test_tracker_info(uuid="6050a1d1-4f3a-476d-bf93-638abd066790")
+    def test_eap_connect_config_store_with_config_aka_prime(self):
+        self.eap_connect_toggle_wifi(self.config_aka_prime, self.dut)
+
+    @test_tracker_info(uuid="03108057-cc44-4a80-8331-77c93694099c")
+    def test_eap_connect_config_store_with_config_ttls_none(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.NONE.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="53dd8195-e272-4589-a261-b8fa3607ad8d")
+    def test_eap_connect_config_store_with_config_ttls_pap(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.PAP.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="640f697b-9c62-4b19-bd76-53b236a152e0")
+    def test_eap_connect_config_store_with_config_ttls_mschap(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAP.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="f0243684-fae0-46f3-afbd-bf525fc712e2")
+    def test_eap_connect_config_store_with_config_ttls_mschapv2(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="49ec7202-3b00-49c3-970a-201360888c74")
+    def test_eap_connect_config_store_with_config_ttls_gtc(self):
+        config = dict(self.config_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="1c6abfa3-f344-4e28-b891-5481ab79efcf")
+    def test_eap_connect_config_store_with_config_peap0_mschapv2(self):
+        config = dict(self.config_peap0)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="2815bc76-49fa-43a5-a4b6-84788f9809d5")
+    def test_eap_connect_config_store_with_config_peap0_gtc(self):
+        config = dict(self.config_peap0)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="e93f7472-6895-4e36-bff2-9b2dcfd07ad0")
+    def test_eap_connect_config_store_with_config_peap1_mschapv2(self):
+        config = dict(self.config_peap1)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="6da72fa0-b858-4475-9559-46fe052d0d64")
+    def test_eap_connect_config_store_with_config_peap1_gtc(self):
+        config = dict(self.config_peap1)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    # Passpoint connect tests
+    """ Test connecting to enterprise networks of different authentication
         types with passpoint support.
 
         The authentication types tested are:
@@ -467,28 +558,55 @@
         Expect:
             Successful connection and Internet access through the enterprise
             networks with passpoint support.
-        """
+    """
+    @test_tracker_info(uuid="0b942524-bde9-4fc6-ac6a-fef1c247cb8e")
+    def test_passpoint_connect_with_config_passpoint_tls(self):
         asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
-                        "Passpoint is not supported on device %s" %
-                        self.dut.model)
-        passpoint_configs = self.gen_passpoint_configs()
-        self.log.info("Testing %d different configs.", len(passpoint_configs))
-        random.shuffle(passpoint_configs)
-        failed = self.run_generated_testcases(
-                wutils.wifi_connect,
-                passpoint_configs,
-                args=(self.dut, ),
-                name_func=self.gen_passpoint_test_name,
-                format_args=True)
-        asserts.assert_equal(
-            len(failed), 0,
-            "The following configs failed passpoint connect test: %s" %
-            pprint.pformat(failed))
+                        "Passpoint is not supported on %s" % self.dut.model)
+        wutils.wifi_connect(self.dut, self.config_passpoint_tls)
 
-    @test_tracker_info(uuid="0e068a2f-cc7b-4c11-ada1-d0d1b0f4163b")
-    @signals.generated_test
-    def test_passpoint_connect_negative(self):
-        """Test connecting to enterprise networks.
+    @test_tracker_info(uuid="33a014aa-99e7-4612-b732-54fabf1bf922")
+    def test_passpoint_connect_with_config_passpoint_ttls_none(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.NONE.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="1aba8bf9-2b09-4956-b418-c3f4dadab330")
+    def test_passpoint_connect_with_config_passpoint_ttls_pap(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.PAP.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="cd978fc9-a393-4b1e-bba3-1efc52224500")
+    def test_passpoint_connect_with_config_passpoint_ttls_mschap(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAP.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="bc311ee7-ba64-4c76-a629-b916701bf6a5")
+    def test_passpoint_connect_with_config_passpoint_ttls_mschapv2(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        wutils.wifi_connect(self.dut, config)
+
+    @test_tracker_info(uuid="357e5162-5081-4149-bedd-ef2c0f88b97e")
+    def test_passpoint_connect_with_config_passpoint_ttls_gtc(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        wutils.wifi_connect(self.dut, config)
+
+    # Passpoint connect negative tests
+    """ Test connecting to enterprise networks.
 
         Procedures:
             For each enterprise wifi network
@@ -496,33 +614,61 @@
 
         Expect:
             Fail to establish connection.
-        """
+    """
+    @test_tracker_info(uuid="7b6b44a0-ff70-49b4-94ca-a98bedc18f92")
+    def test_passpoint_connect_negative_with_config_passpoint_tls(self):
         asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
-                        "Passpoint is not supported on device %s" %
-                        self.dut.model)
-        neg_passpoint_configs = self.gen_negative_passpoint_configs()
-        self.log.info("Testing %d different configs.",
-                      len(neg_passpoint_configs))
-        random.shuffle(neg_passpoint_configs)
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = self.gen_negative_passpoint_configs(self.config_passpoint_tls)
+        self.eap_negative_connect_logic(config, self.dut)
 
-        def name_gen(config, ad):
-            name = self.gen_passpoint_test_name(config, ad)
-            name += "-with_wrong-{}".format(config["invalid_field"])
-            return name
+    @test_tracker_info(uuid="3dbde40a-e88c-4166-b932-163663a10a41")
+    def test_passpoint_connect_negative_with_config_passpoint_ttls_none(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.NONE.value
+        config = self.gen_negative_passpoint_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
 
-        failed = self.run_generated_testcases(self.eap_negative_connect_logic,
-                                              neg_passpoint_configs,
-                                              args=(self.dut, ),
-                                              name_func=name_gen)
-        asserts.assert_equal(
-            len(failed), 0,
-            "The following configs failed negative passpoint connect test: %s"
-            % pprint.pformat(failed))
+    @test_tracker_info(uuid="8ee22ad6-d561-4ca2-a808-9f372fce56b4")
+    def test_passpoint_connect_negative_with_config_passpoint_ttls_pap(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.PAP.value
+        config = self.gen_negative_passpoint_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
 
-    @test_tracker_info(uuid="a17347e0-4b0e-49ae-8bd2-60ba185e1c35")
-    @signals.generated_test
-    def test_passpoint_connect_config_store(self):
-        """Test connecting to enterprise networks of different authentication
+    @test_tracker_info(uuid="db5cefe7-9cb8-47a6-8635-006c80b97012")
+    def test_passpoint_connect_negative_with_config_passpoint_ttls_mschap(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAP.value
+        config = self.gen_negative_passpoint_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="8f49496e-80df-48ce-9c51-42f0c6b81aff")
+    def test_passpoint_connect_negative_with_config_passpoint_ttls_mschapv2(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        config = self.gen_negative_passpoint_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    @test_tracker_info(uuid="6561508f-598e-408d-96b6-15b631664be6")
+    def test_passpoint_connect_negative_with_config_passpoint_ttls_gtc(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        config = self.gen_negative_passpoint_configs(config)
+        self.eap_negative_connect_logic(config, self.dut)
+
+    # Passpoint connect config store tests
+    """ Test connecting to enterprise networks of different authentication
         types with passpoint support after wifi toggle.
 
         The authentication types tested are:
@@ -539,19 +685,49 @@
         Expect:
             Successful connection and Internet access through the enterprise
             networks with passpoint support.
-        """
+    """
+    @test_tracker_info(uuid="5d5e6bb0-faea-4a6e-a6bc-c87de997a4fd")
+    def test_passpoint_connect_config_store_with_config_passpoint_tls(self):
         asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
-                        "Passpoint is not supported on device %s" %
-                        self.dut.model)
-        passpoint_configs = self.gen_passpoint_configs()
-        self.log.info("Testing %d different configs.", len(passpoint_configs))
-        random.shuffle(passpoint_configs)
-        failed = self.run_generated_testcases(
-            self.eap_connect_toggle_wifi,
-            passpoint_configs,
-            args=(self.dut, ),
-            name_func=self.gen_passpoint_test_name_for_config_store)
-        asserts.assert_equal(
-            len(failed), 0,
-            "The following configs failed passpoint connect test: %s" %
-            pprint.pformat(failed))
+                        "Passpoint is not supported on %s" % self.dut.model)
+        self.eap_connect_toggle_wifi(self.config_passpoint_tls, self.dut)
+
+    @test_tracker_info(uuid="0c80262d-23c1-439f-ad64-7b8ada5d1962")
+    def test_passpoint_connect_config_store_with_config_passpoint_ttls_none(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.NONE.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="786e424c-b5a6-4fe9-a951-b3de16ebb6db")
+    def test_passpoint_connect_config_store_with_config_passpoint_ttls_pap(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.PAP.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="22fd61bf-722a-4016-a778-fc33e94ed211")
+    def test_passpoint_connect_config_store_with_config_passpoint_ttls_mschap(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAP.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="2abd348c-9c66-456b-88ad-55f971717620")
+    def test_passpoint_connect_config_store_with_config_passpoint_ttls_mschapv2(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.MSCHAPV2.value
+        self.eap_connect_toggle_wifi(config, self.dut)
+
+    @test_tracker_info(uuid="043e8cdd-db95-4f03-b308-3c8cecf874b1")
+    def test_passpoint_connect_config_store_with_config_passpoint_ttls_gtc(self):
+        asserts.skip_if(not self.dut.droid.wifiIsPasspointSupported(),
+                        "Passpoint is not supported on %s" % self.dut.model)
+        config = dict(self.config_passpoint_ttls)
+        config[WifiEnums.Enterprise.PHASE2] = WifiEnums.EapPhase2.GTC.value
+        self.eap_connect_toggle_wifi(config, self.dut)