diff options
Diffstat (limited to 'test/mitmproxy/builtins/test_replace.py')
-rw-r--r-- | test/mitmproxy/builtins/test_replace.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/mitmproxy/builtins/test_replace.py b/test/mitmproxy/builtins/test_replace.py new file mode 100644 index 00000000..f8010bec --- /dev/null +++ b/test/mitmproxy/builtins/test_replace.py @@ -0,0 +1,52 @@ +from .. import tutils, mastertest +from mitmproxy.builtins import replace +from mitmproxy.flow import master +from mitmproxy.flow import state +from mitmproxy.flow import options + + +class TestReplace(mastertest.MasterTest): + def test_configure(self): + r = replace.Replace() + r.configure(options.Options( + replacements=[("one", "two", "three")] + )) + tutils.raises( + "invalid filter pattern", + r.configure, + options.Options( + replacements=[("~b", "two", "three")] + ) + ) + tutils.raises( + "invalid regular expression", + r.configure, + options.Options( + replacements=[("foo", "+", "three")] + ) + ) + + def test_simple(self): + s = state.State() + m = master.FlowMaster( + options.Options( + replacements = [ + ("~q", "foo", "bar"), + ("~s", "foo", "bar"), + ] + ), + None, + s + ) + sa = replace.Replace() + m.addons.add(sa) + + f = tutils.tflow() + f.request.content = b"foo" + self.invoke(m, "request", f) + assert f.request.content == b"bar" + + f = tutils.tflow(resp=True) + f.response.content = b"foo" + self.invoke(m, "response", f) + assert f.response.content == b"bar" |