auto-t: Add tests for GMAC/GMAC-256/CMAC-256

This commit is contained in:
Denis Kenzior 2022-10-21 13:50:55 -05:00
parent 7584b38562
commit 60bd973441
3 changed files with 40 additions and 8 deletions

View File

@ -8,19 +8,18 @@ import iwd
from iwd import IWD from iwd import IWD
from iwd import PSKAgent from iwd import PSKAgent
from iwd import NetworkType from iwd import NetworkType
from hostapd import HostapdCLI
class Test(unittest.TestCase): class Test(unittest.TestCase):
def test_connection_success(self): def validate_connection_success(self, wd):
wd = IWD()
psk_agent = PSKAgent("secret123") psk_agent = PSKAgent("secret123")
wd.register_psk_agent(psk_agent) wd.register_psk_agent(psk_agent)
devices = wd.list_devices(1) devices = wd.list_devices(1)
device = devices[0] device = devices[0]
ordered_network = device.get_ordered_network('ssidCCMP') ordered_network = device.get_ordered_network('ssidWPA2')
self.assertEqual(ordered_network.type, NetworkType.psk) self.assertEqual(ordered_network.type, NetworkType.psk)
@ -39,13 +38,44 @@ class Test(unittest.TestCase):
wd.unregister_psk_agent(psk_agent) wd.unregister_psk_agent(psk_agent)
def test_cmac(self):
self.hostapd.set_value('group_mgmt_cipher', 'AES-128-CMAC')
self.hostapd.reload()
self.hostapd.wait_for_event("AP-ENABLED")
self.validate_connection_success(self.wd)
def test_gmac(self):
self.hostapd.set_value('group_mgmt_cipher', 'BIP-128-GMAC')
self.hostapd.reload()
self.hostapd.wait_for_event("AP-ENABLED")
self.validate_connection_success(self.wd)
def test_gmac_256(self):
self.hostapd.set_value('group_mgmt_cipher', 'BIP-256-GMAC')
self.hostapd.reload()
self.hostapd.wait_for_event("AP-ENABLED")
self.validate_connection_success(self.wd)
def test_cmac_256(self):
self.hostapd.set_value('group_mgmt_cipher', 'BIP-256-CMAC')
self.hostapd.reload()
self.hostapd.wait_for_event("AP-ENABLED")
self.validate_connection_success(self.wd)
def setUp(self):
self.wd = IWD(True)
def tearDown(self):
self.wd.clear_storage()
self.wd = None
@classmethod @classmethod
def setUpClass(cls): def setUpClass(cls):
pass cls.hostapd = HostapdCLI(config='ssidWPA2.conf')
@classmethod @classmethod
def tearDownClass(cls): def tearDownClass(cls):
IWD.clear_storage() pass
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(exit=True) unittest.main(exit=True)

View File

@ -1,5 +1,7 @@
[SETUP] [SETUP]
num_radios=2 num_radios=2
start_iwd=0
[HOSTAPD] [HOSTAPD]
rad0=ssidCCMP.conf rad0=ssidWPA2.conf

View File

@ -1,6 +1,6 @@
hw_mode=g hw_mode=g
channel=1 channel=1
ssid=ssidCCMP ssid=ssidWPA2
wpa=2 wpa=2
wpa_pairwise=CCMP wpa_pairwise=CCMP