aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorRouli <rouli.net@gmail.com>2013-03-19 18:21:52 +0200
committerRouli <rouli.net@gmail.com>2013-03-19 18:21:52 +0200
commitc6bf28f3f739fddb11b9d2dec25d0be87453ff3f (patch)
tree82fac25db19effab02049d176289e09098595956 /test
parentc94aadcb0ee5e7aab8acc46a0e4ac7d02a28df6f (diff)
downloadmitmproxy-c6bf28f3f739fddb11b9d2dec25d0be87453ff3f.tar.gz
mitmproxy-c6bf28f3f739fddb11b9d2dec25d0be87453ff3f.tar.bz2
mitmproxy-c6bf28f3f739fddb11b9d2dec25d0be87453ff3f.zip
adding tcp and ssl setup timestamps to get better resolution on flows performance
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 f12fbcee..fbd5af39 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -267,7 +267,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):