diff options
author | madt1m <pietrotirenna.pt@gmail.com> | 2018-08-05 21:49:54 +0200 |
---|---|---|
committer | madt1m <pietrotirenna.pt@gmail.com> | 2018-08-05 21:57:55 +0200 |
commit | a52451900c71f48bb51d777522424d8ba6944f0b (patch) | |
tree | a0c5c4bf2f6627349b5a23477ec5e11d017e6100 /test | |
parent | e9c2b12dabddd8d5b26db7f877eb982859274263 (diff) | |
download | mitmproxy-a52451900c71f48bb51d777522424d8ba6944f0b.tar.gz mitmproxy-a52451900c71f48bb51d777522424d8ba6944f0b.tar.bz2 mitmproxy-a52451900c71f48bb51d777522424d8ba6944f0b.zip |
session: implemented changes requested after PR review.
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/addons/test_session.py | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/test/mitmproxy/addons/test_session.py b/test/mitmproxy/addons/test_session.py index 11a41a6a..20feb69d 100644 --- a/test/mitmproxy/addons/test_session.py +++ b/test/mitmproxy/addons/test_session.py @@ -28,8 +28,10 @@ class TestSession: tctx.master.addons.add(s) tctx.options.session_path = None tctx.options.view_filter = None + # To make tests quicker if fp: s._flush_period = fp + s._FP_DEFAULT = fp s.running() return s @@ -85,21 +87,11 @@ class TestSession: def test_session_order_generators(self): s = session.Session() tf = tflow.tflow(resp=True) - - s.order = "time" - assert s._generate_order(tf) == 946681200 - - s.order = "method" - assert s._generate_order(tf) == tf.request.method - - s.order = "url" - assert s._generate_order(tf) == tf.request.url - - s.order = "size" - assert s._generate_order(tf) == len(tf.request.raw_content) + len(tf.response.raw_content) - - s.order = "invalid" - assert not s._generate_order(tf) + assert s._generate_order('time', tf) == 946681200 + assert s._generate_order('method', tf) == tf.request.method + assert s._generate_order('url', tf) == tf.request.url + assert s._generate_order('size', tf) == len(tf.request.raw_content) + len(tf.response.raw_content) + assert not s._generate_order('invalid', tf) def test_storage_simple(self): s = session.Session() @@ -110,8 +102,12 @@ class TestSession: assert s.store_count() == 0 s.request(f) assert s._view == [(1, f.id)] + assert s._order_store[f.id]['time'] == 1 + assert s._order_store[f.id]['method'] == f.request.method + assert s._order_store[f.id]['url'] == f.request.url + assert s._order_store[f.id]['size'] == len(f.request.raw_content) assert s.load_view() == [f] - assert s.load_storage(['nonexistent']) == [None] + assert s.load_storage(['nonexistent']) == [] s.error(f) s.response(f) @@ -121,6 +117,10 @@ class TestSession: # Verify that flow has been updated, not duplicated assert s._view == [(1, f.id)] + assert s._order_store[f.id]['time'] == 1 + assert s._order_store[f.id]['method'] == f.request.method + assert s._order_store[f.id]['url'] == f.request.url + assert s._order_store[f.id]['size'] == len(f.request.raw_content) assert s.store_count() == 1 f2 = self.tft(start=3) @@ -174,16 +174,16 @@ class TestSession: f.server_conn.via = tflow.tserver_conn() s.request(f) - await asyncio.sleep(1) + await asyncio.sleep(0.6) assert len(s._hot_store) == 0 assert all([lflow.__dict__ == flow.__dict__ for lflow, flow in list(zip(s.load_storage(), [f]))]) flows = [self.tft() for _ in range(500)] s.update(flows) - fp = s._flush_period - fr = s._flush_rate await asyncio.sleep(0.6) - assert s._flush_period < fp and s._flush_rate > fr + assert s._flush_period == s._FP_DEFAULT * s._FP_DECREMENT + await asyncio.sleep(3) + assert s._flush_period == s._FP_DEFAULT @pytest.mark.asyncio async def test_storage_bodies(self): |