# -*- coding: utf-8 -*-

"""\
(c) Copyright.  All rights reserved.

"""

from __future__ import unicode_literals

try:
    # py3
    from unittest.mock import Mock, patch
except ImportError as _:
    # py2
    from mock import Mock, patch
from unittest import TestCase

from primordial.requests.adapters import CustomHostnameHTTPSAdapter


class TestCustomHostnameHTTPSAdapter(TestCase):

    @patch('requests.adapters.HTTPAdapter.cert_verify', new=Mock())
    def test_verify_uses_custom_hostname(self):
        mockHostname = Mock()
        mockConn = Mock()
        adapter = CustomHostnameHTTPSAdapter(mockHostname)
        adapter.cert_verify(mockConn, Mock(), Mock(), Mock())
        assert mockConn.assert_hostname == mockHostname

    @patch('requests.adapters.HTTPAdapter.cert_verify')
    def test_verify_calls_base_verify(self, mock_super):
        adapter = CustomHostnameHTTPSAdapter(Mock())
        adapter.cert_verify(Mock(), Mock(), Mock(), Mock())
        self.assertTrue(mock_super.called)
