aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2017-05-01 14:56:57 +1200
committerAldo Cortesi <aldo@nullcube.com>2017-05-01 14:56:57 +1200
commit670d1e408b565f673ebb2c5d498ad5ddf4558d8b (patch)
tree1771fc73485c2e74883fee574c5f79d51474837e /test
parent46373977e24fd10a5882d935bab734f300e5f9ee (diff)
downloadmitmproxy-670d1e408b565f673ebb2c5d498ad5ddf4558d8b.tar.gz
mitmproxy-670d1e408b565f673ebb2c5d498ad5ddf4558d8b.tar.bz2
mitmproxy-670d1e408b565f673ebb2c5d498ad5ddf4558d8b.zip
command: flow.set
Use this to replace the flow edit components of flowview entirely.
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/addons/test_core.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/mitmproxy/addons/test_core.py b/test/mitmproxy/addons/test_core.py
index 64d0fa19..302b78ae 100644
--- a/test/mitmproxy/addons/test_core.py
+++ b/test/mitmproxy/addons/test_core.py
@@ -61,3 +61,42 @@ def test_revert():
assert f.modified()
sa.revert([f])
assert not f.modified()
+
+
+def test_flow_set():
+ sa = core.Core()
+ with taddons.context():
+ f = tflow.tflow(resp=True)
+ assert sa.flow_set_options()
+
+ with pytest.raises(exceptions.CommandError):
+ sa.flow_set([f], "flibble", "post")
+
+ assert f.request.method != "post"
+ sa.flow_set([f], "method", "post")
+ assert f.request.method == "POST"
+
+ assert f.request.host != "testhost"
+ sa.flow_set([f], "host", "testhost")
+ assert f.request.host == "testhost"
+
+ assert f.request.path != "/test/path"
+ sa.flow_set([f], "path", "/test/path")
+ assert f.request.path == "/test/path"
+
+ assert f.request.url != "http://foo.com/bar"
+ sa.flow_set([f], "url", "http://foo.com/bar")
+ assert f.request.url == "http://foo.com/bar"
+ with pytest.raises(exceptions.CommandError):
+ sa.flow_set([f], "url", "oink")
+
+ assert f.response.status_code != 404
+ sa.flow_set([f], "status_code", "404")
+ assert f.response.status_code == 404
+ assert f.response.reason == "Not Found"
+ with pytest.raises(exceptions.CommandError):
+ sa.flow_set([f], "status_code", "oink")
+
+ assert f.response.reason != "foo"
+ sa.flow_set([f], "reason", "foo")
+ assert f.response.reason == "foo"