aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-07-13 23:45:49 +1200
committerAldo Cortesi <aldo@nullcube.com>2016-07-13 23:45:49 +1200
commit255e1eb00b76f169305d7c4ae3bba91403f3f924 (patch)
treec71a9a1ddf4a373a8a0c796c78a2aefecf111ea4 /test
parent1f72532caeb38207207b6b2310ca9ca3b8b9c512 (diff)
downloadmitmproxy-255e1eb00b76f169305d7c4ae3bba91403f3f924.tar.gz
mitmproxy-255e1eb00b76f169305d7c4ae3bba91403f3f924.tar.bz2
mitmproxy-255e1eb00b76f169305d7c4ae3bba91403f3f924.zip
Add the addons mechanism
Demonstrate how it works and interacts with Options by adding our first new builtin: anticomp.
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/builtins/__init__.py0
-rw-r--r--test/mitmproxy/builtins/test_anticomp.py22
-rw-r--r--test/mitmproxy/mastertest.py8
-rw-r--r--test/mitmproxy/test_flow.py1
4 files changed, 29 insertions, 2 deletions
diff --git a/test/mitmproxy/builtins/__init__.py b/test/mitmproxy/builtins/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/test/mitmproxy/builtins/__init__.py
diff --git a/test/mitmproxy/builtins/test_anticomp.py b/test/mitmproxy/builtins/test_anticomp.py
new file mode 100644
index 00000000..6bfd54bb
--- /dev/null
+++ b/test/mitmproxy/builtins/test_anticomp.py
@@ -0,0 +1,22 @@
+from .. import tutils, mastertest
+from mitmproxy.builtins import anticomp
+from mitmproxy.flow import master
+from mitmproxy.flow import state
+from mitmproxy import options
+
+
+class TestAntiComp(mastertest.MasterTest):
+ def test_simple(self):
+ s = state.State()
+ m = master.FlowMaster(options.Options(anticomp = True), None, s)
+ sa = anticomp.AntiComp()
+ m.addons.add(sa)
+
+ f = tutils.tflow(resp=True)
+ self.invoke(m, "request", f)
+
+ f = tutils.tflow(resp=True)
+
+ f.request.headers["Accept-Encoding"] = "foobar"
+ self.invoke(m, "request", f)
+ assert f.request.headers["Accept-Encoding"] == "identity"
diff --git a/test/mitmproxy/mastertest.py b/test/mitmproxy/mastertest.py
index 9e726a32..06854e25 100644
--- a/test/mitmproxy/mastertest.py
+++ b/test/mitmproxy/mastertest.py
@@ -3,10 +3,16 @@ import mock
from . import tutils
import netlib.tutils
-from mitmproxy import flow, proxy, models
+from mitmproxy import flow, proxy, models, controller
class MasterTest:
+ def invoke(self, master, handler, message):
+ with master.handlecontext():
+ func = getattr(master, handler)
+ func(message)
+ message.reply = controller.DummyReply()
+
def cycle(self, master, content):
f = tutils.tflow(req=netlib.tutils.treq(content=content))
l = proxy.Log("connect")
diff --git a/test/mitmproxy/test_flow.py b/test/mitmproxy/test_flow.py
index eda01ad9..6b270872 100644
--- a/test/mitmproxy/test_flow.py
+++ b/test/mitmproxy/test_flow.py
@@ -870,7 +870,6 @@ class TestFlowMaster:
s = flow.State()
fm = flow.FlowMaster(None, None, s)
fm.anticache = True
- fm.anticomp = True
f = tutils.tflow(req=None)
fm.clientconnect(f.client_conn)
f.request = HTTPRequest.wrap(netlib.tutils.treq())