diff --git a/autotests/testEAP-MSCHAPV2/connection_test.py b/autotests/testEAP-MSCHAPV2/connection_test.py index 350cac8e..99d8a2a1 100644 --- a/autotests/testEAP-MSCHAPV2/connection_test.py +++ b/autotests/testEAP-MSCHAPV2/connection_test.py @@ -10,26 +10,37 @@ from iwd import NetworkType class Test(unittest.TestCase): - def test_connection_success(self): + def run_connection_test(self, ssid, *secrets): wd = IWD() + psk_agent = iwd.PSKAgent(*secrets) + wd.register_psk_agent(psk_agent) + devices = wd.list_devices(); self.assertIsNotNone(devices) device = devices[0] - condition = 'not obj.scanning' - wd.wait_for_object_condition(device, condition) - - device.scan() + try: + device.disconnect() + except: + pass condition = 'not obj.scanning' wd.wait_for_object_condition(device, condition) - ordered_networks = device.get_ordered_networks() - ordered_network = ordered_networks[0] + 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) - self.assertEqual(ordered_network.name, "ssidEAP-MSCHAPV2") - self.assertEqual(ordered_network.type, NetworkType.eap) + network = None + for ordered_network in device.get_ordered_networks(): + if ordered_network.name == ssid: + network = ordered_network + break + self.assertEqual(network.type, NetworkType.eap) condition = 'not obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition) @@ -39,14 +50,31 @@ class Test(unittest.TestCase): condition = 'obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition) + wd.unregister_psk_agent(psk_agent) + device.disconnect() condition = 'not obj.connected' wd.wait_for_object_condition(ordered_network.network_object, condition) + def test_agent_none(self): + self.run_connection_test('ssidEAP-MSCHAPV2-1') + + def test_agent_none_hash(self): + self.run_connection_test('ssidEAP-MSCHAPV2-2') + + def test_agent_passwd(self): + self.run_connection_test('ssidEAP-MSCHAPV2-3', [], ('domain\\User', 'Password')) + + def test_agent_username_and_passwd(self): + self.run_connection_test('ssidEAP-MSCHAPV2-4', [], ('domain\\User', 'Password')) + @classmethod def setUpClass(cls): - IWD.copy_to_storage('ssidEAP-MSCHAPV2.8021x') + IWD.copy_to_storage('ssidEAP-MSCHAPV2-1.8021x') + IWD.copy_to_storage('ssidEAP-MSCHAPV2-2.8021x') + IWD.copy_to_storage('ssidEAP-MSCHAPV2-3.8021x') + IWD.copy_to_storage('ssidEAP-MSCHAPV2-4.8021x') @classmethod def tearDownClass(cls): diff --git a/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2.8021x b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-1.8021x similarity index 67% rename from autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2.8021x rename to autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-1.8021x index 2d927e17..1cbdc821 100644 --- a/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2.8021x +++ b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-1.8021x @@ -1,4 +1,4 @@ [Security] EAP-Method=MSCHAPV2 -EAP-Identity=domain\User +EAP-Identity=domain\\User EAP-Password=Password diff --git a/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-2.8021x b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-2.8021x new file mode 100644 index 00000000..04ff213a --- /dev/null +++ b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-2.8021x @@ -0,0 +1,4 @@ +[Security] +EAP-Method=MSCHAPV2 +EAP-Identity=domain\\User +EAP-Password-Hash=a4f49c406510bdcab6824ee7c30fd852 diff --git a/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-3.8021x b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-3.8021x new file mode 100644 index 00000000..56390d76 --- /dev/null +++ b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-3.8021x @@ -0,0 +1,3 @@ +[Security] +EAP-Method=MSCHAPV2 +EAP-Identity=domain\\User diff --git a/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-4.8021x b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-4.8021x new file mode 100644 index 00000000..39820dff --- /dev/null +++ b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2-4.8021x @@ -0,0 +1,2 @@ +[Security] +EAP-Method=MSCHAPV2 diff --git a/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2.conf b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2.conf index 014f730b..2a37a70c 100644 --- a/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2.conf +++ b/autotests/testEAP-MSCHAPV2/ssidEAP-MSCHAPV2.conf @@ -1,7 +1,31 @@ +ssid=ssidEAP-MSCHAPV2-1 +interface=wln0 hw_mode=g channel=1 -ssid=ssidEAP-MSCHAPV2 - +wpa=3 +wpa_key_mgmt=WPA-EAP +ieee8021x=1 +eap_server=1 +eap_user_file=/tmp/secrets/eap-user-mschapv2.text + +bss=wln0_1 +ssid=ssidEAP-MSCHAPV2-2 +wpa=3 +wpa_key_mgmt=WPA-EAP +ieee8021x=1 +eap_server=1 +eap_user_file=/tmp/secrets/eap-user-mschapv2.text + +bss=wln0_2 +ssid=ssidEAP-MSCHAPV2-3 +wpa=3 +wpa_key_mgmt=WPA-EAP +ieee8021x=1 +eap_server=1 +eap_user_file=/tmp/secrets/eap-user-mschapv2.text + +bss=wln0_3 +ssid=ssidEAP-MSCHAPV2-4 wpa=3 wpa_key_mgmt=WPA-EAP ieee8021x=1