aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/http/http2/test_protocol.py3
-rw-r--r--test/test_tcp.py3
-rw-r--r--test/tservers.py107
-rw-r--r--test/websockets/test_websockets.py3
4 files changed, 3 insertions, 113 deletions
diff --git a/test/http/http2/test_protocol.py b/test/http/http2/test_protocol.py
index 6bda96f5..0beec950 100644
--- a/test/http/http2/test_protocol.py
+++ b/test/http/http2/test_protocol.py
@@ -1,12 +1,11 @@
import OpenSSL
import mock
-from netlib import tcp, http, tutils
+from netlib import tcp, http, tutils, tservers
from netlib.exceptions import TcpDisconnect
from netlib.http import Headers
from netlib.http.http2.connections import HTTP2Protocol, TCPHandler
from netlib.http.http2.frame import *
-from ... import tservers
class TestTCPHandlerWrapper:
def test_wrapped(self):
diff --git a/test/test_tcp.py b/test/test_tcp.py
index 68d54b78..738fb2eb 100644
--- a/test/test_tcp.py
+++ b/test/test_tcp.py
@@ -10,8 +10,7 @@ import mock
from OpenSSL import SSL
import OpenSSL
-from netlib import tcp, certutils, tutils
-from . import tservers
+from netlib import tcp, certutils, tutils, tservers
from netlib.exceptions import InvalidCertificateException, TcpReadIncomplete, TlsException, \
TcpTimeout, TcpDisconnect, TcpException
diff --git a/test/tservers.py b/test/tservers.py
deleted file mode 100644
index c47d6a5f..00000000
--- a/test/tservers.py
+++ /dev/null
@@ -1,107 +0,0 @@
-from __future__ import (absolute_import, print_function, division)
-import threading
-from six.moves import queue
-from io import StringIO
-import OpenSSL
-from netlib import tcp
-from netlib import tutils
-
-
-class ServerThread(threading.Thread):
-
- def __init__(self, server):
- self.server = server
- threading.Thread.__init__(self)
-
- def run(self):
- self.server.serve_forever()
-
- def shutdown(self):
- self.server.shutdown()
-
-
-class ServerTestBase(object):
- ssl = None
- handler = None
- addr = ("localhost", 0)
-
- @classmethod
- def setup_class(cls):
- cls.q = queue.Queue()
- s = cls.makeserver()
- cls.port = s.address.port
- cls.server = ServerThread(s)
- cls.server.start()
-
- @classmethod
- def makeserver(cls):
- return TServer(cls.ssl, cls.q, cls.handler, cls.addr)
-
- @classmethod
- def teardown_class(cls):
- cls.server.shutdown()
-
- @property
- def last_handler(self):
- return self.server.server.last_handler
-
-
-class TServer(tcp.TCPServer):
-
- def __init__(self, ssl, q, handler_klass, addr):
- """
- ssl: A dictionary of SSL parameters:
-
- cert, key, request_client_cert, cipher_list,
- dhparams, v3_only
- """
- tcp.TCPServer.__init__(self, addr)
-
- if ssl is True:
- self.ssl = dict()
- elif isinstance(ssl, dict):
- self.ssl = ssl
- else:
- self.ssl = None
-
- self.q = q
- self.handler_klass = handler_klass
- self.last_handler = None
-
- def handle_client_connection(self, request, client_address):
- h = self.handler_klass(request, client_address, self)
- self.last_handler = h
- if self.ssl is not None:
- cert = self.ssl.get(
- "cert",
- tutils.test_data.path("data/server.crt"))
- raw_key = self.ssl.get(
- "key",
- tutils.test_data.path("data/server.key"))
- key = OpenSSL.crypto.load_privatekey(
- OpenSSL.crypto.FILETYPE_PEM,
- open(raw_key, "rb").read())
- if self.ssl.get("v3_only", False):
- method = OpenSSL.SSL.SSLv3_METHOD
- options = OpenSSL.SSL.OP_NO_SSLv2 | OpenSSL.SSL.OP_NO_TLSv1
- else:
- method = OpenSSL.SSL.SSLv23_METHOD
- options = None
- h.convert_to_ssl(
- cert, key,
- method=method,
- options=options,
- handle_sni=getattr(h, "handle_sni", None),
- request_client_cert=self.ssl.get("request_client_cert", None),
- cipher_list=self.ssl.get("cipher_list", None),
- dhparams=self.ssl.get("dhparams", None),
- chain_file=self.ssl.get("chain_file", None),
- alpn_select=self.ssl.get("alpn_select", None)
- )
- h.handle()
- h.finish()
-
- def handle_error(self, connection, client_address, fp=None):
- s = StringIO()
- tcp.TCPServer.handle_error(self, connection, client_address, s)
- self.q.put(s.getvalue())
diff --git a/test/websockets/test_websockets.py b/test/websockets/test_websockets.py
index 9a1e5d3d..d53f0d83 100644
--- a/test/websockets/test_websockets.py
+++ b/test/websockets/test_websockets.py
@@ -2,12 +2,11 @@ import os
from netlib.http.http1 import read_response, read_request
-from netlib import tcp, tutils, websockets, http
+from netlib import tcp, websockets, http, tutils, tservers
from netlib.http import status_codes
from netlib.tutils import treq
from netlib.exceptions import *
-from .. import tservers
class WebSocketsEchoHandler(tcp.BaseHandler):