aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2017-05-01 18:29:59 +1200
committerAldo Cortesi <aldo@nullcube.com>2017-05-01 18:31:22 +1200
commit7d56ec9d49b534081d1b8d840c8339b10817b2cd (patch)
treee4315d917f1d4e2a66691c931fd046c33130f5cc /test
parent542a998174106e4ae88c70775bf1205d7bc36ddc (diff)
downloadmitmproxy-7d56ec9d49b534081d1b8d840c8339b10817b2cd.tar.gz
mitmproxy-7d56ec9d49b534081d1b8d840c8339b10817b2cd.tar.bz2
mitmproxy-7d56ec9d49b534081d1b8d840c8339b10817b2cd.zip
commands: flow.encode, flow.decode, flow.encode.toggle
Use this to bind "z" in flowview.
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/addons/test_core.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/mitmproxy/addons/test_core.py b/test/mitmproxy/addons/test_core.py
index 302b78ae..eaf0dfa0 100644
--- a/test/mitmproxy/addons/test_core.py
+++ b/test/mitmproxy/addons/test_core.py
@@ -100,3 +100,31 @@ def test_flow_set():
assert f.response.reason != "foo"
sa.flow_set([f], "reason", "foo")
assert f.response.reason == "foo"
+
+
+def test_encoding():
+ sa = core.Core()
+ with taddons.context():
+ f = tflow.tflow()
+ assert sa.encode_options()
+ sa.encode([f], "request", "deflate")
+ assert f.request.headers["content-encoding"] == "deflate"
+
+ sa.encode([f], "request", "br")
+ assert f.request.headers["content-encoding"] == "deflate"
+
+ sa.decode([f], "request")
+ assert "content-encoding" not in f.request.headers
+
+ sa.encode([f], "request", "br")
+ assert f.request.headers["content-encoding"] == "br"
+
+ sa.encode_toggle([f], "request")
+ assert "content-encoding" not in f.request.headers
+ sa.encode_toggle([f], "request")
+ assert f.request.headers["content-encoding"] == "deflate"
+ sa.encode_toggle([f], "request")
+ assert "content-encoding" not in f.request.headers
+
+ with pytest.raises(exceptions.CommandError):
+ sa.encode([f], "request", "invalid")