Hello community,

here is the log from the commit of package python-PySocks for openSUSE:Factory 
checked in at 2017-11-10 14:41:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PySocks (Old)
 and      /work/SRC/openSUSE:Factory/.python-PySocks.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-PySocks"

Fri Nov 10 14:41:12 2017 rev:3 rq:539303 version:1.6.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PySocks/python-PySocks.changes    
2017-04-20 20:49:00.856387006 +0200
+++ /work/SRC/openSUSE:Factory/.python-PySocks.new/python-PySocks.changes       
2017-11-10 14:41:49.361868265 +0100
@@ -1,0 +2,11 @@
+Sat Nov  4 02:04:50 UTC 2017 - a...@gmx.de
+
+- specfile:
+  * update copyright year
+
+- update to version 1.6.7:
+  * Make SocksiPy legacy functions kwarg-compatible. See issue #71.
+  * Use setuptools in setup.py to support wheel. See issue #73.
+  * Test and logging enhancements
+
+-------------------------------------------------------------------

Old:
----
  PySocks-1.6.6.tar.gz

New:
----
  PySocks-1.6.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-PySocks.spec ++++++
--- /var/tmp/diff_new_pack.Z9RRVp/_old  2017-11-10 14:41:50.601823444 +0100
+++ /var/tmp/diff_new_pack.Z9RRVp/_new  2017-11-10 14:41:50.601823444 +0100
@@ -20,7 +20,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define oldpython python
 Name:           python-PySocks
-Version:        1.6.6
+Version:        1.6.7
 Release:        0
 Summary:        A Python SOCKS client module
 License:        BSD-3-Clause

++++++ PySocks-1.6.6.tar.gz -> PySocks-1.6.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/MANIFEST.in 
new/PySocks-1.6.7/MANIFEST.in
--- old/PySocks-1.6.6/MANIFEST.in       1970-01-01 01:00:00.000000000 +0100
+++ new/PySocks-1.6.7/MANIFEST.in       2016-05-21 23:47:19.000000000 +0200
@@ -0,0 +1,2 @@
+include README.md LICENSE
+recursive-include test *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/PKG-INFO new/PySocks-1.6.7/PKG-INFO
--- old/PySocks-1.6.6/PKG-INFO  2017-01-30 05:00:25.000000000 +0100
+++ new/PySocks-1.6.7/PKG-INFO  2017-03-23 05:11:52.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: PySocks
-Version: 1.6.6
+Version: 1.6.7
 Summary: A Python SOCKS client module. See https://github.com/Anorov/PySocks 
for more information.
 Home-page: https://github.com/Anorov/PySocks
 Author: Anorov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/PySocks.egg-info/PKG-INFO 
new/PySocks-1.6.7/PySocks.egg-info/PKG-INFO
--- old/PySocks-1.6.6/PySocks.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 
+0100
+++ new/PySocks-1.6.7/PySocks.egg-info/PKG-INFO 2017-03-23 05:11:51.000000000 
+0100
@@ -0,0 +1,11 @@
+Metadata-Version: 1.0
+Name: PySocks
+Version: 1.6.7
+Summary: A Python SOCKS client module. See https://github.com/Anorov/PySocks 
for more information.
+Home-page: https://github.com/Anorov/PySocks
+Author: Anorov
+Author-email: anorov.vor...@gmail.com
+License: BSD
+Description: UNKNOWN
+Keywords: socks,proxy
+Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/PySocks.egg-info/SOURCES.txt 
new/PySocks-1.6.7/PySocks.egg-info/SOURCES.txt
--- old/PySocks-1.6.6/PySocks.egg-info/SOURCES.txt      1970-01-01 
01:00:00.000000000 +0100
+++ new/PySocks-1.6.7/PySocks.egg-info/SOURCES.txt      2017-03-23 
05:11:52.000000000 +0100
@@ -0,0 +1,15 @@
+LICENSE
+MANIFEST.in
+README.md
+setup.py
+socks.py
+sockshandler.py
+PySocks.egg-info/PKG-INFO
+PySocks.egg-info/SOURCES.txt
+PySocks.egg-info/dependency_links.txt
+PySocks.egg-info/top_level.txt
+test/__init__.py
+test/test_pysocks.py
+test/util.py
+test/bin/3proxy
+test/bin/3proxy.license
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/PySocks.egg-info/dependency_links.txt 
new/PySocks-1.6.7/PySocks.egg-info/dependency_links.txt
--- old/PySocks-1.6.6/PySocks.egg-info/dependency_links.txt     1970-01-01 
01:00:00.000000000 +0100
+++ new/PySocks-1.6.7/PySocks.egg-info/dependency_links.txt     2017-03-23 
05:11:51.000000000 +0100
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/PySocks.egg-info/top_level.txt 
new/PySocks-1.6.7/PySocks.egg-info/top_level.txt
--- old/PySocks-1.6.6/PySocks.egg-info/top_level.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/PySocks-1.6.7/PySocks.egg-info/top_level.txt    2017-03-23 
05:11:51.000000000 +0100
@@ -0,0 +1,2 @@
+socks
+sockshandler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/setup.cfg new/PySocks-1.6.7/setup.cfg
--- old/PySocks-1.6.6/setup.cfg 1970-01-01 01:00:00.000000000 +0100
+++ new/PySocks-1.6.7/setup.cfg 2017-03-23 05:11:52.000000000 +0100
@@ -0,0 +1,5 @@
+[egg_info]
+tag_date = 0
+tag_svn_revision = 0
+tag_build = 
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/setup.py new/PySocks-1.6.7/setup.py
--- old/PySocks-1.6.6/setup.py  2017-01-30 04:44:46.000000000 +0100
+++ new/PySocks-1.6.7/setup.py  2017-03-23 05:08:58.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
-from distutils.core import setup
+from setuptools import setup
 
-VERSION = "1.6.6"
+VERSION = "1.6.7"
 
 setup(
     name = "PySocks",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/socks.py new/PySocks-1.6.7/socks.py
--- old/PySocks-1.6.6/socks.py  2017-01-30 04:44:36.000000000 +0100
+++ new/PySocks-1.6.7/socks.py  2017-03-23 05:08:58.000000000 +0100
@@ -51,7 +51,7 @@
 -Various small bug fixes
 """
 
-__version__ = "1.6.6"
+__version__ = "1.6.7"
 
 import socket
 import struct
@@ -60,6 +60,8 @@
 from os import SEEK_CUR
 import os
 import sys
+import functools
+import logging
 from collections import Callable
 from base64 import b64encode
 
@@ -70,6 +72,8 @@
     except ImportError:
         raise ImportError("To run PySocks on Windows you must install 
win_inet_pton")
 
+log = logging.getLogger(__name__)
+
 PROXY_TYPE_SOCKS4 = SOCKS4 = 1
 PROXY_TYPE_SOCKS5 = SOCKS5 = 2
 PROXY_TYPE_HTTP = HTTP = 3
@@ -79,6 +83,25 @@
 
 _orgsocket = _orig_socket = socket.socket
 
+
+def set_self_blocking(function):
+
+    @functools.wraps(function)
+    def wrapper(*args, **kwargs):
+        self = args[0]
+        try:
+            _is_blocking =  self.gettimeout()
+            if _is_blocking == 0:
+                self.setblocking(True)
+            return function(*args, **kwargs)
+        except Exception as e:
+            raise
+        finally:
+            # set orgin blcoking
+            if _is_blocking == 0:
+                self.setblocking(False)
+    return wrapper
+
 class ProxyError(IOError):
     """
     socket_err contains original socket.error exception.
@@ -131,7 +154,10 @@
                                 username.encode() if username else None,
                                 password.encode() if password else None)
 
-setdefaultproxy = set_default_proxy
+def setdefaultproxy(*args, **kwargs):
+    if 'proxytype' in kwargs:
+        kwargs['proxy_type'] = kwargs.pop('proxytype')
+    return set_default_proxy(*args, **kwargs)
 
 def get_default_proxy():
     """
@@ -256,7 +282,7 @@
             msg = "Socket type must be stream or datagram, not {!r}"
             raise ValueError(msg.format(type))
 
-        _BaseSocket.__init__(self, family, type, proto, *args, **kwargs)
+        super(socksocket, self).__init__(family, type, proto, *args, **kwargs)
         self._proxyconn = None  # TCP connection to keep UDP relay alive
 
         if self.default_proxy:
@@ -286,7 +312,7 @@
         try:
             # test if we're connected, if so apply timeout
             peer = self.get_proxy_peername()
-            _BaseSocket.settimeout(self, self._timeout)
+            super(socksocket, self).settimeout(self._timeout)
         except socket.error:
             pass
 
@@ -321,7 +347,10 @@
                       username.encode() if username else None,
                       password.encode() if password else None)
 
-    setproxy = set_proxy
+    def setproxy(self, *args, **kwargs):
+        if 'proxytype' in kwargs:
+            kwargs['proxy_type'] = kwargs.pop('proxytype')
+        return self.set_proxy(*args, **kwargs)
 
     def bind(self, *pos, **kw):
         """
@@ -337,7 +366,7 @@
         if proxy_type != SOCKS5:
             msg = "UDP only supported by SOCKS5 proxy type"
             raise socket.error(EOPNOTSUPP, msg)
-        _BaseSocket.bind(self, *pos, **kw)
+        super(socksocket, self).bind(*pos, **kw)
 
         # Need to specify actual local port because
         # some relays drop packets if a port of zero is specified.
@@ -356,13 +385,13 @@
         # but some proxies return a private IP address (10.x.y.z)
         host, _ = proxy
         _, port = relay
-        _BaseSocket.connect(self, (host, port))
-        _BaseSocket.settimeout(self, self._timeout)
+        super(socksocket, self).connect((host, port))
+        super(socksocket, self).settimeout(self._timeout)
         self.proxy_sockname = ("0.0.0.0", 0)  # Unknown
 
     def sendto(self, bytes, *args, **kwargs):
         if self.type != socket.SOCK_DGRAM:
-            return _BaseSocket.sendto(self, bytes, *args, **kwargs)
+            return super(socksocket, self).sendto(bytes, *args, **kwargs)
         if not self._proxyconn:
             self.bind(("", 0))
 
@@ -376,22 +405,22 @@
         header.write(STANDALONE)
         self._write_SOCKS5_address(address, header)
 
-        sent = _BaseSocket.send(self, header.getvalue() + bytes, *flags, 
**kwargs)
+        sent = super(socksocket, self).send(header.getvalue() + bytes, *flags, 
**kwargs)
         return sent - header.tell()
 
     def send(self, bytes, flags=0, **kwargs):
         if self.type == socket.SOCK_DGRAM:
             return self.sendto(bytes, flags, self.proxy_peername, **kwargs)
         else:
-            return _BaseSocket.send(self, bytes, flags, **kwargs)
+            return super(socksocket, self).send(bytes, flags, **kwargs)
 
     def recvfrom(self, bufsize, flags=0):
         if self.type != socket.SOCK_DGRAM:
-            return _BaseSocket.recvfrom(self, bufsize, flags)
+            return super(socksocket, self).recvfrom(bufsize, flags)
         if not self._proxyconn:
             self.bind(("", 0))
 
-        buf = BytesIO(_BaseSocket.recv(self, bufsize + 1024, flags))
+        buf = BytesIO(super(socksocket, self).recv(bufsize + 1024, flags))
         buf.seek(2, SEEK_CUR)
         frag = buf.read(1)
         if ord(frag):
@@ -412,7 +441,7 @@
     def close(self):
         if self._proxyconn:
             self._proxyconn.close()
-        return _BaseSocket.close(self)
+        return super(socksocket, self).close()
 
     def get_proxy_sockname(self):
         """
@@ -426,7 +455,7 @@
         """
         Returns the IP and port number of the proxy.
         """
-        return _BaseSocket.getpeername(self)
+        return super(socksocket, self).getpeername()
 
     getproxypeername = get_proxy_peername
 
@@ -525,7 +554,7 @@
             # Get the bound address/port
             bnd = self._read_SOCKS5_address(reader)
 
-            _BaseSocket.settimeout(self, self._timeout)
+            super(socksocket, self).settimeout(self._timeout)
             return (resolved, bnd)
         finally:
             reader.close()
@@ -707,7 +736,7 @@
                            HTTP: _negotiate_HTTP
                          }
 
-
+    @set_self_blocking
     def connect(self, dest_pair):
         """
         Connects to the specified destination through a proxy.
@@ -720,7 +749,7 @@
             # Probably IPv6, not supported -- raise an error, and hope
             # Happy Eyeballs (RFC6555) makes sure at least the IPv4
             # connection works...
-            raise socket.error("PySocks doesn't support IPv6")
+            raise socket.error("PySocks doesn't support IPv6: %s" % 
str(dest_pair))
 
         dest_addr, dest_port = dest_pair
 
@@ -749,20 +778,20 @@
 
         # We set the timeout here so that we don't hang in connection or during
         # negotiation.
-        _BaseSocket.settimeout(self, self._timeout)
+        super(socksocket, self).settimeout(self._timeout)
 
         if proxy_type is None:
             # Treat like regular socket object
             self.proxy_peername = dest_pair
-            _BaseSocket.settimeout(self, self._timeout)
-            _BaseSocket.connect(self, (dest_addr, dest_port))
+            super(socksocket, self).settimeout(self._timeout)
+            super(socksocket, self).connect((dest_addr, dest_port))
             return
 
         proxy_addr = self._proxy_addr()
 
         try:
             # Initial connection to proxy server.
-            _BaseSocket.connect(self, proxy_addr)
+            super(socksocket, self).connect(proxy_addr)
 
         except socket.error as error:
             # Error while connecting to proxy
@@ -773,6 +802,7 @@
 
             msg = "Error connecting to {0} proxy {1}".format(printable_type,
                                                            proxy_server)
+            log.debug("%s due to: %s", msg, error)
             raise ProxyConnectionError(msg, error)
 
         else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/test/config.py 
new/PySocks-1.6.7/test/config.py
--- old/PySocks-1.6.6/test/config.py    2017-01-30 04:43:48.000000000 +0100
+++ new/PySocks-1.6.7/test/config.py    1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-TEST_SERVER_HOST = 'localhost'
-TEST_SERVER_HOST_IP = '127.0.0.1'
-TEST_SERVER_PORT = 7777
-TEST_SERVER_EXTRA_PORT = 7776
-PROXY_HOST_IP = '127.0.0.2'
-HTTP_PROXY_PORT = 7775
-SOCKS4_PROXY_PORT = 7774
-SOCKS5_PROXY_PORT = 7773
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PySocks-1.6.6/test/test_pysocks.py 
new/PySocks-1.6.7/test/test_pysocks.py
--- old/PySocks-1.6.6/test/test_pysocks.py      2017-01-30 04:43:48.000000000 
+0100
+++ new/PySocks-1.6.7/test/test_pysocks.py      2017-03-23 04:57:30.000000000 
+0100
@@ -1,49 +1,86 @@
+"""These tests use 3proxy software as http/socks4/socks5 proxy service.
+The 3proxy binary is located in test/bin/3proxy
+"""
 from unittest import TestCase
-import unittest
-import socks
 import socket
-import six
-if six.PY3:
-    import urllib.request as urllib2
-else:
-    import urllib2
-import sockshandler
-from test_server import TestServer
+import os
+import signal
+from subprocess import Popen
+from threading import Thread
+import threading
+
+try:
+    import urllib2 # py2
+except ImportError:
+    import urllib.request as urllib2 # py3
+import psutil
+import pytest
 
+import sockshandler
+import socks
 from test.util import wait_for_socket
-from test import config
 
+TEST_SERVER_HOST = 'localhost'
+TEST_SERVER_HOST_IP = '127.0.0.1'
+TEST_SERVER_PORT = 7777
+PROXY_HOST_IP = '127.0.0.2'
+HTTP_PROXY_PORT = 7776
+SOCKS4_PROXY_PORT = 7775
+SOCKS5_PROXY_PORT = 7774
 # The 10.0.0.0 IP is used to emulate connection timeout errors
 NON_ROUTABLE_IP = '10.0.0.0'
 
 
-def start_extra_test_server():
-    from multiprocessing import Event, Process, Queue
-
-    def server_process(wait_event, server_queue):
-        test_server = TestServer(address=config.TEST_SERVER_HOST_IP,
-                                 port=config.TEST_SERVER_EXTRA_PORT)
-        test_server.start()
-        test_server.response['data'] = b'zzz'
-        wait_event.wait()
-        server_queue.put(test_server.request)
-        test_server.stop()
-
-    wait_event = Event()
-    server_queue = Queue()
-    proc = Process(target=server_process, args=[wait_event, server_queue])
-    proc.daemon = True
-    proc.start()
-    wait_for_socket('extra-test-server', config.TEST_SERVER_HOST_IP,
-                                         config.TEST_SERVER_EXTRA_PORT)
-    return wait_event, server_queue
+def proxy_thread():
+    with open('3proxy.conf', 'w') as out:
+        out.write('\n'.join((
+            'allow *',
+            'auth none',
+            'proxy -a -n -p%d -e%s' % (HTTP_PROXY_PORT,
+                                       PROXY_HOST_IP),
+            'socks -p%d -e%s' % (SOCKS4_PROXY_PORT,
+                                 PROXY_HOST_IP),
+            'socks -p%d -e%s' % (SOCKS5_PROXY_PORT,
+                                 PROXY_HOST_IP),
+        )))
+    cmd = 'test/bin/3proxy 3proxy.conf'
+    server = Popen(cmd, shell=True)
+    server.wait()
+
+
+@pytest.fixture(scope='session', autouse=True)
+def proxy_server():
+    th = Thread(target=proxy_thread)
+    th.daemon = True
+    th.start()
+    wait_for_socket('3proxy:http', PROXY_HOST_IP,
+                    HTTP_PROXY_PORT)
+    wait_for_socket('3proxy:socks4', PROXY_HOST_IP,
+                    SOCKS4_PROXY_PORT)
+    wait_for_socket('3proxy:socks5', PROXY_HOST_IP,
+                    SOCKS5_PROXY_PORT)
+    yield
+    print('Active threads:')
+    for th in threading.enumerate():
+        print(' * %s' % th)
+
+    parent = psutil.Process(os.getpid())
+    print('Active child processes:')
+    for child in parent.children(recursive=True):
+        print(' * %s' % child)
+        child.send_signal(signal.SIGINT)
 
 
 class PySocksTestCase(TestCase):
     @classmethod
     def setUpClass(cls):
-        cls.test_server = TestServer(address=config.TEST_SERVER_HOST,
-                                     port=config.TEST_SERVER_PORT)
+        # import TestServer locally to avoid
+        # pytest warning about skipped TestServer class
+        from test_server import TestServer
+
+        cls.test_server = TestServer(address=TEST_SERVER_HOST,
+                                     port=TEST_SERVER_PORT,
+                                     engine='subprocess')
         cls.test_server.start()
 
     @classmethod
@@ -66,8 +103,8 @@
             '\r\n' % (host, port_fragment)
         ).encode()
 
-    def assertProxyResponse(self, resp_data, content, address,
-                            user_agent='PySockTester', client_ip=None):
+    def assert_proxy_response(self, resp_data, content, address,
+                              client_ip=None):
         status = resp_data.splitlines()[0]
         resp_body = resp_data.split(b'\r\n\r\n')[1]
         self.assertEqual(b'HTTP/1.1 200 OK', status)
@@ -76,313 +113,297 @@
         self.assertEqual('%s:%d' % address,
                          self.test_server.request['headers']['host'])
         self.assertEqual(content, resp_body)
-        self.assertEqual(client_ip or config.PROXY_HOST_IP,
+        self.assertEqual(client_ip or PROXY_HOST_IP,
                          self.test_server.request['client_ip'])
 
     # 0/13
     def test_stdlib_socket(self):
         content = b'zzz'
-        address = (config.TEST_SERVER_HOST, config.TEST_SERVER_PORT)
+        address = (TEST_SERVER_HOST, TEST_SERVER_PORT)
         self.test_server.response['data'] = content
-        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        s.connect(address)
-        s.sendall(self.build_http_request(*address))
-        data = s.recv(2048)
-        self.assertProxyResponse(data, content, address,
-                                 client_ip=config.TEST_SERVER_HOST_IP)
-
+        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        sock.connect(address)
+        sock.sendall(self.build_http_request(*address))
+        data = sock.recv(2048)
+        self.assert_proxy_response(data, content, address,
+                                   client_ip=TEST_SERVER_HOST_IP)
 
     # 1/13
     def test_http_proxy(self):
         content = b'zzz'
         self.test_server.response['data'] = content
-        address = (config.TEST_SERVER_HOST, config.TEST_SERVER_PORT)
-        s = socks.socksocket()
-        s.set_proxy(socks.HTTP, config.PROXY_HOST_IP, config.HTTP_PROXY_PORT)
-        s.connect(address)
-        s.sendall(self.build_http_request(*address))
-        data = s.recv(2048)
-        self.assertProxyResponse(data, content, address)
-
+        address = (TEST_SERVER_HOST, TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.set_proxy(socks.HTTP, PROXY_HOST_IP, HTTP_PROXY_PORT)
+        sock.connect(address)
+        sock.sendall(self.build_http_request(*address))
+        data = sock.recv(2048)
+        self.assert_proxy_response(data, content, address)
 
     # 2/13
     def test_socks4_proxy(self):
         content = b'zzz'
         self.test_server.response['data'] = content
-        address = (config.TEST_SERVER_HOST, config.TEST_SERVER_PORT)
-        s = socks.socksocket()
-        s.set_proxy(socks.SOCKS4, config.PROXY_HOST_IP, 
config.SOCKS4_PROXY_PORT)
-        s.connect(address)
-        s.sendall(self.build_http_request(*address))
-        data = s.recv(2048)
-        self.assertProxyResponse(data, content, address)
-
+        address = (TEST_SERVER_HOST, TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.set_proxy(socks.SOCKS4, PROXY_HOST_IP,
+                       SOCKS4_PROXY_PORT)
+        sock.connect(address)
+        sock.sendall(self.build_http_request(*address))
+        data = sock.recv(2048)
+        self.assert_proxy_response(data, content, address)
 
     # 3/13
     def test_socks5_proxy(self):
         content = b'zzz'
         self.test_server.response['data'] = content
-        address = (config.TEST_SERVER_HOST, config.TEST_SERVER_PORT)
-        s = socks.socksocket()
-        s.set_proxy(socks.SOCKS5, config.PROXY_HOST_IP, 
config.SOCKS5_PROXY_PORT)
-        s.connect(address)
-        s.sendall(self.build_http_request(*address))
-        data = s.recv(2048)
-        self.assertProxyResponse(data, content, address)
+        address = (TEST_SERVER_HOST, TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.set_proxy(socks.SOCKS5, PROXY_HOST_IP, SOCKS5_PROXY_PORT)
+        sock.connect(address)
+        sock.sendall(self.build_http_request(*address))
+        data = sock.recv(2048)
+        self.assert_proxy_response(data, content, address)
 
     # 3-1/13
     def test_urllib2_http_handler(self):
         content = b'zzz'
         self.test_server.response['data'] = content
         opener = urllib2.build_opener(sockshandler.SocksiPyHandler(
-            socks.HTTP, config.PROXY_HOST_IP, config.HTTP_PROXY_PORT))
+            socks.HTTP, PROXY_HOST_IP, HTTP_PROXY_PORT))
         res = opener.open(self.test_server.get_url())
         body = res.read()
         self.assertTrue(self.test_server.request['headers']['user-agent']
-                            .startswith('Python-urllib'))
-        self.assertEqual('%s:%d' % (config.TEST_SERVER_HOST, 
config.TEST_SERVER_PORT),
+                        .startswith('Python-urllib'))
+        self.assertEqual('%s:%d' % (TEST_SERVER_HOST, TEST_SERVER_PORT),
                          self.test_server.request['headers']['host'])
         self.assertEqual(200, res.getcode())
         self.assertEqual(content, body)
 
-
     # 3-2/13
     def test_urllib2_socks4_handler(self):
         content = b'zzz'
         self.test_server.response['data'] = content
         opener = urllib2.build_opener(sockshandler.SocksiPyHandler(
-            socks.SOCKS4, config.PROXY_HOST_IP, config.SOCKS4_PROXY_PORT))
+            socks.SOCKS4, PROXY_HOST_IP, SOCKS4_PROXY_PORT))
         res = opener.open(self.test_server.get_url())
         body = res.read()
         self.assertTrue(self.test_server.request['headers']['user-agent']
-                            .startswith('Python-urllib'))
-        self.assertEqual('%s:%d' % (config.TEST_SERVER_HOST, 
config.TEST_SERVER_PORT),
+                        .startswith('Python-urllib'))
+        self.assertEqual('%s:%d' % (TEST_SERVER_HOST, TEST_SERVER_PORT),
                          self.test_server.request['headers']['host'])
         self.assertEqual(200, res.getcode())
         self.assertEqual(content, body)
 
-
     # 3-3/13
     def test_urllib2_socks5_handler(self):
         content = b'zzz'
         self.test_server.response['data'] = content
         opener = urllib2.build_opener(sockshandler.SocksiPyHandler(
-            socks.SOCKS5, config.PROXY_HOST_IP, config.SOCKS5_PROXY_PORT))
+            socks.SOCKS5, PROXY_HOST_IP, SOCKS5_PROXY_PORT))
         res = opener.open(self.test_server.get_url())
         body = res.read()
         self.assertTrue(self.test_server.request['headers']['user-agent']
-                            .startswith('Python-urllib'))
-        self.assertEqual('%s:%d' % (config.TEST_SERVER_HOST, 
config.TEST_SERVER_PORT),
+                        .startswith('Python-urllib'))
+        self.assertEqual('%s:%d' % (TEST_SERVER_HOST, TEST_SERVER_PORT),
                          self.test_server.request['headers']['host'])
         self.assertEqual(200, res.getcode())
         self.assertEqual(content, body)
 
-
     # 4/13
     def test_http_ip_proxy(self):
         content = b'zzz'
         self.test_server.response['data'] = content
-        address = (config.TEST_SERVER_HOST_IP, config.TEST_SERVER_PORT)
-        s = socks.socksocket()
-        s.set_proxy(socks.HTTP, config.PROXY_HOST_IP, config.HTTP_PROXY_PORT)
-        s.connect(address)
-        s.sendall(self.build_http_request(*address))
-        data = s.recv(2048)
-        self.assertProxyResponse(data, content, address)
-
+        address = (TEST_SERVER_HOST_IP, TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.set_proxy(socks.HTTP, PROXY_HOST_IP, HTTP_PROXY_PORT)
+        sock.connect(address)
+        sock.sendall(self.build_http_request(*address))
+        data = sock.recv(2048)
+        self.assert_proxy_response(data, content, address)
 
     # 5/13
     def test_socks4_ip_proxy(self):
         content = b'zzz'
         self.test_server.response['data'] = content
-        address = (config.TEST_SERVER_HOST_IP, config.TEST_SERVER_PORT)
-        s = socks.socksocket()
-        s.set_proxy(socks.SOCKS4, config.PROXY_HOST_IP, 
config.SOCKS4_PROXY_PORT)
-        s.connect(address)
-        s.sendall(self.build_http_request(*address))
-        data = s.recv(2048)
-        self.assertProxyResponse(data, content, address)
-
+        address = (TEST_SERVER_HOST_IP, TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.set_proxy(socks.SOCKS4, PROXY_HOST_IP, SOCKS4_PROXY_PORT)
+        sock.connect(address)
+        sock.sendall(self.build_http_request(*address))
+        data = sock.recv(2048)
+        self.assert_proxy_response(data, content, address)
 
     # 6/13
     def test_socks5_ip_proxy(self):
         content = b'zzz'
         self.test_server.response['data'] = content
-        address = (config.TEST_SERVER_HOST_IP, config.TEST_SERVER_PORT)
-        s = socks.socksocket()
-        s.set_proxy(socks.SOCKS5, config.PROXY_HOST_IP, 
config.SOCKS5_PROXY_PORT)
-        s.connect(address)
-        s.sendall(self.build_http_request(*address))
-        data = s.recv(2048)
-        self.assertProxyResponse(data, content, address)
-
+        address = (TEST_SERVER_HOST_IP, TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.set_proxy(socks.SOCKS5, PROXY_HOST_IP, SOCKS5_PROXY_PORT)
+        sock.connect(address)
+        sock.sendall(self.build_http_request(*address))
+        data = sock.recv(2048)
+        self.assert_proxy_response(data, content, address)
 
     # 7/13
     def test_socks5_proxy_connect_timeout(self):
         """Test timeout during connecting to the proxy server"""
-        s = socks.socksocket()
-        s.settimeout(0.1)
-        s.set_proxy(socks.SOCKS5, NON_ROUTABLE_IP, config.SOCKS5_PROXY_PORT)
-        address = (config.TEST_SERVER_HOST, config.TEST_SERVER_PORT)
-        self.assertRaises(socks.ProxyConnectionError, s.connect,
+        sock = socks.socksocket()
+        sock.settimeout(0.1)
+        sock.set_proxy(socks.SOCKS5, NON_ROUTABLE_IP, SOCKS5_PROXY_PORT)
+        address = (TEST_SERVER_HOST, TEST_SERVER_PORT)
+        self.assertRaises(socks.ProxyConnectionError, sock.connect,
                           address)
 
-        s = socks.socksocket()
-        s.settimeout(0.1)
-        s.set_proxy(socks.SOCKS5, NON_ROUTABLE_IP, config.SOCKS5_PROXY_PORT)
-        address = (config.TEST_SERVER_HOST, config.TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.settimeout(0.1)
+        sock.set_proxy(socks.SOCKS5, NON_ROUTABLE_IP, SOCKS5_PROXY_PORT)
+        address = (TEST_SERVER_HOST, TEST_SERVER_PORT)
         try:
-            s.connect(address)
+            sock.connect(address)
         except socks.ProxyConnectionError as ex:
             self.assertEqual(str(ex.socket_err), 'timed out')
         else:
             assert False
 
-
     # 8/13
     # TODO: imeplement server that accept connection slowly
     #def test_socks5_negotiation_timeout(self):
     #    """Test timeout during connection to to destination server"""
-    #    s = socks.socksocket()
-    #    s.settimeout(0.01)
-    #    s.set_proxy(socks.SOCKS5, config.PROXY_HOST_IP, 
config.SOCKS5_PROXY_PORT)
-    #    address = (NON_ROUTABLE_IP, config.TEST_SERVER_PORT)
-    #    self.assertRaises(socks.GeneralProxyError, s.connect,
+    #    sock = socks.socksocket()
+    #    sock.settimeout(0.01)
+    #    sock.set_proxy(socks.SOCKS5, PROXY_HOST_IP, SOCKS5_PROXY_PORT)
+    #    address = (NON_ROUTABLE_IP, TEST_SERVER_PORT)
+    #    self.assertRaises(socks.GeneralProxyError, sock.connect,
     #                      address)
 
-    #    s = socks.socksocket()
-    #    s.settimeout(0.1)
-    #    s.set_proxy(socks.SOCKS5, config.PROXY_HOST_IP, 
config.SOCKS5_PROXY_PORT)
-    #    address = (NON_ROUTABLE_IP, config.TEST_SERVER_PORT)
+    #    sock = socks.socksocket()
+    #    sock.settimeout(0.1)
+    #    sock.set_proxy(socks.SOCKS5, PROXY_HOST_IP, SOCKS5_PROXY_PORT)
+    #    address = (NON_ROUTABLE_IP, TEST_SERVER_PORT)
     #    try:
-    #        s.connect(address)
+    #        sock.connect(address)
     #    except socks.GeneralProxyError as ex:
     #        self.assertEqual(str(ex.socket_err), 'timed out')
     #    else:
     #        assert False
 
-
     # 8-1/13
     def test_socks5_read_timeout(self):
         """Test timeout during reading from the connected remote server"""
         self.test_server.response['sleep'] = 5
 
-        s = socks.socksocket()
-        s.settimeout(0.1)
-        s.set_proxy(socks.SOCKS5, config.PROXY_HOST_IP, 
config.SOCKS5_PROXY_PORT)
-        address = (config.TEST_SERVER_HOST, config.TEST_SERVER_PORT)
+        sock = socks.socksocket()
+        sock.settimeout(0.1)
+        sock.set_proxy(socks.SOCKS5, PROXY_HOST_IP, SOCKS5_PROXY_PORT)
+        address = (TEST_SERVER_HOST, TEST_SERVER_PORT)
 
         def func():
-            s.connect(address)
-            s.recv(1)
+            sock.connect(address)
+            sock.recv(1)
 
         self.assertRaises(socket.timeout, func)
 
     # 9/13
     def test_urllib2_http(self):
-        wait_event, server_queue = start_extra_test_server()
         original_socket = urllib2.socket.socket
         try:
-            socks.set_default_proxy(socks.HTTP, config.PROXY_HOST_IP,
-                                    config.HTTP_PROXY_PORT)
+            self.test_server.response['data'] = b'zzz'
+            socks.set_default_proxy(socks.HTTP, PROXY_HOST_IP,
+                                    HTTP_PROXY_PORT)
             socks.wrap_module(urllib2)
-            address = (config.TEST_SERVER_HOST,
-                       config.TEST_SERVER_EXTRA_PORT)
-            url = 'http://%s:%d/' % address 
+            address = (TEST_SERVER_HOST,
+                       TEST_SERVER_PORT)
+            url = 'http://%s:%d/' % address
             res = urllib2.urlopen(url)
             resp_body = res.read()
-            wait_event.set()
-            request = server_queue.get(block=True, timeout=1)
             self.assertEqual(200, res.getcode())
             self.assertEqual(b'zzz', resp_body)
 
-            self.assertTrue(request['headers']['user-agent']
-                                .startswith('Python-urllib'))
+            self.assertTrue(self.test_server
+                            .request['headers']['user-agent']
+                            .startswith('Python-urllib'))
             self.assertEqual('%s:%d' % address,
-                             request['headers']['host'])
+                             self.test_server.request['headers']['host'])
         finally:
             urllib2.socket.socket = original_socket
 
-
     # 10/13
     def test_urllib2_socks5(self):
-        wait_event, server_queue = start_extra_test_server()
         original_socket = urllib2.socket.socket
         try:
-            socks.set_default_proxy(socks.SOCKS5, config.PROXY_HOST_IP,
-                                    config.SOCKS5_PROXY_PORT)
+            self.test_server.response['data'] = b'zzz'
+            socks.set_default_proxy(socks.SOCKS5, PROXY_HOST_IP,
+                                    SOCKS5_PROXY_PORT)
             socks.wrap_module(urllib2)
-            address = (config.TEST_SERVER_HOST,
-                       config.TEST_SERVER_EXTRA_PORT)
-            url = 'http://%s:%d/' % address 
+            address = (TEST_SERVER_HOST,
+                       TEST_SERVER_PORT)
+            url = 'http://%s:%d/' % address
             res = urllib2.urlopen(url)
             resp_body = res.read()
-            wait_event.set()
-            request = server_queue.get(block=True, timeout=1)
             self.assertEqual(200, res.getcode())
             self.assertEqual(b'zzz', resp_body)
 
-            self.assertTrue(request['headers']['user-agent']
-                                .startswith('Python-urllib'))
+            self.assertTrue(self.test_server
+                            .request['headers']['user-agent']
+                            .startswith('Python-urllib'))
             self.assertEqual('%s:%d' % address,
-                             request['headers']['host'])
+                             self.test_server.request['headers']['host'])
         finally:
             urllib2.socket.socket = original_socket
 
-
     # 11/13
     def test_global_override_http(self):
-        wait_event, server_queue = start_extra_test_server()
         original_socket = socket.socket
         try:
-            socks.set_default_proxy(socks.HTTP, config.PROXY_HOST_IP,
-                                    config.HTTP_PROXY_PORT)
+            self.test_server.response['data'] = b'zzz'
+            socks.set_default_proxy(socks.HTTP, PROXY_HOST_IP,
+                                    HTTP_PROXY_PORT)
             socket.socket = socks.socksocket
-            address = (config.TEST_SERVER_HOST,
-                       config.TEST_SERVER_EXTRA_PORT)
-            url = 'http://%s:%d/' % address 
+            address = (TEST_SERVER_HOST,
+                       TEST_SERVER_PORT)
+            url = 'http://%s:%d/' % address
             res = urllib2.urlopen(url)
             resp_body = res.read()
-            wait_event.set()
-            request = server_queue.get(block=True, timeout=1)
             self.assertEqual(200, res.getcode())
             self.assertEqual(b'zzz', resp_body)
 
-            self.assertTrue(request['headers']['user-agent']
-                                .startswith('Python-urllib'))
+            self.assertTrue(self.test_server
+                            .request['headers']['user-agent']
+                            .startswith('Python-urllib'))
             self.assertEqual('%s:%d' % address,
-                             request['headers']['host'])
+                             self.test_server.request['headers']['host'])
         finally:
             socket.socket = original_socket
 
-
     # 12/13
     def test_global_override_socks5(self):
-        wait_event, server_queue = start_extra_test_server()
         original_socket = socket.socket
         try:
-            socks.set_default_proxy(socks.SOCKS5, config.PROXY_HOST_IP,
-                                    config.SOCKS5_PROXY_PORT)
+            self.test_server.response['data'] = b'zzz'
+            socks.set_default_proxy(socks.SOCKS5, PROXY_HOST_IP,
+                                    SOCKS5_PROXY_PORT)
             socket.socket = socks.socksocket
-            address = (config.TEST_SERVER_HOST,
-                       config.TEST_SERVER_EXTRA_PORT)
-            url = 'http://%s:%d/' % address 
+            address = (TEST_SERVER_HOST,
+                       TEST_SERVER_PORT)
+            url = 'http://%s:%d/' % address
             res = urllib2.urlopen(url)
             resp_body = res.read()
-            wait_event.set()
-            request = server_queue.get(block=True, timeout=1)
             self.assertEqual(200, res.getcode())
             self.assertEqual(b'zzz', resp_body)
 
-            self.assertTrue(request['headers']['user-agent']
-                                .startswith('Python-urllib'))
+            self.assertTrue(self.test_server
+                            .request['headers']['user-agent']
+                            .startswith('Python-urllib'))
             self.assertEqual('%s:%d' % address,
-                             request['headers']['host'])
+                             self.test_server.request['headers']['host'])
         finally:
             socket.socket = original_socket
 
     # 12/13
     def test_ipv6(self):
         sock = socks.socksocket()
-        ipv6_tuple = addr, port, flowinfo, scopeid = "::1", 1234, 0, 0
+        # (addr, scopeid, flowinfo, port)
+        ipv6_tuple = ("::1", 1234, 0, 0)
         self.assertRaises(socket.error, sock.connect, ipv6_tuple)


Reply via email to