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

diff --git a/ceph_deploy/tests/parser/test_calamari.py b/ceph_deploy/tests/parser/test_calamari.py
new file mode 100644 (file)
index 0000000..509cb7c
--- /dev/null
@@ -0,0 +1,40 @@
+import pytest
+
+from ceph_deploy.cli import get_parser
+
+
+class TestParserCalamari(object):
+
+    def setup(self):
+        self.parser = get_parser()
+
+    def test_calamari_help(self, capsys):
+        with pytest.raises(SystemExit):
+            self.parser.parse_args('calamari --help'.split())
+        out, err = capsys.readouterr()
+        assert 'usage: ceph-deploy calamari' in out
+        assert 'positional arguments:' in out
+        assert 'optional arguments:' in out
+
+    def test_calamari_connect_host_required(self, capsys):
+        with pytest.raises(SystemExit):
+            self.parser.parse_args('calamari connect'.split())
+        out, err = capsys.readouterr()
+        assert "error: too few arguments" in err
+
+    def test_calamari_connect_one_host(self):
+        args = self.parser.parse_args('calamari connect host1'.split())
+        assert args.hosts == ['host1']
+
+    def test_calamari_connect_multiple_hosts(self):
+        hostnames = ['host1', 'host2', 'host3']
+        args = self.parser.parse_args('calamari connect'.split() + hostnames)
+        assert args.hosts == hostnames
+
+    def test_calamari_connect_master_default_is_none(self):
+        args = self.parser.parse_args('calamari connect host1'.split())
+        assert args.master is None
+
+    def test_calamari_connect_master_custom(self):
+        args = self.parser.parse_args('calamari connect --master master.ceph.com host1'.split())
+        assert args.master == "master.ceph.com"