Update hacking for Python3
The repo is Python 3 now, so update hacking to version 3.0 which supports Python 3. Fix found problems. Change-Id: I78ee32da2b158abda1ca4438c23c5245dd8849b2
This commit is contained in:
parent
e3652b9c1c
commit
7cf94c6527
@ -83,7 +83,7 @@ class HTTPClient(object):
|
|||||||
"""Truncates url and returns base endpoint"""
|
"""Truncates url and returns base endpoint"""
|
||||||
service_endpoint = parse.urlparse(url)
|
service_endpoint = parse.urlparse(url)
|
||||||
service_endpoint_base_path = re.search(
|
service_endpoint_base_path = re.search(
|
||||||
'(.+?)/v([0-9]+|[0-9]+\.[0-9]+)(/.*|$)', service_endpoint.path)
|
r'(.+?)/v([0-9]+|[0-9]+\.[0-9]+)(/.*|$)', service_endpoint.path)
|
||||||
base_path = (service_endpoint_base_path.group(1)
|
base_path = (service_endpoint_base_path.group(1)
|
||||||
if service_endpoint_base_path else '')
|
if service_endpoint_base_path else '')
|
||||||
base_url = service_endpoint._replace(path=base_path)
|
base_url = service_endpoint._replace(path=base_path)
|
||||||
|
@ -20,7 +20,7 @@ Exception definitions.
|
|||||||
from manilaclient.common.apiclient.exceptions import * # noqa
|
from manilaclient.common.apiclient.exceptions import * # noqa
|
||||||
|
|
||||||
|
|
||||||
class NoTokenLookupException(ClientException):
|
class NoTokenLookupException(ClientException): # noqa: F405
|
||||||
"""No support for looking up endpoints.
|
"""No support for looking up endpoints.
|
||||||
|
|
||||||
This form of authentication does not support looking up
|
This form of authentication does not support looking up
|
||||||
|
@ -492,7 +492,6 @@ class ListShare(command.Lister):
|
|||||||
'project_id': project_id,
|
'project_id': project_id,
|
||||||
'user_id': user_id,
|
'user_id': user_id,
|
||||||
'offset': parsed_args.marker,
|
'offset': parsed_args.marker,
|
||||||
'limit': parsed_args.limit,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# NOTE(vkmc) We implemented sorting and filtering in manilaclient
|
# NOTE(vkmc) We implemented sorting and filtering in manilaclient
|
||||||
|
@ -104,17 +104,17 @@ class BaseTestCase(base.ClientTestBase):
|
|||||||
deletion_params = res.get("deletion_params")
|
deletion_params = res.get("deletion_params")
|
||||||
with handle_cleanup_exceptions():
|
with handle_cleanup_exceptions():
|
||||||
# TODO(vponomaryov): add support for other resources
|
# TODO(vponomaryov): add support for other resources
|
||||||
if res["type"] is "share_type":
|
if res["type"] == "share_type":
|
||||||
client.delete_share_type(
|
client.delete_share_type(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
client.wait_for_share_type_deletion(
|
client.wait_for_share_type_deletion(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
elif res["type"] is "share_network":
|
elif res["type"] == "share_network":
|
||||||
client.delete_share_network(
|
client.delete_share_network(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
client.wait_for_share_network_deletion(
|
client.wait_for_share_network_deletion(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
elif res["type"] is "share_network_subnet":
|
elif res["type"] == "share_network_subnet":
|
||||||
client.delete_share_network_subnet(
|
client.delete_share_network_subnet(
|
||||||
share_network_subnet=res_id,
|
share_network_subnet=res_id,
|
||||||
share_network=deletion_params["share_network"],
|
share_network=deletion_params["share_network"],
|
||||||
@ -123,17 +123,17 @@ class BaseTestCase(base.ClientTestBase):
|
|||||||
share_network_subnet=res_id,
|
share_network_subnet=res_id,
|
||||||
share_network=deletion_params["share_network"],
|
share_network=deletion_params["share_network"],
|
||||||
microversion=res["microversion"])
|
microversion=res["microversion"])
|
||||||
elif res["type"] is "share":
|
elif res["type"] == "share":
|
||||||
client.delete_share(
|
client.delete_share(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
client.wait_for_share_deletion(
|
client.wait_for_share_deletion(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
elif res["type"] is "snapshot":
|
elif res["type"] == "snapshot":
|
||||||
client.delete_snapshot(
|
client.delete_snapshot(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
client.wait_for_snapshot_deletion(
|
client.wait_for_snapshot_deletion(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
elif res["type"] is "share_replica":
|
elif res["type"] == "share_replica":
|
||||||
client.delete_share_replica(
|
client.delete_share_replica(
|
||||||
res_id, microversion=res["microversion"])
|
res_id, microversion=res["microversion"])
|
||||||
client.wait_for_share_replica_deletion(
|
client.wait_for_share_replica_deletion(
|
||||||
|
@ -46,7 +46,8 @@ def not_found_wrapper(f):
|
|||||||
try:
|
try:
|
||||||
return f(self, *args, **kwargs)
|
return f(self, *args, **kwargs)
|
||||||
except tempest_lib_exc.CommandFailed as e:
|
except tempest_lib_exc.CommandFailed as e:
|
||||||
for regexp in ('No (\w+) with a name or ID', 'not(.*){0,5}found'):
|
for regexp in (r'No (\w+) with a name or ID',
|
||||||
|
r'not(.*){0,5}found'):
|
||||||
if re.search(regexp, six.text_type(e.stderr)):
|
if re.search(regexp, six.text_type(e.stderr)):
|
||||||
# Raise appropriate 'NotFound' error
|
# Raise appropriate 'NotFound' error
|
||||||
raise tempest_lib_exc.NotFound()
|
raise tempest_lib_exc.NotFound()
|
||||||
|
@ -36,7 +36,7 @@ class ManilaClientTestCommonReadOnly(base.BaseTestCase):
|
|||||||
commands = []
|
commands = []
|
||||||
cmds_start = lines.index('Positional arguments:')
|
cmds_start = lines.index('Positional arguments:')
|
||||||
cmds_end = lines.index('Optional arguments:')
|
cmds_end = lines.index('Optional arguments:')
|
||||||
command_pattern = re.compile('^ {4}([a-z0-9\-\_]+)')
|
command_pattern = re.compile(r'^ {4}([a-z0-9\-\_]+)')
|
||||||
for line in lines[cmds_start:cmds_end]:
|
for line in lines[cmds_start:cmds_end]:
|
||||||
match = command_pattern.match(line)
|
match = command_pattern.match(line)
|
||||||
if match:
|
if match:
|
||||||
|
@ -119,7 +119,7 @@ class ClientTest(utils.TestCase):
|
|||||||
**self.TEST_REQUEST_BASE)
|
**self.TEST_REQUEST_BASE)
|
||||||
# Automatic JSON parsing
|
# Automatic JSON parsing
|
||||||
self.assertEqual(body, {"hi": "there"})
|
self.assertEqual(body, {"hi": "there"})
|
||||||
self.assertEqual(re.split('/v[0-9]+[\.0-9]*',
|
self.assertEqual(re.split(r'/v[0-9]+[\.0-9]*',
|
||||||
endpoint_url)[0] + "/", cl.base_url)
|
endpoint_url)[0] + "/", cl.base_url)
|
||||||
|
|
||||||
test_get_call()
|
test_get_call()
|
||||||
@ -231,7 +231,7 @@ class ClientTest(utils.TestCase):
|
|||||||
headers=headers,
|
headers=headers,
|
||||||
data='[1, 2, 3]',
|
data='[1, 2, 3]',
|
||||||
**self.TEST_REQUEST_BASE)
|
**self.TEST_REQUEST_BASE)
|
||||||
self.assertEqual(re.split('/v[0-9]+[\.0-9]*',
|
self.assertEqual(re.split(r'/v[0-9]+[\.0-9]*',
|
||||||
endpoint_url)[0] + "/", cl.base_url)
|
endpoint_url)[0] + "/", cl.base_url)
|
||||||
|
|
||||||
test_post_call()
|
test_post_call()
|
||||||
|
@ -38,6 +38,7 @@ class FakeClient(fakes.FakeClient):
|
|||||||
)
|
)
|
||||||
self.client = FakeHTTPClient(**kwargs)
|
self.client = FakeHTTPClient(**kwargs)
|
||||||
|
|
||||||
|
|
||||||
fake_share_instance = {
|
fake_share_instance = {
|
||||||
'id': 1234,
|
'id': 1234,
|
||||||
'share_id': 'fake',
|
'share_id': 'fake',
|
||||||
|
@ -31,15 +31,16 @@ def _get_default_RateLimit(verb="verb1", uri="uri1", regex="regex1",
|
|||||||
class TestLimits(utils.TestCase):
|
class TestLimits(utils.TestCase):
|
||||||
|
|
||||||
def test_repr(self):
|
def test_repr(self):
|
||||||
l = limits.Limits(None, {"foo": "bar"})
|
li = limits.Limits(None, {"foo": "bar"})
|
||||||
self.assertEqual("<Limits>", repr(l))
|
self.assertEqual("<Limits>", repr(li))
|
||||||
|
|
||||||
def test_absolute(self):
|
def test_absolute(self):
|
||||||
l = limits.Limits(None,
|
li = limits.Limits(None,
|
||||||
{"absolute": {"name1": "value1", "name2": "value2"}})
|
{"absolute": {"name1": "value1",
|
||||||
|
"name2": "value2"}})
|
||||||
l1 = limits.AbsoluteLimit("name1", "value1")
|
l1 = limits.AbsoluteLimit("name1", "value1")
|
||||||
l2 = limits.AbsoluteLimit("name2", "value2")
|
l2 = limits.AbsoluteLimit("name2", "value2")
|
||||||
for item in l.absolute:
|
for item in li.absolute:
|
||||||
self.assertIn(item, [l1, l2])
|
self.assertIn(item, [l1, l2])
|
||||||
|
|
||||||
def test_rate(self):
|
def test_rate(self):
|
||||||
@ -67,12 +68,12 @@ class TestLimits(utils.TestCase):
|
|||||||
}]
|
}]
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
l = limits.Limits(None, limit_param)
|
li = limits.Limits(None, limit_param)
|
||||||
l1 = limits.RateLimit("verb1", "uri1", "regex1", "value1", "remain1",
|
l1 = limits.RateLimit("verb1", "uri1", "regex1", "value1", "remain1",
|
||||||
"unit1", "next1")
|
"unit1", "next1")
|
||||||
l2 = limits.RateLimit("verb2", "uri2", "regex2", "value2", "remain2",
|
l2 = limits.RateLimit("verb2", "uri2", "regex2", "value2", "remain2",
|
||||||
"unit2", "next2")
|
"unit2", "next2")
|
||||||
for item in l.rate:
|
for item in li.rate:
|
||||||
self.assertIn(item, [l1, l2])
|
self.assertIn(item, [l1, l2])
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,4 +27,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["maniliaclient.v1"] = MovedModule(v2)
|
sys.modules["maniliaclient.v1"] = MovedModule(v2)
|
||||||
|
@ -32,5 +32,6 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.contrib.list_extensions"] = MovedModule(
|
sys.modules["manilaclient.v1.contrib.list_extensions"] = MovedModule(
|
||||||
list_extensions)
|
list_extensions)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.limits"] = MovedModule(limits)
|
sys.modules["manilaclient.v1.limits"] = MovedModule(limits)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.quota_classes"] = MovedModule(quota_classes)
|
sys.modules["manilaclient.v1.quota_classes"] = MovedModule(quota_classes)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.quotas"] = MovedModule(quotas)
|
sys.modules["manilaclient.v1.quotas"] = MovedModule(quotas)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.scheduler_stats"] = MovedModule(scheduler_stats)
|
sys.modules["manilaclient.v1.scheduler_stats"] = MovedModule(scheduler_stats)
|
||||||
|
@ -32,5 +32,6 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules[
|
sys.modules[
|
||||||
"manilaclient.v1.security_services"] = MovedModule(security_services)
|
"manilaclient.v1.security_services"] = MovedModule(security_services)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.services"] = MovedModule(services)
|
sys.modules["manilaclient.v1.services"] = MovedModule(services)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.share_networks"] = MovedModule(share_networks)
|
sys.modules["manilaclient.v1.share_networks"] = MovedModule(share_networks)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.share_servers"] = MovedModule(share_servers)
|
sys.modules["manilaclient.v1.share_servers"] = MovedModule(share_servers)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.share_snapshots"] = MovedModule(share_snapshots)
|
sys.modules["manilaclient.v1.share_snapshots"] = MovedModule(share_snapshots)
|
||||||
|
@ -32,5 +32,6 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules[
|
sys.modules[
|
||||||
"manilaclient.v1.share_type_access"] = MovedModule(share_type_access)
|
"manilaclient.v1.share_type_access"] = MovedModule(share_type_access)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.share_types"] = MovedModule(share_types)
|
sys.modules["manilaclient.v1.share_types"] = MovedModule(share_types)
|
||||||
|
@ -32,4 +32,5 @@ class MovedModule(object):
|
|||||||
def __getattr__(self, attr):
|
def __getattr__(self, attr):
|
||||||
return getattr(self.new_module, attr)
|
return getattr(self.new_module, attr)
|
||||||
|
|
||||||
|
|
||||||
sys.modules["manilaclient.v1.shares"] = MovedModule(shares)
|
sys.modules["manilaclient.v1.shares"] = MovedModule(shares)
|
||||||
|
@ -461,8 +461,8 @@ class ShareManager(base.ManagerWithFind):
|
|||||||
'''
|
'''
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _validate_username(access):
|
def _validate_username(access):
|
||||||
sole_periods_spaces_re = '[\s|\.]+$'
|
sole_periods_spaces_re = r'[\s|\.]+$'
|
||||||
valid_username_re = '.[^\"\/\\\[\]\:\;\|\=\,\+\*\?\<\>]{3,254}$'
|
valid_username_re = r'.[^\"\/\\\[\]\:\;\|\=\,\+\*\?\<\>]{3,254}$'
|
||||||
username = access
|
username = access
|
||||||
|
|
||||||
if re.match(sole_periods_spaces_re, username):
|
if re.match(sole_periods_spaces_re, username):
|
||||||
@ -473,7 +473,7 @@ class ShareManager(base.ManagerWithFind):
|
|||||||
if not re.match(valid_username_re, username):
|
if not re.match(valid_username_re, username):
|
||||||
exc_str = ('Invalid user or group name. Must be 4-255 characters '
|
exc_str = ('Invalid user or group name. Must be 4-255 characters '
|
||||||
'and consist of alphanumeric characters and '
|
'and consist of alphanumeric characters and '
|
||||||
'exclude special characters "/\[]:;|=,+*?<>')
|
'exclude special characters "/\\[]:;|=,+*?<>')
|
||||||
raise exceptions.CommandError(exc_str)
|
raise exceptions.CommandError(exc_str)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -384,6 +384,7 @@ def do_credentials(cs, args):
|
|||||||
}
|
}
|
||||||
cliutils.print_dict(data, "Token")
|
cliutils.print_dict(data, "Token")
|
||||||
|
|
||||||
|
|
||||||
_quota_resources = [
|
_quota_resources = [
|
||||||
'shares',
|
'shares',
|
||||||
'snapshots',
|
'snapshots',
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# process, which may cause wedges in the gate later.
|
# process, which may cause wedges in the gate later.
|
||||||
|
|
||||||
# hacking should be first
|
# hacking should be first
|
||||||
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
|
hacking>=3.0,<4.0.0 # Apache-2.0
|
||||||
|
|
||||||
coverage!=4.4,>=4.0 # Apache-2.0
|
coverage!=4.4,>=4.0 # Apache-2.0
|
||||||
ddt>=1.0.1 # MIT
|
ddt>=1.0.1 # MIT
|
||||||
|
@ -247,5 +247,6 @@ def main(argv):
|
|||||||
post_process()
|
post_process()
|
||||||
print_help()
|
print_help()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main(sys.argv)
|
main(sys.argv)
|
||||||
|
4
tox.ini
4
tox.ini
@ -91,7 +91,9 @@ commands =
|
|||||||
|
|
||||||
[flake8]
|
[flake8]
|
||||||
# F821: undefined name
|
# F821: undefined name
|
||||||
ignore = F821
|
# W503 line break before binary operator
|
||||||
|
# W504 line break after binary operator
|
||||||
|
ignore = F821,W503,W504
|
||||||
builtins = _
|
builtins = _
|
||||||
# [H106] Don't put vim configuration in source files.
|
# [H106] Don't put vim configuration in source files.
|
||||||
# [H203] Use assertIs(Not)None to check for None.
|
# [H203] Use assertIs(Not)None to check for None.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user