@@ -280,6 +280,10 @@ def test_ssl_context():
280280
281281
282282def test_verify_ssl (missing_packages ):
283+ # Clear environment variables
284+ os .environ .pop ('SSLREQCERT' , None )
285+ os .environ .pop ('REQUESTS_CA_BUNDLE' , None )
286+
283287 with mock .patch ('sasctl.core.Session.get_token' , return_value = 'token' ):
284288 # Should verify SSL by default
285289 s = Session ('hostname' , 'username' , 'password' )
@@ -315,6 +319,35 @@ def test_verify_ssl(missing_packages):
315319 s = Session ('127.0.0.1' , 'username' , 'password' , verify_ssl = True )
316320 assert s .verify == True
317321
322+ # Clear environment variables
323+ os .environ .pop ('SSLREQCERT' , None )
324+ os .environ .pop ('REQUESTS_CA_BUNDLE' , None )
325+
326+ # Ensure correct verify_ssl values are passed to requests module
327+ with mock .patch ('requests.Session.request' ) as req :
328+ req .return_value .status_code = 200
329+ s = Session ('127.0.0.1' , 'username' , 'password' )
330+
331+ # Check value passed to verify= parameter
332+ assert req .call_args [0 ][13 ] == True
333+ assert s .verify == True
334+
335+ with mock .patch ('requests.Session.request' ) as req :
336+ req .return_value .status_code = 200
337+ s = Session ('127.0.0.1' , 'username' , 'password' , verify_ssl = False )
338+
339+ # Check value passed to verify= parameter
340+ assert req .call_args [0 ][13 ] == False
341+ assert s .verify == False
342+
343+ with mock .patch ('requests.Session.request' ) as req :
344+ # Explicit verify_ssl= flag should take precedence over env vars
345+ os .environ ['REQUESTS_CA_BUNDLE' ] = 'dummy.crt'
346+ s = Session ('127.0.0.1' , 'username' , 'password' , verify_ssl = False )
347+
348+ # Check value passed to verify= parameter
349+ assert req .call_args [0 ][13 ] == False
350+ assert s .verify == False
318351
319352
320353def test_kerberos ():
0 commit comments