예제 #1
0
def test_ssl_context_from_dir(mocker, tmp_path):
    mocker.spy(ssl, 'create_default_context')
    temp = Path(str(tmp_path))
    s = Client.new_ssl_context(temp)

    args, kwargs = ssl.create_default_context.call_args
    assert kwargs['capath'] == str(temp)
예제 #2
0
def test_ssl_context_from_false(mocker):
    mocker.spy(ssl, 'create_default_context')
    s = Client.new_ssl_context(False)

    args, kwargs = ssl.create_default_context.call_args
    assert kwargs['cafile'] == certifi.where()
    assert s.check_hostname is False
    assert s.verify_mode == ssl.CERT_NONE
예제 #3
0
def test_ssl_context_from_file(mocker, tmp_path):
    mocker.spy(ssl, 'create_default_context')
    file = tmp_path / 'certs.pem'
    with open(str(file), 'wb') as dest:
        with open(certifi.where(), 'rb') as source:
            dest.writelines(source.readlines())
    s = Client.new_ssl_context(str(file))

    args, kwargs = ssl.create_default_context.call_args
    assert kwargs['cafile'] == str(file)
예제 #4
0
def test_ssl_context_file_not_found(tmp_path):
    file = tmp_path / 'nonexistent.pem'

    with pytest.raises(FileNotFoundError):
        Client.new_ssl_context(str(file))
예제 #5
0
def test_ssl_context_from_true(mocker):
    mocker.spy(ssl, 'create_default_context')
    s = Client.new_ssl_context(True)

    args, kwargs = ssl.create_default_context.call_args
    assert kwargs['cafile'] == certifi.where()