コード例 #1
0
    def test_connect_does_not_use_socks_proxy(self, mock_set_tunnel,
                                              mock_connect, mock_socks):
        conn = ProxyAwareHTTPSConnection(self.config, 'example.com')
        conn.connect()

        assert mock_socks._create_connection.call_count == 0
        mock_connect.assert_called_once_with()
コード例 #2
0
    def test_set_tunnel_is_not_called_when_socks(self, mock_set_tunnel):
        conf = namedtuple('ProxyConf', 'scheme username password hostport')
        self.config = {
            'https': conf(*_parse_proxy('socks5://username:password@host:3128'))
        }
        ProxyAwareHTTPSConnection(self.config, 'example.com')

        self.assertEqual(mock_set_tunnel.call_count, 0)
コード例 #3
0
    def test_raises_exception_when_invalid_socks_scheme(self, mock_socks):
        conf = namedtuple('ProxyConf', 'scheme username password hostport')
        self.config = {
            'https': conf(*_parse_proxy('socks6://socks_user:socks_pass@socks_host:3128')),
            'no_proxy': 'localhost,127.0.0.1,dev_server:8080'
        }

        conn = ProxyAwareHTTPSConnection(self.config, 'example.com', context=Mock())

        with self.assertRaises(TypeError):
            conn.connect()
コード例 #4
0
    def test_connect_uses_socks4_proxy(self, mock_socks):
        conf = namedtuple('ProxyConf', 'scheme username password hostport')
        self.config = {
            'https':
            conf(*_parse_proxy(
                'socks4://socks_user:socks_pass@socks_host:3128')),
            'no_proxy':
            'localhost,127.0.0.1,dev_server:8080'
        }
        mock_socks.PROXY_TYPE_SOCKS4 = socks.PROXY_TYPE_SOCKS4

        conn = ProxyAwareHTTPSConnection(self.config,
                                         'example.com',
                                         context=Mock())
        conn.connect()

        mock_socks.create_connection.assert_called_once_with(
            ('example.com', 443), socket._GLOBAL_DEFAULT_TIMEOUT, None,
            socks.PROXY_TYPE_SOCKS4, 'socks_host', 3128, False, 'socks_user',
            'socks_pass', ((socket.IPPROTO_TCP, socket.TCP_NODELAY, 1), ))
コード例 #5
0
    def test_set_tunnel_is_not_called(self, mock_set_tunnel):
        self.config = {}
        ProxyAwareHTTPSConnection(self.config, 'example.com')

        self.assertEqual(mock_set_tunnel.call_count, 0)
コード例 #6
0
    def test_is_not_proxied_when_no_config(self):
        self.config = {}
        conn = ProxyAwareHTTPSConnection(self.config, 'example.com')

        self.assertFalse(conn.use_proxy)
        self.assertEqual(conn.host, 'example.com')
コード例 #7
0
    def test_set_tunnel_is_called(self, mock_set_tunnel):
        ProxyAwareHTTPSConnection(self.config, 'example.com')

        mock_set_tunnel.assert_called_once_with(
            'example.com',
            headers={'Proxy-Authorization': 'Basic dXNlcm5hbWU6cGFzc3dvcmQ='})
コード例 #8
0
    def test_use_proxy(self):
        conn = ProxyAwareHTTPSConnection(self.config, 'example.com')

        self.assertTrue(conn.use_proxy)
        self.assertEqual(conn.host, 'host')
コード例 #9
0
ファイル: test_proxy2.py プロジェクト: xxxxlr/selenium-wire
    def test_is_not_proxied_when_no_proxy(self):
        self.config['no_proxy'] += ',example.com'
        conn = ProxyAwareHTTPSConnection(self.config, 'example.com')

        self.assertFalse(conn.proxied)
        self.assertEqual(conn.host, 'example.com')