autotests: Test 4 ways MsCHAPv2 can be configured

This commit is contained in:
Andrew Zaborowski 2018-06-13 18:58:32 +02:00 committed by Denis Kenzior
parent 17ad048c8c
commit 91456b8d98
6 changed files with 74 additions and 13 deletions

View File

@ -10,26 +10,37 @@ from iwd import NetworkType
class Test(unittest.TestCase): class Test(unittest.TestCase):
def test_connection_success(self): def run_connection_test(self, ssid, *secrets):
wd = IWD() wd = IWD()
psk_agent = iwd.PSKAgent(*secrets)
wd.register_psk_agent(psk_agent)
devices = wd.list_devices(); devices = wd.list_devices();
self.assertIsNotNone(devices) self.assertIsNotNone(devices)
device = devices[0] device = devices[0]
try:
device.disconnect()
except:
pass
condition = 'not obj.scanning' condition = 'not obj.scanning'
wd.wait_for_object_condition(device, condition) wd.wait_for_object_condition(device, condition)
if not device.get_ordered_networks():
device.scan() device.scan()
condition = 'obj.scanning'
wd.wait_for_object_condition(device, condition)
condition = 'not obj.scanning' condition = 'not obj.scanning'
wd.wait_for_object_condition(device, condition) wd.wait_for_object_condition(device, condition)
ordered_networks = device.get_ordered_networks() network = None
ordered_network = ordered_networks[0] for ordered_network in device.get_ordered_networks():
if ordered_network.name == ssid:
self.assertEqual(ordered_network.name, "ssidEAP-MSCHAPV2") network = ordered_network
self.assertEqual(ordered_network.type, NetworkType.eap) break
self.assertEqual(network.type, NetworkType.eap)
condition = 'not obj.connected' condition = 'not obj.connected'
wd.wait_for_object_condition(ordered_network.network_object, condition) wd.wait_for_object_condition(ordered_network.network_object, condition)
@ -39,14 +50,31 @@ class Test(unittest.TestCase):
condition = 'obj.connected' condition = 'obj.connected'
wd.wait_for_object_condition(ordered_network.network_object, condition) wd.wait_for_object_condition(ordered_network.network_object, condition)
wd.unregister_psk_agent(psk_agent)
device.disconnect() device.disconnect()
condition = 'not obj.connected' condition = 'not obj.connected'
wd.wait_for_object_condition(ordered_network.network_object, condition) wd.wait_for_object_condition(ordered_network.network_object, condition)
def test_agent_none(self):
self.run_connection_test('ssidEAP-MSCHAPV2-1')
def test_agent_none_hash(self):
self.run_connection_test('ssidEAP-MSCHAPV2-2')
def test_agent_passwd(self):
self.run_connection_test('ssidEAP-MSCHAPV2-3', [], ('domain\\User', 'Password'))
def test_agent_username_and_passwd(self):
self.run_connection_test('ssidEAP-MSCHAPV2-4', [], ('domain\\User', 'Password'))
@classmethod @classmethod
def setUpClass(cls): def setUpClass(cls):
IWD.copy_to_storage('ssidEAP-MSCHAPV2.8021x') IWD.copy_to_storage('ssidEAP-MSCHAPV2-1.8021x')
IWD.copy_to_storage('ssidEAP-MSCHAPV2-2.8021x')
IWD.copy_to_storage('ssidEAP-MSCHAPV2-3.8021x')
IWD.copy_to_storage('ssidEAP-MSCHAPV2-4.8021x')
@classmethod @classmethod
def tearDownClass(cls): def tearDownClass(cls):

View File

@ -1,4 +1,4 @@
[Security] [Security]
EAP-Method=MSCHAPV2 EAP-Method=MSCHAPV2
EAP-Identity=domain\User EAP-Identity=domain\\User
EAP-Password=Password EAP-Password=Password

View File

@ -0,0 +1,4 @@
[Security]
EAP-Method=MSCHAPV2
EAP-Identity=domain\\User
EAP-Password-Hash=a4f49c406510bdcab6824ee7c30fd852

View File

@ -0,0 +1,3 @@
[Security]
EAP-Method=MSCHAPV2
EAP-Identity=domain\\User

View File

@ -0,0 +1,2 @@
[Security]
EAP-Method=MSCHAPV2

View File

@ -1,7 +1,31 @@
ssid=ssidEAP-MSCHAPV2-1
interface=wln0
hw_mode=g hw_mode=g
channel=1 channel=1
ssid=ssidEAP-MSCHAPV2 wpa=3
wpa_key_mgmt=WPA-EAP
ieee8021x=1
eap_server=1
eap_user_file=/tmp/secrets/eap-user-mschapv2.text
bss=wln0_1
ssid=ssidEAP-MSCHAPV2-2
wpa=3
wpa_key_mgmt=WPA-EAP
ieee8021x=1
eap_server=1
eap_user_file=/tmp/secrets/eap-user-mschapv2.text
bss=wln0_2
ssid=ssidEAP-MSCHAPV2-3
wpa=3
wpa_key_mgmt=WPA-EAP
ieee8021x=1
eap_server=1
eap_user_file=/tmp/secrets/eap-user-mschapv2.text
bss=wln0_3
ssid=ssidEAP-MSCHAPV2-4
wpa=3 wpa=3
wpa_key_mgmt=WPA-EAP wpa_key_mgmt=WPA-EAP
ieee8021x=1 ieee8021x=1