Enable gating on H904 and fix existing violations
Change-Id: I444bffec8638b91cb632d41221089762c03716de
This commit is contained in:
parent
da3fed4b5d
commit
1edd56e3de
3
tox.ini
3
tox.ini
@ -29,8 +29,7 @@ downloadcache = ~/cache/pip
|
|||||||
# H302 - ignored because it interferes more than it helps, and uses
|
# H302 - ignored because it interferes more than it helps, and uses
|
||||||
# suspect methods in its implementation anyway.
|
# suspect methods in its implementation anyway.
|
||||||
# H405 multi line docstring summary not separated with an empty line
|
# H405 multi line docstring summary not separated with an empty line
|
||||||
# H904 Wrap long lines in parentheses instead of a backslash
|
|
||||||
[flake8]
|
[flake8]
|
||||||
ignore = H302,H405,H904
|
ignore = H302,H405
|
||||||
show-source = True
|
show-source = True
|
||||||
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
|
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build
|
||||||
|
@ -87,12 +87,12 @@ def find_resource(manager, name_or_id):
|
|||||||
|
|
||||||
num_matches = len(matches)
|
num_matches = len(matches)
|
||||||
if num_matches == 0:
|
if num_matches == 0:
|
||||||
msg = "No %s with name '%s' exists." % \
|
msg = "No %s with name '%s' exists." % (
|
||||||
(manager.resource_class.__name__.lower(), name_or_id)
|
manager.resource_class.__name__.lower(), name_or_id)
|
||||||
raise exc.CommandError(msg)
|
raise exc.CommandError(msg)
|
||||||
elif num_matches > 1:
|
elif num_matches > 1:
|
||||||
msg = "Multiple instances of %s with name '%s' exist." % \
|
msg = "Multiple instances of %s with name '%s' exist." % (
|
||||||
(manager.resource_class.__name__.lower(), name_or_id)
|
manager.resource_class.__name__.lower(), name_or_id)
|
||||||
raise exc.CommandError(msg)
|
raise exc.CommandError(msg)
|
||||||
|
|
||||||
return matches[0]
|
return matches[0]
|
||||||
|
@ -45,17 +45,17 @@ class TuskarShell(object):
|
|||||||
|
|
||||||
def _prepare_parsers(self):
|
def _prepare_parsers(self):
|
||||||
nonversioned_parser = self._nonversioned_parser()
|
nonversioned_parser = self._nonversioned_parser()
|
||||||
self.partial_args =\
|
self.partial_args = (
|
||||||
nonversioned_parser.parse_known_args(self.raw_args)[0]
|
nonversioned_parser.parse_known_args(self.raw_args)[0])
|
||||||
self.parser, self.subparsers =\
|
self.parser, self.subparsers = (
|
||||||
self._parser(self.partial_args.tuskar_api_version)
|
self._parser(self.partial_args.tuskar_api_version))
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
'''Run the CLI. Parse arguments and do the respective action.'''
|
'''Run the CLI. Parse arguments and do the respective action.'''
|
||||||
|
|
||||||
# run self.do_help() if we have no raw_args at all or just -h/--help
|
# run self.do_help() if we have no raw_args at all or just -h/--help
|
||||||
if not self.raw_args\
|
if (not self.raw_args
|
||||||
or self.raw_args in (['-h'], ['--help']):
|
or self.raw_args in (['-h'], ['--help'])):
|
||||||
self.do_help(self.partial_args)
|
self.do_help(self.partial_args)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@ -356,8 +356,8 @@ class ClientClientTest(tutils.TestCase):
|
|||||||
'any_other_key': 'any_other_value',
|
'any_other_key': 'any_other_value',
|
||||||
}
|
}
|
||||||
mocked_client_class = mock.MagicMock()
|
mocked_client_class = mock.MagicMock()
|
||||||
mocked_import_versioned_module.return_value.Client = \
|
mocked_import_versioned_module.return_value.Client = (
|
||||||
mocked_client_class
|
mocked_client_class)
|
||||||
client.Client(api_version, *args, **kwargs)
|
client.Client(api_version, *args, **kwargs)
|
||||||
mocked_import_versioned_module.assert_called_with(
|
mocked_import_versioned_module.assert_called_with(
|
||||||
api_version,
|
api_version,
|
||||||
|
@ -81,10 +81,8 @@ class HttpClientRawRequestTest(tutils.TestCase):
|
|||||||
self.client.raw_request(provided_method,
|
self.client.raw_request(provided_method,
|
||||||
provided_url,
|
provided_url,
|
||||||
**provided_args)
|
**provided_args)
|
||||||
self.client._http_request.\
|
self.client._http_request.assert_called_once_with(
|
||||||
assert_called_once_with(expected_url,
|
expected_url, expected_method, **expected_args)
|
||||||
expected_method,
|
|
||||||
**expected_args)
|
|
||||||
|
|
||||||
def test_raw_request_set_default_headers_with_empty_kwargs(self):
|
def test_raw_request_set_default_headers_with_empty_kwargs(self):
|
||||||
args = self.call_args.copy()
|
args = self.call_args.copy()
|
||||||
|
@ -175,8 +175,8 @@ class CommandOutputMissingMismatch(object):
|
|||||||
self.out_inc = out_inc
|
self.out_inc = out_inc
|
||||||
|
|
||||||
def describe(self):
|
def describe(self):
|
||||||
return "%s '%s' should contain '%s'"\
|
return "%s '%s' should contain '%s'" % (
|
||||||
% (self.type, self.out, self.out_inc)
|
self.type, self.out, self.out_inc)
|
||||||
|
|
||||||
def get_details(self):
|
def get_details(self):
|
||||||
return {}
|
return {}
|
||||||
@ -192,8 +192,8 @@ class CommandOutputExtraMismatch(object):
|
|||||||
self.out_exc = out_exc
|
self.out_exc = out_exc
|
||||||
|
|
||||||
def describe(self):
|
def describe(self):
|
||||||
return "%s '%s' should not contain '%s'"\
|
return "%s '%s' should not contain '%s'" % (
|
||||||
% (self.type, self.out, self.out_exc)
|
self.type, self.out, self.out_exc)
|
||||||
|
|
||||||
def get_details(self):
|
def get_details(self):
|
||||||
return {}
|
return {}
|
||||||
@ -205,8 +205,8 @@ class CommandOutputReturnCodeMismatch(object):
|
|||||||
self.ret_exp = ret_exp
|
self.ret_exp = ret_exp
|
||||||
|
|
||||||
def describe(self):
|
def describe(self):
|
||||||
return "Return code is '%s' but expected '%s'"\
|
return "Return code is '%s' but expected '%s'" % (
|
||||||
% (self.ret, self.ret_exp)
|
self.ret, self.ret_exp)
|
||||||
|
|
||||||
def get_details(self):
|
def get_details(self):
|
||||||
return {}
|
return {}
|
||||||
|
@ -195,8 +195,9 @@ class OvercloudRoleShellTest(BaseOvercloudShellTest):
|
|||||||
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
||||||
def test_create_roles(self, mock_print_detail):
|
def test_create_roles(self, mock_print_detail):
|
||||||
self.args.roles = ['foo=10']
|
self.args.roles = ['foo=10']
|
||||||
self.tuskar.overcloud_roles.list.return_value =\
|
self.tuskar.overcloud_roles.list.return_value = [
|
||||||
[OvercloudRole(None, {'name': 'foo', 'id': 1})]
|
OvercloudRole(None, {'name': 'foo', 'id': 1})
|
||||||
|
]
|
||||||
|
|
||||||
self.create(self.tuskar, self.args, outfile=self.outfile)
|
self.create(self.tuskar, self.args, outfile=self.outfile)
|
||||||
self.tuskar.overclouds.create.assert_called_with(
|
self.tuskar.overclouds.create.assert_called_with(
|
||||||
@ -212,8 +213,9 @@ class OvercloudRoleShellTest(BaseOvercloudShellTest):
|
|||||||
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
||||||
def test_create_roles_duplicate(self, mock_print_detail):
|
def test_create_roles_duplicate(self, mock_print_detail):
|
||||||
self.args.roles = ['foo=10', 'foo=20']
|
self.args.roles = ['foo=10', 'foo=20']
|
||||||
self.tuskar.overcloud_roles.list.return_value =\
|
self.tuskar.overcloud_roles.list.return_value = [
|
||||||
[OvercloudRole(None, {'name': 'foo', 'id': 1})]
|
OvercloudRole(None, {'name': 'foo', 'id': 1})
|
||||||
|
]
|
||||||
|
|
||||||
self.assertRaises(
|
self.assertRaises(
|
||||||
exceptions.ValidationError,
|
exceptions.ValidationError,
|
||||||
@ -225,8 +227,9 @@ class OvercloudRoleShellTest(BaseOvercloudShellTest):
|
|||||||
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
||||||
def test_create_roles_invalid_structure(self, mock_print_detail):
|
def test_create_roles_invalid_structure(self, mock_print_detail):
|
||||||
self.args.roles = ['foo=10', '120']
|
self.args.roles = ['foo=10', '120']
|
||||||
self.tuskar.overcloud_roles.list.return_value =\
|
self.tuskar.overcloud_roles.list.return_value = [
|
||||||
[OvercloudRole(None, {'name': 'foo', 'id': 1})]
|
OvercloudRole(None, {'name': 'foo', 'id': 1})
|
||||||
|
]
|
||||||
|
|
||||||
self.assertRaises(
|
self.assertRaises(
|
||||||
exceptions.CommandError,
|
exceptions.CommandError,
|
||||||
@ -238,8 +241,9 @@ class OvercloudRoleShellTest(BaseOvercloudShellTest):
|
|||||||
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
||||||
def test_create_roles_multiple_equals(self, mock_print_detail):
|
def test_create_roles_multiple_equals(self, mock_print_detail):
|
||||||
self.args.roles = ['foo=foo=0']
|
self.args.roles = ['foo=foo=0']
|
||||||
self.tuskar.overcloud_roles.list.return_value =\
|
self.tuskar.overcloud_roles.list.return_value = [
|
||||||
[OvercloudRole(None, {'name': 'foo', 'id': 1})]
|
OvercloudRole(None, {'name': 'foo', 'id': 1})
|
||||||
|
]
|
||||||
|
|
||||||
self.assertRaises(
|
self.assertRaises(
|
||||||
ValueError,
|
ValueError,
|
||||||
@ -251,8 +255,9 @@ class OvercloudRoleShellTest(BaseOvercloudShellTest):
|
|||||||
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
@mock.patch('tuskarclient.v1.overclouds_shell.print_overcloud_detail')
|
||||||
def test_create_roles_with_id(self, mock_print_detail):
|
def test_create_roles_with_id(self, mock_print_detail):
|
||||||
self.args.roles = ['12345=10']
|
self.args.roles = ['12345=10']
|
||||||
self.tuskar.overcloud_roles.list.return_value =\
|
self.tuskar.overcloud_roles.list.return_value = [
|
||||||
[OvercloudRole(None, {'name': 'foo', 'id': 1})]
|
OvercloudRole(None, {'name': 'foo', 'id': 1})
|
||||||
|
]
|
||||||
|
|
||||||
self.create(self.tuskar, self.args, outfile=self.outfile)
|
self.create(self.tuskar, self.args, outfile=self.outfile)
|
||||||
self.tuskar.overclouds.create.assert_called_with(
|
self.tuskar.overclouds.create.assert_called_with(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user