File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -386,6 +386,21 @@ def connect(self, max_attempts=10):
386386                        "'networks' must be a list/tuple of dicts of 'ssid' and 'password'" 
387387                    )
388388
389+             self ._wifi_credentials  =  list (
390+                 filter (
391+                     lambda  credentials : isinstance (credentials , dict )
392+                     and  "ssid"  in  credentials 
393+                     and  "password"  in  credentials 
394+                     and  isinstance (credentials ["ssid" ], str )
395+                     and  isinstance (credentials ["password" ], str )
396+                     and  len (credentials ["ssid" ]),
397+                     self ._wifi_credentials ,
398+                 )
399+             )
400+             if  not  len (self ._wifi_credentials ):
401+                 self ._wifi_credentials  =  None 
402+                 raise  OSError ("No wifi credentials provided" )
403+ 
389404        for  credentials  in  self ._wifi_credentials :
390405            self ._wifi .neo_status (STATUS_CONNECTING )
391406            attempt  =  1 
Original file line number Diff line number Diff line change @@ -125,3 +125,15 @@ def test_value_stored(settings_toml_current):
125125    with  mock .patch ("os.getenv" , return_value = "test" ) as  mock_getenv :
126126        assert  network ._get_setting ("ADAFRUIT_AIO_KEY" ) ==  "test" 
127127    mock_getenv .assert_not_called ()
128+ 
129+ 
130+ def  test_invalid_wifi_credentials ():
131+     for  key  in  ("CIRCUITPY_WIFI_SSID" , "CIRCUITPY_WIFI_PASSWORD" ):
132+         if  os .getenv (key ) is  not   None  and  os .getenv (key ) !=  "" :
133+             assert  False 
134+     network  =  NetworkBase (None )
135+     try :
136+         network .connect ()
137+         assert  False 
138+     except  OSError :
139+         assert  True 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments