Skip to content

Commit

Permalink
Merge 58d672f into 51b91c0
Browse files Browse the repository at this point in the history
  • Loading branch information
sjaensch committed Nov 15, 2018
2 parents 51b91c0 + 58d672f commit 58a1294
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions tests/http_client_test.py
Expand Up @@ -16,8 +16,7 @@ def mock_client_session():
yield _mock


@pytest.fixture
def asyncio_client(mock_client_session, ssl_verify=None, ssl_cert=None):
def get_asyncio_client(ssl_verify=None, ssl_cert=None):
client = AsyncioClient(
run_mode=RunMode.THREAD,
loop=mock.Mock(spec=asyncio.AbstractEventLoop),
Expand All @@ -28,6 +27,11 @@ def asyncio_client(mock_client_session, ssl_verify=None, ssl_cert=None):
return client


@pytest.fixture
def asyncio_client(mock_client_session):
return get_asyncio_client()


@pytest.fixture
def mock_log():
with mock.patch('bravado_asyncio.http_client.log') as _mock:
Expand Down Expand Up @@ -195,15 +199,15 @@ def test_connect_timeout_logs_warning(asyncio_client, mock_client_session, reque

@pytest.mark.usefixtures('mock_aiohttp_version')
def test_disable_ssl_verification(mock_client_session, mock_create_default_context):
client = asyncio_client(mock_client_session=mock_client_session, ssl_verify=False)
client = get_asyncio_client(ssl_verify=False)
client.request({})
assert mock_client_session.return_value.request.call_args[1]['ssl'] is False
assert mock_create_default_context.call_count == 0


@pytest.mark.usefixtures('mock_aiohttp_version')
def test_use_custom_ssl_ca(mock_client_session, mock_create_default_context):
client = asyncio_client(mock_client_session=mock_client_session, ssl_verify='my_ca_cert')
client = get_asyncio_client(ssl_verify='my_ca_cert')
client.request({})
assert mock_client_session.return_value.request.call_args[1]['ssl'] == mock_create_default_context.return_value
mock_create_default_context.assert_called_once_with(cafile='my_ca_cert')
Expand All @@ -220,15 +224,15 @@ def test_use_custom_ssl_ca(mock_client_session, mock_create_default_context):
),
)
def test_use_custom_ssl_cert(ssl_cert, expected_args, mock_client_session, mock_create_default_context):
client = asyncio_client(mock_client_session=mock_client_session, ssl_cert=ssl_cert)
client = get_asyncio_client(ssl_cert=ssl_cert)
client.request({})
assert mock_client_session.return_value.request.call_args[1]['ssl'] == mock_create_default_context.return_value
assert mock_create_default_context.return_value.load_cert_chain.call_args[0] == expected_args


@pytest.mark.usefixtures('mock_aiohttp_version')
def test_use_custom_ssl_ca_and_cert(mock_client_session, mock_create_default_context):
client = asyncio_client(mock_client_session=mock_client_session, ssl_verify='my_ca_cert', ssl_cert='my_cert')
client = get_asyncio_client(ssl_verify='my_ca_cert', ssl_cert='my_cert')
client.request({})
assert mock_client_session.return_value.request.call_args[1]['ssl'] == mock_create_default_context.return_value
mock_create_default_context.assert_called_once_with(cafile='my_ca_cert')
Expand Down

0 comments on commit 58a1294

Please sign in to comment.