From: Travis Rhoden Date: Wed, 1 Jul 2015 21:01:40 +0000 (-0700) Subject: [RM-12150] Require at least one host for 'mon destroy' X-Git-Tag: v1.5.26~12^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=18e24607669148247b30601826fe332682c13d06;p=ceph-deploy.git [RM-12150] Require at least one host for 'mon destroy' Signed-off-by: Travis Rhoden --- diff --git a/ceph_deploy/mon.py b/ceph_deploy/mon.py index dd880ae..93ede58 100644 --- a/ceph_deploy/mon.py +++ b/ceph_deploy/mon.py @@ -511,7 +511,7 @@ def make(parser): ) mon_destroy.add_argument( 'mon', - nargs='*', + nargs='+', ) parser.set_defaults( diff --git a/ceph_deploy/tests/parser/test_mon.py b/ceph_deploy/tests/parser/test_mon.py index 00ec1cf..4c03101 100644 --- a/ceph_deploy/tests/parser/test_mon.py +++ b/ceph_deploy/tests/parser/test_mon.py @@ -2,7 +2,7 @@ import pytest from ceph_deploy.cli import get_parser -SUBCMDS_WITH_ARGS = ['add', 'destroy'] +SUBCMDS_WITH_ARGS = ['add', 'destroy', 'create'] SUBCMDS_WITHOUT_ARGS = ['create', 'create-initial'] @@ -19,18 +19,15 @@ class TestParserMON(object): assert 'positional arguments:' in out assert 'optional arguments:' in out - @pytest.mark.skipif(reason="http://tracker.ceph.com/issues/12150") @pytest.mark.parametrize('cmd', SUBCMDS_WITH_ARGS) def test_mon_valid_subcommands_with_args(self, cmd, capsys): - with pytest.raises(SystemExit): - self.parser.parse_args(['mon'] + ['%s' % cmd] + ['host1']) - out, err = capsys.readouterr() - assert 'too few arguments' in err - assert 'invalid choice' not in err + args = self.parser.parse_args(['mon'] + ['%s' % cmd] + ['host1']) + assert args.subcommand == cmd @pytest.mark.parametrize('cmd', SUBCMDS_WITHOUT_ARGS) def test_mon_valid_subcommands_without_args(self, cmd, capsys): - self.parser.parse_args(['mon'] + ['%s' % cmd]) + args = self.parser.parse_args(['mon'] + ['%s' % cmd]) + assert args.subcommand == cmd def test_mon_invalid_subcommand(self, capsys): with pytest.raises(SystemExit): @@ -111,7 +108,6 @@ class TestParserMON(object): out, err = capsys.readouterr() assert 'usage: ceph-deploy mon destroy' in out - @pytest.mark.skipif(reason="http://tracker.ceph.com/issues/12150") def test_mon_destroy_no_host_raises_err(self): with pytest.raises(SystemExit): self.parser.parse_args('mon destroy'.split())