aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2013-04-19 17:19:26 -0700
committerAldo Cortesi <aldo@corte.si>2013-04-19 17:19:26 -0700
commit61c794e08f7b2359f3a7a7658840d3f26db25e16 (patch)
tree12cd35054aa1d87b15a7d7f3836f89c15342bf0a /test
parent793c41a5c475411df0ce8e24adec2219b6909934 (diff)
parentc6bf28f3f739fddb11b9d2dec25d0be87453ff3f (diff)
downloadmitmproxy-61c794e08f7b2359f3a7a7658840d3f26db25e16.tar.gz
mitmproxy-61c794e08f7b2359f3a7a7658840d3f26db25e16.tar.bz2
mitmproxy-61c794e08f7b2359f3a7a7658840d3f26db25e16.zip
Merge pull request #107 from rouli/master
Adding remote TCP and SSL setup timestamps
Diffstat (limited to 'test')
-rw-r--r--test/test_server.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/test_server.py b/test/test_server.py
index c20b0cea..6a88578c 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -277,7 +277,35 @@ class TestProxy(tservers.HTTPProxTest):
request = self.master.state.view[1].request
assert request.timestamp_end - request.timestamp_start <= 0.1
+ def test_request_tcp_setup_timestamp_presence(self):
+ # tests that the first request in a tcp connection has a tcp_setup_timestamp
+ # while others do not
+ connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ connection.connect(("localhost", self.proxy.port))
+ connection.send("GET http://localhost:%d/p/304:b@1k HTTP/1.1\r\n"%self.server.port)
+ connection.send("\r\n");
+ connection.recv(5000)
+ connection.send("GET http://localhost:%d/p/304:b@1k HTTP/1.1\r\n"%self.server.port)
+ connection.send("\r\n");
+ connection.recv(5000)
+ connection.close()
+
+ first_request = self.master.state.view[0].request
+ second_request = self.master.state.view[1].request
+ assert first_request.tcp_setup_timestamp
+ assert first_request.ssl_setup_timestamp == None
+ assert second_request.tcp_setup_timestamp == None
+ assert second_request.ssl_setup_timestamp == None
+
+class TestProxySSL(tservers.HTTPProxTest):
+ ssl=True
+ def test_request_ssl_setup_timestamp_presence(self):
+ # tests that the ssl timestamp is present when ssl is used
+ f = self.pathod("304:b@10k")
+ assert f.status_code == 304
+ first_request = self.master.state.view[0].request
+ assert first_request.ssl_setup_timestamp
class MasterFakeResponse(tservers.TestMaster):
def handle_request(self, m):