From: Travis Rhoden Date: Thu, 25 Jun 2015 23:14:31 +0000 (-0700) Subject: [RM-11742] Add argparse tests for ceph-deploy admin X-Git-Tag: v1.5.26~14^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6be3e0c5264ca2750a77ac1dbd4175502e51fd3c;p=ceph-deploy.git [RM-11742] Add argparse tests for ceph-deploy admin Signed-off-by: Travis Rhoden --- diff --git a/ceph_deploy/tests/parser/test_admin.py b/ceph_deploy/tests/parser/test_admin.py new file mode 100644 index 0000000..7b9be20 --- /dev/null +++ b/ceph_deploy/tests/parser/test_admin.py @@ -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