Skip to contentSkip to conversation

auto-t: add TLS test with embedded PEMs

PATCH Applied James Prestwood 2 participants 2 messages Oct 7, 2019 – Oct 8, 2019

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 auto-t: add TLS test with embedded PEMs

---
 .../connection_test.py                        | 77 +++++++++++++++
 autotests/testEAP-TLS-embedded-pems/hw.conf   |  6 ++
 .../ssidEAP-TLS.8021x                         | 94 +++++++++++++++++++
 .../ssidEAP-TLS.conf                          | 12 +++
 4 files changed, 189 insertions(+)
 create mode 100644 autotests/testEAP-TLS-embedded-pems/connection_test.py
 create mode 100644 autotests/testEAP-TLS-embedded-pems/hw.conf
 create mode 100644 autotests/testEAP-TLS-embedded-pems/ssidEAP-TLS.8021x
 create mode 100644 autotests/testEAP-TLS-embedded-pems/ssidEAP-TLS.conf
autotests/testEAP-TLS-embedded-pems/connection_test.py new file +77 -0
new file mode 100644
index 00000000..1102b810
@@ -0,0 +1,77 @@
+#!/usr/bin/python3
+
+import unittest
+import sys
+
+sys.path.append('../util')
+import iwd
+from iwd import IWD
+from iwd import PSKAgent
+from iwd import NetworkType
+import testutil
+import hostapd
+
+class Test(unittest.TestCase):
+
+    def do_test_connection_success(self, ssid, passphrase=None):
+        wd = IWD()
+
+        if passphrase:
+            psk_agent = PSKAgent(passphrase)
+            wd.register_psk_agent(psk_agent)
+
+        hostapd_ifname = None
+        for ifname in hostapd.hostapd_map:
+            if ssid + '.conf' in hostapd.hostapd_map[ifname].config:
+                hostapd_ifname = ifname
+                break
+
+        devices = wd.list_devices(1)
+        device = devices[0]
+
+        condition = 'not obj.scanning'
+        wd.wait_for_object_condition(device, condition)
+
+        if not device.get_ordered_networks():
+            device.scan()
+            condition = 'obj.scanning'
+            wd.wait_for_object_condition(device, condition)
+            condition = 'not obj.scanning'
+            wd.wait_for_object_condition(device, condition)
+
+        ordered_network = device.get_ordered_network(ssid)
+
+        self.assertEqual(ordered_network.type, NetworkType.eap)
+
+        condition = 'not obj.connected'
+        wd.wait_for_object_condition(ordered_network.network_object, condition)
+
+        ordered_network.network_object.connect()
+
+        condition = 'obj.connected'
+        wd.wait_for_object_condition(ordered_network.network_object, condition)
+
+        testutil.test_iface_operstate()
+        testutil.test_ifaces_connected(hostapd_ifname, device.name)
+
+        device.disconnect()
+
+        condition = 'not obj.connected'
+        wd.wait_for_object_condition(ordered_network.network_object, condition)
+
+        if passphrase:
+            wd.unregister_psk_agent(psk_agent)
+
+    def test_eap_tls(self):
+        self.do_test_connection_success('ssidEAP-TLS')
+
+    @classmethod
+    def setUpClass(cls):
+        IWD.copy_to_storage('ssidEAP-TLS.8021x')
+
+    @classmethod
+    def tearDownClass(cls):
+        IWD.clear_storage()
+
+if __name__ == '__main__':
+    unittest.main(exit=True)
autotests/testEAP-TLS-embedded-pems/hw.conf new file +6 -0
new file mode 100644
index 00000000..0cbda377
@@ -0,0 +1,6 @@
+[SETUP]
+num_radios=2
+tmpfs_extra_stuff=../misc/certs
+
+[HOSTAPD]
+rad0=ssidEAP-TLS.conf
autotests/testEAP-TLS-embedded-pems/ssidEAP-TLS.8021x new file +94 -0

94 lines not on this page · raw message

autotests/testEAP-TLS-embedded-pems/ssidEAP-TLS.conf new file +12 -0
new file mode 100644
index 00000000..e1d7c6b4
@@ -0,0 +1,12 @@
+hw_mode=g
+channel=1
+ssid=ssidEAP-TLS
+
+wpa=3
+wpa_key_mgmt=WPA-EAP
+ieee8021x=1
+eap_server=1
+eap_user_file=/tmp/certs/eap-user-tls.text
+ca_cert=/tmp/certs/cert-ca.pem
+server_cert=/tmp/certs/cert-server.pem
+private_key=/tmp/certs/cert-server-key.pem
Signature · 1 line
2.17.1
#1 lore raw

Hi James,

Quoted 11 lines · James Prestwood
---
  .../connection_test.py                        | 77 +++++++++++++++
  autotests/testEAP-TLS-embedded-pems/hw.conf   |  6 ++
  .../ssidEAP-TLS.8021x                         | 94 +++++++++++++++++++
  .../ssidEAP-TLS.conf                          | 12 +++
  4 files changed, 189 insertions(+)

create mode 100644 autotests/testEAP-TLS-embedded-pems/connection_test.py create mode 100644 autotests/testEAP-TLS-embedded-pems/hw.conf create mode 100644 autotests/testEAP-TLS-embedded-pems/ssidEAP-TLS.8021x create mode 100644 autotests/testEAP-TLS-embedded-pems/ssidEAP-TLS.conf

Applied, thanks.

Regards,
-Denis