diff options
Diffstat (limited to 'test/test_cmdline.py')
-rw-r--r-- | test/test_cmdline.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/test/test_cmdline.py b/test/test_cmdline.py index dc93640f..03f230a6 100644 --- a/test/test_cmdline.py +++ b/test/test_cmdline.py @@ -4,6 +4,37 @@ from libmproxy import cmdline class uAll(libpry.AutoTree): + def test_parse_replace_hook(self): + x = cmdline.parse_replace_hook("/foo/bar/voing") + assert x == ("foo", "bar", "voing") + + x = cmdline.parse_replace_hook("/foo/bar/vo/ing/") + assert x == ("foo", "bar", "vo/ing/") + + x = cmdline.parse_replace_hook("/bar/voing") + assert x == (".*", "bar", "voing") + + libpry.raises( + cmdline.ParseReplaceException, + cmdline.parse_replace_hook, + "/foo" + ) + libpry.raises( + "replacement regex", + cmdline.parse_replace_hook, + "patt/[/rep" + ) + libpry.raises( + "filter pattern", + cmdline.parse_replace_hook, + "/~/foo/rep" + ) + libpry.raises( + "empty replacement regex", + cmdline.parse_replace_hook, + "//" + ) + def test_common(self): parser = optparse.OptionParser() cmdline.common_options(parser) @@ -25,6 +56,36 @@ class uAll(libpry.AutoTree): assert v["stickycookie"] == "foo" assert v["stickyauth"] == "foo" + opts.replace = ["/foo/bar/voing"] + v = cmdline.get_common_options(opts) + assert v["replacements"] == [("foo", "bar", "voing")] + + opts.replace = ["//"] + libpry.raises( + "empty replacement regex", + cmdline.get_common_options, + opts + ) + + opts.replace = [] + opts.replace_file = [("/foo/bar/nonexistent")] + libpry.raises( + "could not read replace file", + cmdline.get_common_options, + opts + ) + + opts.replace_file = [("/~/bar/nonexistent")] + libpry.raises( + "filter pattern", + cmdline.get_common_options, + opts + ) + + opts.replace_file = [("/foo/bar/./data/replace")] + v = cmdline.get_common_options(opts)["replacements"] + assert len(v) == 1 + assert v[0][2].strip() == "replacecontents" |