Merge "Fixes CLI client called without subcommands"

This commit is contained in:
Jenkins
2015-09-11 15:22:50 +00:00
committed by Gerrit Code Review
2 changed files with 10 additions and 2 deletions
+3 -2
View File
@@ -717,7 +717,7 @@ class OpenStackImagesShell(object):
help='Display help for <subcommand>.')
def do_help(self, args, parser):
"""Display help about this program or one of its subcommands."""
command = getattr(args, 'command') or ''
command = getattr(args, 'command', '')
if command:
if args.command in self.subcommands:
@@ -725,13 +725,14 @@ class OpenStackImagesShell(object):
else:
raise exc.CommandError("'%s' is not a valid subcommand" %
args.command)
command = ' ' + command
else:
parser.print_help()
if not args.os_image_api_version or args.os_image_api_version == '2':
print()
print(("Run `glance --os-image-api-version 1 help%s` "
"for v1 help") % (' ' + command))
"for v1 help") % command)
def do_bash_completion(self, _args):
"""Prints arguments for bash_completion.
+7
View File
@@ -158,6 +158,13 @@ class ShellTest(testutils.TestCase):
self.assertEqual(0, actual)
self.assertFalse(et_mock.called)
def test_blank_call(self):
shell = openstack_shell.OpenStackImagesShell()
with mock.patch.object(shell, '_get_endpoint_and_token') as et_mock:
actual = shell.main('')
self.assertEqual(0, actual)
self.assertFalse(et_mock.called)
def test_help_on_subcommand_error(self):
self.assertRaises(exc.CommandError, shell,
'--os-image-api-version 2 help bad')