import sys
import warnings
from tests import unittest, mock, BaseSessionTest
from botocore.exceptions import UnsupportedTLSVersionWarning
@unittest.skipIf(sys.version_info[:2] == (2, 6),
("py26 is unable to detect openssl version"))
class TestOpensslVersion(BaseSessionTest):
def test_incompatible_openssl_version(self):
with mock.patch('ssl.OPENSSL_VERSION_INFO', new=(0, 9, 8, 11, 15)):
with mock.patch('warnings.warn') as mock_warn:
self.session.create_client('iot-data', 'us-east-1')
call_args = mock_warn.call_args[0]
warning_message = call_args[0]
warning_type = call_args[1]
self.assertIn('iot-data', warning_message)
self.assertEqual(warning_type, UnsupportedTLSVersionWarning)
def test_compatible_openssl_version(self):
with mock.patch('ssl.OPENSSL_VERSION_INFO', new=(1, 0, 1, 1, 1)):
with mock.patch('warnings.warn') as mock_warn:
self.session.create_client('iot-data', 'us-east-1')
self.assertFalse(mock_warn.called)