mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-10-27 09:37:23 +01:00 
			
		
		
		
	auto-t: add Hotspot autotest
This commit is contained in:
		
							parent
							
								
									8c0e1f62fc
								
							
						
					
					
						commit
						f9aeee8707
					
				
							
								
								
									
										10
									
								
								autotests/testHotspot/.hotspot/example.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								autotests/testHotspot/.hotspot/example.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| [Security] | ||||
| EAP-Method=TTLS | ||||
| EAP-Identity=anonymous@example.com | ||||
| EAP-TTLS-Phase2-Method=Tunneled-MSCHAPv2 | ||||
| 
 | ||||
| [Hotspot] | ||||
| NAIRealmNames=realm1.random.net,example.com | ||||
| 
 | ||||
| [Settings] | ||||
| Autoconnect=False | ||||
							
								
								
									
										4
									
								
								autotests/testHotspot/eap_users.text
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								autotests/testHotspot/eap_users.text
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| # Phase 1 users | ||||
| "anonymous@example.com" TTLS | ||||
| # Phase 2 | ||||
| "domain\user" TTLS-MSCHAPV2 "testpasswd" [2] | ||||
							
								
								
									
										66
									
								
								autotests/testHotspot/hotspot_test.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								autotests/testHotspot/hotspot_test.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,66 @@ | ||||
| #!/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 | ||||
| from hostapd import HostapdCLI | ||||
| import testutil | ||||
| 
 | ||||
| class Test(unittest.TestCase): | ||||
| 
 | ||||
|     def test_connection_success(self): | ||||
|         wd = IWD() | ||||
| 
 | ||||
|         hapd = HostapdCLI(config='ssidHotspot.conf') | ||||
| 
 | ||||
|         psk_agent = PSKAgent('abc', ('domain\\user', 'testpasswd')) | ||||
|         wd.register_psk_agent(psk_agent) | ||||
| 
 | ||||
|         devices = wd.list_devices(1) | ||||
|         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_network = device.get_ordered_network('Hotspot') | ||||
| 
 | ||||
|         self.assertEqual(ordered_network.type, NetworkType.eap) | ||||
| 
 | ||||
|         condition = 'not obj.connected' | ||||
|         wd.wait_for_object_condition(ordered_network.network_object, condition) | ||||
| 
 | ||||
|         ordered_network.network_object.connect() | ||||
| 
 | ||||
|         condition = 'obj.connected' | ||||
|         wd.wait_for_object_condition(ordered_network.network_object, condition) | ||||
| 
 | ||||
|         testutil.test_iface_operstate() | ||||
|         testutil.test_ifaces_connected(device.name, hapd.ifname) | ||||
| 
 | ||||
|         device.disconnect() | ||||
| 
 | ||||
|         condition = 'not obj.connected' | ||||
|         wd.wait_for_object_condition(ordered_network.network_object, condition) | ||||
| 
 | ||||
|         wd.unregister_psk_agent(psk_agent) | ||||
| 
 | ||||
|     @classmethod | ||||
|     def setUpClass(cls): | ||||
|         IWD.copy_to_storage('.hotspot') | ||||
| 
 | ||||
|     @classmethod | ||||
|     def tearDownClass(cls): | ||||
|         IWD.clear_storage() | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     unittest.main(exit=True) | ||||
							
								
								
									
										8
									
								
								autotests/testHotspot/hw.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								autotests/testHotspot/hw.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| [SETUP] | ||||
| num_radios=4 | ||||
| tmpfs_extra_stuff=../misc/certs:eap_users.text:main.conf:.hotspot | ||||
| max_test_exec_interval_sec=60 | ||||
| iwd_config_dir=/tmp | ||||
| 
 | ||||
| [HOSTAPD] | ||||
| rad0=ssidHotspot.conf | ||||
							
								
								
									
										2
									
								
								autotests/testHotspot/main.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								autotests/testHotspot/main.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| [General] | ||||
| disable_anqp=0 | ||||
							
								
								
									
										45
									
								
								autotests/testHotspot/ssidHotspot.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								autotests/testHotspot/ssidHotspot.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| hw_mode=g | ||||
| channel=1 | ||||
| wpa=2 | ||||
| ssid=Hotspot | ||||
| rsn_pairwise=CCMP | ||||
| wpa_key_mgmt=WPA-EAP | ||||
| ieee80211w=1 | ||||
| ieee8021x=1 | ||||
| hessid=02:00:00:00:01:00 | ||||
| interworking=1 | ||||
| access_network_type=14 | ||||
| internet=1 | ||||
| asra=0 | ||||
| esr=0 | ||||
| uesa=0 | ||||
| osen=0 | ||||
| 
 | ||||
| venue_group=7 | ||||
| venue_type=1 | ||||
| venue_name=P"eng:Example venue" | ||||
| venue_name=fin:Esimerkkipaikka | ||||
| roaming_consortium=112233 | ||||
| roaming_consortium=1020304050 | ||||
| roaming_consortium=010203040506 | ||||
| roaming_consortium=fedcba | ||||
| domain_name=example.com,another.example.com | ||||
| nai_realm=1,example.com,13[5:6],21[2:4][5:7] | ||||
| nai_realm=1,another.example.com | ||||
| nai_realm=1,yet.another.example.com | ||||
| 
 | ||||
| hs20=1 | ||||
| hs20_wan_metrics=01:8000:1000:80:240:3000 | ||||
| hs20_conn_capab=1:0:2 | ||||
| hs20_conn_capab=6:22:1 | ||||
| hs20_conn_capab=17:5060:0 | ||||
| hs20_operating_class=5173 | ||||
| 
 | ||||
| disable_dgaf=0 | ||||
| network_auth_type=00 | ||||
| 
 | ||||
| eap_server=1 | ||||
| eap_user_file=/tmp/eap_users.text | ||||
| ca_cert=/tmp/certs/cert-ca.pem | ||||
| server_cert=/tmp/certs/cert-server.pem | ||||
| private_key=/tmp/certs/cert-server-key.pem | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 James Prestwood
						James Prestwood