| #!/usr/bin/python3 | 
 |  | 
 | import unittest | 
 | import sys | 
 |  | 
 | sys.path.append('../util') | 
 | import iwd | 
 | from iwd import IWD | 
 | from iwd import NetworkType | 
 | from hostapd import hostapd_map | 
 | from hostapd import HostapdCLI | 
 | import testutil | 
 |  | 
 | class Test(unittest.TestCase): | 
 |  | 
 |     def test_connection_success(self): | 
 |         hapd = HostapdCLI(config='ssidOWE.conf') | 
 |  | 
 |         wd = IWD() | 
 |  | 
 |         devices = wd.list_devices(1) | 
 |         device = devices[0] | 
 |  | 
 |         condition = 'not obj.scanning' | 
 |         wd.wait_for_object_condition(device, condition) | 
 |  | 
 |         device.scan() | 
 |  | 
 |         condition = 'not obj.scanning' | 
 |         wd.wait_for_object_condition(device, condition) | 
 |  | 
 |         ordered_network = device.get_ordered_network('ssidOWE') | 
 |  | 
 |         self.assertEqual(ordered_network.type, NetworkType.open) | 
 |  | 
 |         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(device.name, hapd.ifname) | 
 |  | 
 |         device.disconnect() | 
 |  | 
 |         condition = 'not obj.connected' | 
 |         wd.wait_for_object_condition(ordered_network.network_object, condition) | 
 |  | 
 |     @classmethod | 
 |     def setUpClass(cls): | 
 |         pass | 
 |  | 
 |     @classmethod | 
 |     def tearDownClass(cls): | 
 |         IWD.clear_storage() | 
 |  | 
 | if __name__ == '__main__': | 
 |     unittest.main(exit=True) |