aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_flow.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2013-12-08 01:14:12 -0800
committerAldo Cortesi <aldo@corte.si>2013-12-08 01:14:12 -0800
commit3a1d85ab18dbff82505feac3619af733a0a2b4f7 (patch)
treeb61bb99ae8e34f73583263619730fbbe5d526161 /test/test_flow.py
parent73791f986a4b4dabd984b7fa7891801d71ab52dc (diff)
parentb4f6f09c83faf54c4c1493e18ba11d0257ca841b (diff)
downloadmitmproxy-3a1d85ab18dbff82505feac3619af733a0a2b4f7.tar.gz
mitmproxy-3a1d85ab18dbff82505feac3619af733a0a2b4f7.tar.bz2
mitmproxy-3a1d85ab18dbff82505feac3619af733a0a2b4f7.zip
Merge pull request #134 from mhils/scripts_improvements
Support multiple scripts and script arguments. refs #76
Diffstat (limited to 'test/test_flow.py')
-rw-r--r--test/test_flow.py21
1 files changed, 15 insertions, 6 deletions
diff --git a/test/test_flow.py b/test/test_flow.py
index 32cfb0ca..68aa14cd 100644
--- a/test/test_flow.py
+++ b/test/test_flow.py
@@ -544,9 +544,11 @@ class TestFlowMaster:
fm = flow.FlowMaster(None, s)
assert not fm.load_script(tutils.test_data.path("scripts/a.py"))
assert not fm.load_script(tutils.test_data.path("scripts/a.py"))
- assert not fm.load_script(None)
+ assert not fm.unload_script(fm.scripts[0])
+ assert not fm.unload_script(fm.scripts[0])
assert fm.load_script("nonexistent")
assert "ValueError" in fm.load_script(tutils.test_data.path("scripts/starterr.py"))
+ assert len(fm.scripts) == 0
def test_replay(self):
s = flow.State()
@@ -572,20 +574,27 @@ class TestFlowMaster:
assert not fm.load_script(tutils.test_data.path("scripts/all.py"))
req = tutils.treq()
fm.handle_clientconnect(req.client_conn)
- assert fm.script.ns["log"][-1] == "clientconnect"
+ assert fm.scripts[0].ns["log"][-1] == "clientconnect"
f = fm.handle_request(req)
- assert fm.script.ns["log"][-1] == "request"
+ assert fm.scripts[0].ns["log"][-1] == "request"
resp = tutils.tresp(req)
fm.handle_response(resp)
- assert fm.script.ns["log"][-1] == "response"
+ assert fm.scripts[0].ns["log"][-1] == "response"
+ #load second script
+ assert not fm.load_script(tutils.test_data.path("scripts/all.py"))
+ assert len(fm.scripts) == 2
dc = flow.ClientDisconnect(req.client_conn)
dc.reply = controller.DummyReply()
fm.handle_clientdisconnect(dc)
- assert fm.script.ns["log"][-1] == "clientdisconnect"
+ assert fm.scripts[0].ns["log"][-1] == "clientdisconnect"
+ assert fm.scripts[1].ns["log"][-1] == "clientdisconnect"
+ #unload first script
+ fm.unload_script(fm.scripts[0])
+ assert len(fm.scripts) == 1
err = flow.Error(f.request, "msg")
err.reply = controller.DummyReply()
fm.handle_error(err)
- assert fm.script.ns["log"][-1] == "error"
+ assert fm.scripts[0].ns["log"][-1] == "error"
def test_duplicate_flow(self):
s = flow.State()