auto-t: add AP test for all pairwise/group cipher combos

Iterates through every possible cipher combination and verifies the
AP can authenticate the clients.
This commit is contained in:
James Prestwood 2022-11-02 15:51:16 -07:00 committed by Denis Kenzior
parent 13b7aa9715
commit b9855f7d62
2 changed files with 33 additions and 5 deletions

View File

@ -0,0 +1,2 @@
[Security]
Passphrase=Password2

View File

@ -1,6 +1,7 @@
#! /usr/bin/python3
import unittest
import os
from iwd import IWD
from config import ctx
@ -8,6 +9,8 @@ from validation import validate, client_connect
class Test(unittest.TestCase):
def test_connection_success(self):
IWD.copy_to_storage('TestAP1.psk')
wd = IWD(True)
dev1, dev2 = wd.list_devices(2)
@ -22,6 +25,8 @@ class Test(unittest.TestCase):
client_connect(wd, dev1, 'TestAP1')
def test_client_start_ap(self):
IWD.copy_to_storage('TestAP1.psk')
wd = IWD(True)
dev1, dev2 = wd.list_devices(2)
@ -39,12 +44,33 @@ class Test(unittest.TestCase):
validate(wd, dev2, dev1, 'TestAP2', 'Password2')
@classmethod
def setUpClass(cls):
IWD.copy_to_storage('TestAP1.psk')
def test_valid_ciphers(self):
ciphers = ['TKIP', 'CCMP-128', 'GCMP-128', 'CCMP-256', 'GCMP-256']
@classmethod
def tearDownClass(cls):
for group in ciphers:
for pairwise in ciphers:
IWD.copy_to_ap('TestAP2.ap')
os.system('echo "PairwiseCiphers=%s" >> /tmp/iwd/ap/TestAP2.ap' % pairwise)
os.system('echo "GroupCipher=%s" >> /tmp/iwd/ap/TestAP2.ap' % group)
wd = IWD(True)
dev1, dev2 = wd.list_devices(2)
dev1.start_ap('TestAP2')
self.assertTrue(dev1.group_cipher == group)
self.assertTrue(dev1.pairwise_ciphers == pairwise)
try:
validate(wd, dev2, dev1, 'TestAP2', 'Password2', ip_checks=False)
except:
raise Exception("Failed with pairwise=%s group=%s" % (pairwise, group))
finally:
IWD.clear_storage()
del wd
def tearDown(self):
IWD.clear_storage()
if __name__ == '__main__':