diff --git a/autotests/testEAP-WPS/four_digit_pin_test.py b/autotests/testEAP-WPS/four_digit_pin_test.py new file mode 100644 index 00000000..5de74ccc --- /dev/null +++ b/autotests/testEAP-WPS/four_digit_pin_test.py @@ -0,0 +1,52 @@ +#!/usr/bin/python3 + +import unittest +import sys + +sys.path.append('../util') +import iwd +from iwd import IWD +from iwd import DeviceState + +from hostapd import HostapdCLI +from hostapd import hostapd_map + +class Test(unittest.TestCase): + + def four_digit_pin_success(self, wd): + + devices = wd.list_devices(1) + device = devices[0] + pin = '1234' + self.hostapd.wps_pin(pin) + + device.wps_start_pin(pin) + + condition = 'obj.state == DeviceState.connected' + wd.wait_for_object_condition(device, condition) + + device.disconnect() + + condition = 'obj.state == DeviceState.disconnected' + wd.wait_for_object_condition(device, condition) + + def test_connection_success(self): + + wd = IWD(True) + + try: + self.four_digit_pin_success(wd) + finally: + del wd + + @classmethod + def setUpClass(cls): + cls.hostapd_if = list(hostapd_map.values())[0] + cls.hostapd = HostapdCLI(cls.hostapd_if) + + @classmethod + def tearDownClass(cls): + IWD.clear_storage() + +if __name__ == '__main__': + unittest.main(exit=True) diff --git a/autotests/testEAP-WPS/hw.conf b/autotests/testEAP-WPS/hw.conf index 0c12f181..61af4456 100644 --- a/autotests/testEAP-WPS/hw.conf +++ b/autotests/testEAP-WPS/hw.conf @@ -1,5 +1,6 @@ [SETUP] num_radios=2 +start_iwd=false max_test_exec_interval_sec=40 [HOSTAPD] diff --git a/autotests/testEAP-WPS/pin_test.py b/autotests/testEAP-WPS/pin_test.py new file mode 100644 index 00000000..c8bb2fd1 --- /dev/null +++ b/autotests/testEAP-WPS/pin_test.py @@ -0,0 +1,51 @@ +#!/usr/bin/python3 + +import unittest +import sys + +sys.path.append('../util') +import iwd +from iwd import IWD +from iwd import DeviceState + +from hostapd import HostapdCLI +from hostapd import hostapd_map + +class Test(unittest.TestCase): + + def pin_success(self, wd): + + devices = wd.list_devices(1) + device = devices[0] + pin = device.wps_generate_pin() + self.hostapd.wps_pin(pin) + + device.wps_start_pin(pin) + + condition = 'obj.state == DeviceState.connected' + wd.wait_for_object_condition(device, condition) + + device.disconnect() + + condition = 'obj.state == DeviceState.disconnected' + wd.wait_for_object_condition(device, condition) + + def test_connection_success(self): + wd = IWD(True) + + try: + self.pin_success(wd) + finally: + del wd + + @classmethod + def setUpClass(cls): + cls.hostapd_if = list(hostapd_map.values())[0] + cls.hostapd = HostapdCLI(cls.hostapd_if) + + @classmethod + def tearDownClass(cls): + IWD.clear_storage() + +if __name__ == '__main__': + unittest.main(exit=True) diff --git a/autotests/testEAP-WPS/push_button_test.py b/autotests/testEAP-WPS/push_button_test.py new file mode 100644 index 00000000..9e72fa33 --- /dev/null +++ b/autotests/testEAP-WPS/push_button_test.py @@ -0,0 +1,50 @@ +#!/usr/bin/python3 + +import unittest +import sys + +sys.path.append('../util') +import iwd +from iwd import IWD +from iwd import DeviceState + +from hostapd import HostapdCLI +from hostapd import hostapd_map + +class Test(unittest.TestCase): + + def push_button_success(self, wd): + self.hostapd.wps_push_button() + + devices = wd.list_devices(1) + device = devices[0] + + device.wps_push_button() + + condition = 'obj.state == DeviceState.connected' + wd.wait_for_object_condition(device, condition) + + device.disconnect() + + condition = 'obj.state == DeviceState.disconnected' + wd.wait_for_object_condition(device, condition) + + def test_connection_success(self): + wd = IWD(True) + + try: + self.push_button_success(wd) + finally: + del wd + + @classmethod + def setUpClass(cls): + cls.hostapd_if = list(hostapd_map.values())[0] + cls.hostapd = HostapdCLI(cls.hostapd_if) + + @classmethod + def tearDownClass(cls): + IWD.clear_storage() + +if __name__ == '__main__': + unittest.main(exit=True) diff --git a/autotests/testEAP-WPS/wps_test.py b/autotests/testEAP-WPS/wps_test.py deleted file mode 100644 index 4cabe34d..00000000 --- a/autotests/testEAP-WPS/wps_test.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/python3 - -import unittest -import sys - -sys.path.append('../util') -import iwd -from iwd import IWD -from iwd import DeviceState - -from hostapd import HostapdCLI -from hostapd import hostapd_map - -class Test(unittest.TestCase): - - def test_push_button_success(self): - self.hostapd.wps_push_button() - - wd = IWD() - - devices = wd.list_devices(1) - device = devices[0] - - device.wps_push_button() - - condition = 'obj.state == DeviceState.connected' - wd.wait_for_object_condition(device, condition) - - device.disconnect() - - condition = 'obj.state == DeviceState.disconnected' - wd.wait_for_object_condition(device, condition) - - def test_pin_success(self): - wd = IWD() - - devices = wd.list_devices(1) - device = devices[0] - pin = device.wps_generate_pin() - self.hostapd.wps_pin(pin) - - device.wps_start_pin(pin) - - condition = 'obj.state == DeviceState.connected' - wd.wait_for_object_condition(device, condition) - - device.disconnect() - - condition = 'obj.state == DeviceState.disconnected' - wd.wait_for_object_condition(device, condition) - - def test_4_digit_pin_success(self): - wd = IWD() - - devices = wd.list_devices(1) - device = devices[0] - pin = '1234' - self.hostapd.wps_pin(pin) - - device.wps_start_pin(pin) - - condition = 'obj.state == DeviceState.connected' - wd.wait_for_object_condition(device, condition) - - device.disconnect() - - condition = 'obj.state == DeviceState.disconnected' - wd.wait_for_object_condition(device, condition) - - @classmethod - def setUpClass(cls): - cls.hostapd_if = list(hostapd_map.values())[0] - cls.hostapd = HostapdCLI(cls.hostapd_if) - - @classmethod - def tearDownClass(cls): - IWD.clear_storage() - -if __name__ == '__main__': - unittest.main(exit=True)