From 8a91d886290647bee78e45570027ef8e56bd2a59 Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Mon, 2 Jul 2018 10:33:19 -0700 Subject: [PATCH] auto-t: failure test for WPA2 The AP code merge resulted in changes to handshake failure code paths. This just adds a failure test to WPA2 to test these failure code paths. --- autotests/testWPA2/failure_test.py | 56 ++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 autotests/testWPA2/failure_test.py diff --git a/autotests/testWPA2/failure_test.py b/autotests/testWPA2/failure_test.py new file mode 100644 index 00000000..b2252db1 --- /dev/null +++ b/autotests/testWPA2/failure_test.py @@ -0,0 +1,56 @@ +#!/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 + +class Test(unittest.TestCase): + + def test_connection_success(self): + wd = IWD() + + psk_agent = PSKAgent("InvalidPassword") + wd.register_psk_agent(psk_agent) + + devices = wd.list_devices(1); + self.assertIsNotNone(devices) + 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_networks = device.get_ordered_networks() + ordered_network = ordered_networks[0] + + self.assertEqual(ordered_network.name, "ssidCCMP") + self.assertEqual(ordered_network.type, NetworkType.psk) + + condition = 'not obj.connected' + wd.wait_for_object_condition(ordered_network.network_object, condition) + + with self.assertRaises(iwd.FailedEx): + ordered_network.network_object.connect() + + wd.unregister_psk_agent(psk_agent) + + @classmethod + def setUpClass(cls): + pass + + @classmethod + def tearDownClass(cls): + IWD.clear_storage() + +if __name__ == '__main__': + unittest.main(exit=True)