aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2013-03-02 15:06:49 +1300
committerAldo Cortesi <aldo@nullcube.com>2013-03-02 15:06:49 +1300
commita95d78438c7197b0b6643a61899914083de70da9 (patch)
tree9d603470aa91a4a570234cfeeeb3030f9fa5ae6b /test
parent10db82e9a030235ab884e70d1809ad6d673c2d13 (diff)
downloadmitmproxy-a95d78438c7197b0b6643a61899914083de70da9.tar.gz
mitmproxy-a95d78438c7197b0b6643a61899914083de70da9.tar.bz2
mitmproxy-a95d78438c7197b0b6643a61899914083de70da9.zip
Test SNI for transparent mode.
Diffstat (limited to 'test')
-rw-r--r--test/test_server.py6
-rw-r--r--test/tservers.py23
2 files changed, 18 insertions, 11 deletions
diff --git a/test/test_server.py b/test/test_server.py
index 244f972f..47bd56b1 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -160,6 +160,12 @@ class TestTransparent(tservers.TransparentProxTest, CommonMixin):
class TestTransparentSSL(tservers.TransparentProxTest, CommonMixin):
transparent = True
ssl = True
+ def test_sni(self):
+ 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 TestProxy(tservers.HTTPProxTest):
diff --git a/test/tservers.py b/test/tservers.py
index d1878f7a..12692369 100644
--- a/test/tservers.py
+++ b/test/tservers.py
@@ -172,23 +172,24 @@ class TransparentProxTest(ProxTestBase):
)
return d
- def pathod(self, spec):
+ def pathod(self, spec, sni=None):
"""
- Constructs a pathod request, with the appropriate base and proxy.
+ Constructs a pathod GET request, with the appropriate base and proxy.
"""
- r = hurl.get(
- "%s://127.0.0.1:%s"%(self.scheme, self.proxy.port) + "/p/" + spec,
- validate_cert=False,
- #debug=hurl.utils.stdout_debug
- )
- return r
+ if self.ssl:
+ p = self.pathoc(sni=sni)
+ q = "get:'/p/%s'"%spec
+ else:
+ p = self.pathoc()
+ q = "get:'/p/%s'"%spec
+ return p.request(q)
- def pathoc(self, connect= None):
+ def pathoc(self, sni=None):
"""
Returns a connected Pathoc instance.
"""
- p = libpathod.pathoc.Pathoc("localhost", self.proxy.port)
- p.connect(connect_to)
+ p = libpathod.pathoc.Pathoc("localhost", self.proxy.port, ssl=self.ssl, sni=sni)
+ p.connect()
return p