mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-02 10:09:23 +01:00
a18c6e10a7
This was passing IFNAME= along with EAPOL_REAUTH which does not work in the context of a hostapd socket where the iface is already implied. This fixes that issue as well as resets the events array and actually waits for the required events afterwards.
67 lines
1.6 KiB
Python
67 lines
1.6 KiB
Python
#!/usr/bin/python3
|
|
|
|
import unittest
|
|
import sys
|
|
import time
|
|
|
|
sys.path.append('../util')
|
|
import iwd
|
|
from iwd import IWD
|
|
from iwd import NetworkType
|
|
import testutil
|
|
|
|
from hostapd import HostapdCLI
|
|
|
|
class Test(unittest.TestCase):
|
|
|
|
def validate_connection(self, wd):
|
|
hostapd = HostapdCLI(config='ssidEAP-PEAPv0-NoISK.conf')
|
|
|
|
self.assertIsNotNone(hostapd)
|
|
|
|
devices = wd.list_devices(1)
|
|
self.assertIsNotNone(devices)
|
|
device = devices[0]
|
|
|
|
ordered_network = device.get_ordered_network('ssidEAP-PEAPv0-NoISK')
|
|
|
|
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.state == DeviceState.connected'
|
|
wd.wait_for_object_condition(device, condition)
|
|
|
|
hostapd.eapol_reauth(device.address)
|
|
|
|
condition = 'obj.state == DeviceState.connected'
|
|
wd.wait_for_object_condition(device, condition)
|
|
|
|
testutil.test_iface_operstate()
|
|
testutil.test_ifaces_connected()
|
|
|
|
device.disconnect()
|
|
|
|
condition = 'not obj.connected'
|
|
wd.wait_for_object_condition(ordered_network.network_object, condition)
|
|
|
|
|
|
def test_connection_success(self):
|
|
wd = IWD(True)
|
|
|
|
self.validate_connection(wd)
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
IWD.copy_to_storage('ssidEAP-PEAPv0-NoISK.8021x')
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
IWD.clear_storage()
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(exit=True)
|