aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_pathoc_cmdline.py
diff options
context:
space:
mode:
authorThomas Kriechbaumer <thomas@kriechbaumer.name>2015-06-08 16:03:33 +0200
committerThomas Kriechbaumer <thomas@kriechbaumer.name>2015-06-15 15:50:44 +0200
commit18a4456397d0b4b1275ac2c8ab393d041176e949 (patch)
tree538f54756665f50143e75615b88575646d2ed204 /test/test_pathoc_cmdline.py
parent9ececa637d69ee3991fbc82f3cd64ae781a86f5d (diff)
downloadmitmproxy-18a4456397d0b4b1275ac2c8ab393d041176e949.tar.gz
mitmproxy-18a4456397d0b4b1275ac2c8ab393d041176e949.tar.bz2
mitmproxy-18a4456397d0b4b1275ac2c8ab393d041176e949.zip
refactor cmdline tests
Diffstat (limited to 'test/test_pathoc_cmdline.py')
-rw-r--r--test/test_pathoc_cmdline.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/test/test_pathoc_cmdline.py b/test/test_pathoc_cmdline.py
new file mode 100644
index 00000000..03c83844
--- /dev/null
+++ b/test/test_pathoc_cmdline.py
@@ -0,0 +1,62 @@
+from libpathod import pathoc_cmdline as cmdline
+import tutils
+import cStringIO
+import mock
+
+
+@mock.patch("argparse.ArgumentParser.error")
+def test_pathoc(perror):
+ assert cmdline.args_pathoc(["pathoc", "foo.com", "get:/"])
+ s = cStringIO.StringIO()
+ tutils.raises(
+ SystemExit, cmdline.args_pathoc, [
+ "pathoc", "--show-uas"], s, s)
+
+ a = cmdline.args_pathoc(["pathoc", "foo.com:8888", "get:/"])
+ assert a.port == 8888
+
+ a = cmdline.args_pathoc(["pathoc", "foo.com:xxx", "get:/"])
+ assert perror.called
+ perror.reset_mock()
+
+ a = cmdline.args_pathoc(["pathoc", "-I", "10, 20", "foo.com:8888", "get:/"])
+ assert a.ignorecodes == [10, 20]
+
+ a = cmdline.args_pathoc(["pathoc", "-I", "xx, 20", "foo.com:8888", "get:/"])
+ assert perror.called
+ perror.reset_mock()
+
+ a = cmdline.args_pathoc(["pathoc", "-c", "foo:10", "foo.com:8888", "get:/"])
+ assert a.connect_to == ["foo", 10]
+
+ a = cmdline.args_pathoc(["pathoc", "foo.com", "get:/", "--http2"])
+ assert a.use_http2 == True
+
+ a = cmdline.args_pathoc(["pathoc", "foo.com", "get:/", "--http2-skip-connection-preface"])
+ assert a.use_http2 == True
+ assert a.http2_skip_connection_preface == True
+
+ a = cmdline.args_pathoc(["pathoc", "-c", "foo", "foo.com:8888", "get:/"])
+ assert perror.called
+ perror.reset_mock()
+
+ a = cmdline.args_pathoc(
+ ["pathoc", "-c", "foo:bar", "foo.com:8888", "get:/"])
+ assert perror.called
+ perror.reset_mock()
+
+ a = cmdline.args_pathoc(
+ [
+ "pathoc",
+ "foo.com:8888",
+ tutils.test_data.path("data/request")
+ ]
+ )
+ assert len(list(a.requests)) == 1
+
+ tutils.raises(
+ SystemExit,
+ cmdline.args_pathoc,
+ ["pathoc", "foo.com", "invalid"],
+ s, s
+ )