@@ -202,7 +202,7 @@ def create_env_dirs(self):
202
202
@classmethod
203
203
def setUpClass (cls ):
204
204
cls .admin = helpers .make_session ()
205
- if cls .admin .server_version > (4 ,3 ):
205
+ if cls .admin .server_version >= (4 ,3 ):
206
206
cls .PAM_SCHEME_STRING = cls .user_auth_envs ['.irods.pam' ]['AUTH' ] = 'pam_password'
207
207
208
208
@classmethod
@@ -244,7 +244,7 @@ def _setup_rodsuser_and_optional_pw(self, name, make_irods_pw = False):
244
244
245
245
def tst0 (self , ssl_opt , auth_opt , env_opt , name = TEST_RODS_USER , make_irods_pw = False ):
246
246
_auth_opt = auth_opt
247
- if auth_opt . startswith ('pam' ):
247
+ if auth_opt in ('pam' , 'pam_password ' ):
248
248
auth_opt = self .PAM_SCHEME_STRING
249
249
with self ._setup_rodsuser_and_optional_pw (name = name , make_irods_pw = make_irods_pw ):
250
250
self .envdirs = self .create_env_dirs ()
@@ -328,7 +328,7 @@ def test_4(self):
328
328
self .tst0 ( ssl_opt = False , auth_opt = 'native' , env_opt = True , make_irods_pw = True )
329
329
330
330
# == test explicit scheme 'pam'
331
-
331
+
332
332
def test_5 (self ):
333
333
self .tst0 ( ssl_opt = True , auth_opt = 'pam' , env_opt = False )
334
334
@@ -509,20 +509,25 @@ def setUp(self):
509
509
510
510
def test_ssl_with_server_verify_set_to_none_281 (self ):
511
511
env_file = os .path .expanduser ('~/.irods/irods_environment.json' )
512
- with helpers .file_backed_up (env_file ):
513
- with open (env_file ) as env_file_handle :
514
- env = json .load ( env_file_handle )
515
- my_ssl_directory = os .path .expanduser ("~/some" )
516
- # Elect for efficiency in DH param generation, eg. when setting up for testing.
517
- create_ssl_dir (ssl_dir = my_ssl_directory , use_strong_primes_for_dh_generation = False )
518
- keys_to_update = {key :value .replace ("/etc/irods/ssl" ,my_ssl_directory )
519
- for key ,value in env .items () if type (value ) is str and value .startswith ("/etc/irods/ssl" )}
520
- keys_to_update ["irods_ssl_verify_server" ] = "none"
521
- env .update ( keys_to_update )
522
- with open (env_file ,'w' ) as f :
523
- json .dump (env ,f )
524
- with helpers .make_session () as session :
525
- session .collections .get ('/{session.zone}/home/{session.username}' .format (** locals ()))
512
+ my_ssl_directory = ''
513
+ try :
514
+ with helpers .file_backed_up (env_file ):
515
+ with open (env_file ) as env_file_handle :
516
+ env = json .load ( env_file_handle )
517
+ my_ssl_directory = tempfile .mkdtemp (dir = os .path .expanduser ("~" ))
518
+ # Elect for efficiency in DH param generation, eg. when setting up for testing.
519
+ create_ssl_dir (ssl_dir = my_ssl_directory , use_strong_primes_for_dh_generation = False )
520
+ settings_to_update = {key :value .replace ("/etc/irods/ssl" ,my_ssl_directory )
521
+ for key ,value in env .items () if type (value ) is str and value .startswith ("/etc/irods/ssl" )}
522
+ settings_to_update ["irods_ssl_verify_server" ] = "none"
523
+ env .update ( settings_to_update )
524
+ with open (env_file ,'w' ) as f :
525
+ json .dump (env ,f )
526
+ with helpers .make_session () as session :
527
+ session .collections .get ('/{session.zone}/home/{session.username}' .format (** locals ()))
528
+ finally :
529
+ if my_ssl_directory :
530
+ shutil .rmtree (my_ssl_directory )
526
531
527
532
if __name__ == '__main__' :
528
533
# let the tests find the parent irods lib
0 commit comments