[test] Fix test_load_certifi

Closes #7688, #7675
This commit is contained in:
pukkandan 2023-07-28 13:48:17 +05:30
parent b09bd0c196
commit de20687ee6
No known key found for this signature in database
GPG Key ID: 7EEE9E1E817D0A39

View File

@ -95,17 +95,20 @@ def test_make_socks_proxy_unknown(self):
@pytest.mark.skipif(not certifi, reason='certifi is not installed') @pytest.mark.skipif(not certifi, reason='certifi is not installed')
def test_load_certifi(self): def test_load_certifi(self):
context_certifi = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
context_certifi.load_verify_locations(cafile=certifi.where())
context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
context2 = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
ssl_load_certs(context, use_certifi=True) ssl_load_certs(context, use_certifi=True)
context2.load_verify_locations(cafile=certifi.where()) assert context.get_ca_certs() == context_certifi.get_ca_certs()
assert context.get_ca_certs() == context2.get_ca_certs()
# Test load normal certs context_default = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
# XXX: could there be a case where system certs are the same as certifi? context_default.load_default_certs()
context3 = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
ssl_load_certs(context3, use_certifi=False) ssl_load_certs(context, use_certifi=False)
assert context3.get_ca_certs() != context.get_ca_certs() assert context.get_ca_certs() == context_default.get_ca_certs()
if context_default.get_ca_certs() == context_certifi.get_ca_certs():
pytest.skip('System uses certifi as default. The test is not valid')
@pytest.mark.parametrize('method,status,expected', [ @pytest.mark.parametrize('method,status,expected', [
('GET', 303, 'GET'), ('GET', 303, 'GET'),