aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_server.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-06-23 14:01:50 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-06-23 14:01:50 +1200
commit2c928181e841b25d5ae8d1390802900b4cc6834e (patch)
tree5bde55e614557f39821e269061e14516b39f3a54 /test/test_server.py
parent237e05c823958dc9ea50c648cc98bedc2ef305d3 (diff)
parente2069d52a81a2aef99dcd2da4fbc61e926b024a0 (diff)
downloadmitmproxy-2c928181e841b25d5ae8d1390802900b4cc6834e.tar.gz
mitmproxy-2c928181e841b25d5ae8d1390802900b4cc6834e.tar.bz2
mitmproxy-2c928181e841b25d5ae8d1390802900b4cc6834e.zip
Merge branch 'master' of ssh.github.com:mitmproxy/mitmproxy
Diffstat (limited to 'test/test_server.py')
-rw-r--r--test/test_server.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/test_server.py b/test/test_server.py
index 2ab48422..07b8a5f2 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -368,6 +368,55 @@ class TestReverse(tservers.ReverseProxTest, CommonMixin, TcpMixin):
reverse = True
+class TestSpoof(tservers.SpoofModeTest):
+ def test_http(self):
+ alist = (
+ ("localhost", self.server.port),
+ ("127.0.0.1", self.server.port)
+ )
+ for a in alist:
+ self.server.clear_log()
+ p = self.pathoc()
+ f = p.request("get:/p/304:h'Host'='%s:%s'" % a)
+ assert self.server.last_log()
+ assert f.status_code == 304
+ l = self.master.state.view[-1]
+ assert l.server_conn.address
+ assert l.server_conn.address.host == a[0]
+ assert l.server_conn.address.port == a[1]
+
+ def test_http_without_host(self):
+ p = self.pathoc()
+ f = p.request("get:/p/304:r")
+ assert f.status_code == 400
+
+
+class TestSSLSpoof(tservers.SSLSpoofModeTest):
+ def test_https(self):
+ alist = (
+ ("localhost", self.server.port),
+ ("127.0.0.1", self.server.port)
+ )
+ for a in alist:
+ self.server.clear_log()
+ self.config.mode.sslport = a[1]
+ p = self.pathoc(sni=a[0])
+ f = p.request("get:/p/304")
+ assert self.server.last_log()
+ assert f.status_code == 304
+ l = self.master.state.view[-1]
+ assert l.server_conn.address
+ assert l.server_conn.address.host == a[0]
+ assert l.server_conn.address.port == a[1]
+
+ def test_https_without_sni(self):
+ a = ("localhost", self.server.port)
+ self.config.mode.sslport = a[1]
+ p = self.pathoc(sni=None)
+ f = p.request("get:/p/304")
+ assert f.status_code == 400
+
+
class TestHttps2Http(tservers.ReverseProxTest):
@classmethod
def get_proxy_config(cls):