diff --git a/glanceclient/shell.py b/glanceclient/shell.py index 065e9d67..faa014c6 100755 --- a/glanceclient/shell.py +++ b/glanceclient/shell.py @@ -717,7 +717,7 @@ class OpenStackImagesShell(object): help='Display help for .') 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. diff --git a/glanceclient/tests/unit/test_shell.py b/glanceclient/tests/unit/test_shell.py index 9ede51ea..6c374624 100644 --- a/glanceclient/tests/unit/test_shell.py +++ b/glanceclient/tests/unit/test_shell.py @@ -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')