aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_cmdline.py56
-rw-r--r--test/tutils.py2
2 files changed, 57 insertions, 1 deletions
diff --git a/test/test_cmdline.py b/test/test_cmdline.py
new file mode 100644
index 00000000..d1c79d77
--- /dev/null
+++ b/test/test_cmdline.py
@@ -0,0 +1,56 @@
+from libpathod import cmdline
+import tutils
+import cStringIO
+import mock
+
+
+def test_pathod():
+ assert cmdline.args_pathod(["pathod"])
+
+
+@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", "-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(a.requests) == 1
+
+ tutils.raises(
+ SystemExit,
+ cmdline.args_pathoc,
+ ["pathoc", "foo.com", "invalid"],
+ s, s
+ )
diff --git a/test/tutils.py b/test/tutils.py
index 5876e5e6..c1e55a61 100644
--- a/test/tutils.py
+++ b/test/tutils.py
@@ -104,7 +104,7 @@ def raises(exc, obj, *args, **kwargs):
"""
try:
apply(obj, args, kwargs)
- except Exception, v:
+ except (Exception, SystemExit), v:
if isinstance(exc, basestring):
if exc.lower() in str(v).lower():
return