]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-deploy.git/commitdiff
[RM-11742] Add argparse tests for ceph-deploy admin
authorTravis Rhoden <trhoden@redhat.com>
Thu, 25 Jun 2015 23:14:31 +0000 (16:14 -0700)
committerTravis Rhoden <trhoden@redhat.com>
Thu, 25 Jun 2015 23:14:31 +0000 (16:14 -0700)
Signed-off-by: Travis Rhoden <trhoden@redhat.com>
ceph_deploy/tests/parser/test_admin.py [new file with mode: 0644]

diff --git a/ceph_deploy/tests/parser/test_admin.py b/ceph_deploy/tests/parser/test_admin.py
new file mode 100644 (file)
index 0000000..7b9be20
--- /dev/null
@@ -0,0 +1,32 @@
+import pytest
+
+from ceph_deploy.cli import get_parser
+
+
+class TestParserAdmin(object):
+
+    def setup(self):
+        self.parser = get_parser()
+
+    def test_admin_help(self, capsys):
+        with pytest.raises(SystemExit):
+            self.parser.parse_args('admin --help'.split())
+        out, err = capsys.readouterr()
+        assert 'usage: ceph-deploy admin' in out
+        assert 'positional arguments:' in out
+        assert 'optional arguments:' in out
+
+    def test_admin_host_required(self, capsys):
+        with pytest.raises(SystemExit):
+            self.parser.parse_args('admin'.split())
+        out, err = capsys.readouterr()
+        assert "error: too few arguments" in err
+
+    def test_admin_one_host(self):
+        args = self.parser.parse_args('admin host1'.split())
+        assert args.client == ['host1']
+
+    def test_admin_multiple_hosts(self):
+        hostnames = ['host1', 'host2', 'host3']
+        args = self.parser.parse_args(['admin'] + hostnames)
+        assert args.client == hostnames