aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_server.py6
-rw-r--r--test/tservers.py16
2 files changed, 16 insertions, 6 deletions
diff --git a/test/test_server.py b/test/test_server.py
index 466c0f94..244f972f 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -131,10 +131,14 @@ class TestHTTPS(tservers.HTTPProxTest, CommonMixin):
clientcerts = True
def test_clientcert(self):
f = self.pathod("304")
+ assert f.status_code == 304
assert self.server.last_log()["request"]["clientcert"]["keyinfo"]
def test_sni(self):
- pass
+ f = self.pathod("304", sni="testserver.com")
+ assert f.status_code == 304
+ l = self.server.last_log()
+ assert self.server.last_log()["request"]["sni"] == "testserver.com"
class TestHTTPSCertfile(tservers.HTTPProxTest, CommonMixin):
diff --git a/test/tservers.py b/test/tservers.py
index c8bc7100..d1878f7a 100644
--- a/test/tservers.py
+++ b/test/tservers.py
@@ -28,7 +28,7 @@ class TestMaster(flow.FlowMaster):
state = flow.State()
flow.FlowMaster.__init__(self, s, state)
self.testq = testq
- self.log = []
+ self.clear_log()
def handle_request(self, m):
flow.FlowMaster.handle_request(self, m)
@@ -38,6 +38,9 @@ class TestMaster(flow.FlowMaster):
flow.FlowMaster.handle_response(self, m)
m.reply()
+ def clear_log(self):
+ self.log = []
+
def handle_log(self, l):
self.log.append(l.msg)
l.reply()
@@ -96,7 +99,10 @@ class ProxTestBase:
cls.server2.shutdown()
def setUp(self):
+ self.master.clear_log()
self.master.state.clear()
+ self.server.clear_log()
+ self.server2.clear_log()
@property
def scheme(self):
@@ -122,20 +128,20 @@ class ProxTestBase:
class HTTPProxTest(ProxTestBase):
- def pathoc(self, connect_to = None):
+ def pathoc(self, connect_to = None, sni=None):
"""
Returns a connected Pathoc instance.
"""
- p = libpathod.pathoc.Pathoc("localhost", self.proxy.port, ssl=self.ssl)
+ p = libpathod.pathoc.Pathoc("localhost", self.proxy.port, ssl=self.ssl, sni=sni)
p.connect(connect_to)
return p
- def pathod(self, spec):
+ def pathod(self, spec, sni=None):
"""
Constructs a pathod GET request, with the appropriate base and proxy.
"""
if self.ssl:
- p = self.pathoc(("127.0.0.1", self.server.port))
+ p = self.pathoc(("127.0.0.1", self.server.port), sni=sni)
q = "get:'/p/%s'"%spec
else:
p = self.pathoc()