aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorTerry Long <macmantrl@me.com>2015-03-28 00:10:24 -0700
committerTerry Long <macmantrl@me.com>2015-07-03 07:55:37 -0700
commit4c50c36345761f2b012c52bff230bdc5347f3d66 (patch)
treec1473e84a57adadb7d2322e65cc75eb848eff2c6 /test
parent4c831992aabae6bb99109d4a7abc1d7a2fb1d611 (diff)
downloadmitmproxy-4c50c36345761f2b012c52bff230bdc5347f3d66.tar.gz
mitmproxy-4c50c36345761f2b012c52bff230bdc5347f3d66.tar.bz2
mitmproxy-4c50c36345761f2b012c52bff230bdc5347f3d66.zip
Prevent unecessary upstream server connects
Selectively connect to upstream server based on no_upstream_cert option. When no_upstream_cert is used during server replay, prevent connecting to the upstream server unless absolutely necessary.
Diffstat (limited to 'test')
-rw-r--r--test/test_server.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/test_server.py b/test/test_server.py
index 2805e936..9df4ef82 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -800,6 +800,17 @@ class TestFakeResponse(tservers.HTTPProxTest):
assert "header_response" in f.headers.keys()
+class TestServerConnect(tservers.HTTPProxTest):
+ masterclass = MasterFakeResponse
+ no_upstream_cert = True
+ ssl = True
+ def test_unnecessary_serverconnect(self):
+ """A replayed/fake response with no_upstream_cert should not connect to an upstream server"""
+ assert self.pathod("200").status_code == 200
+ for msg in self.proxy.tmaster.log:
+ assert "serverconnect" not in msg
+
+
class MasterKillRequest(tservers.TestMaster):
def handle_request(self, f):
f.reply(KILL)