diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-11-24 17:14:46 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-11-24 17:14:46 +0000 |
commit | d97c374caa821ec4e653cf32eb8fa8d211fc1517 (patch) | |
tree | 01b8ebb1b7e9628f694d49364e8aa051d2ac8413 /tempest/hacking | |
parent | b13a419c1ab68c33a2e55e6c167964799645e9fb (diff) | |
parent | b8461cb21f7fde93ff09ff1a74727973c996e1b8 (diff) | |
download | tempest-d97c374caa821ec4e653cf32eb8fa8d211fc1517.tar.gz |
Merge "Add T111 hacking rule for consistent DELETE method"
Diffstat (limited to 'tempest/hacking')
-rw-r--r-- | tempest/hacking/checks.py | 28 | ||||
-rw-r--r-- | tempest/hacking/ignored_list_T111.txt | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/tempest/hacking/checks.py b/tempest/hacking/checks.py index 06b05b48c..1dad3bab5 100644 --- a/tempest/hacking/checks.py +++ b/tempest/hacking/checks.py @@ -32,6 +32,7 @@ mutable_default_args = re.compile(r"^\s*def .+\((.+=\{\}|.+=\[\])") TESTTOOLS_SKIP_DECORATOR = re.compile(r'\s*@testtools\.skip\((.*)\)') METHOD = re.compile(r"^ def .+") METHOD_GET_RESOURCE = re.compile(r"^\s*def (list|show)\_.+") +METHOD_DELETE_RESOURCE = re.compile(r"^\s*def delete_.+") CLASS = re.compile(r"^class .+") @@ -195,6 +196,32 @@ def get_resources_on_service_clients(logical_line, physical_line, filename, yield (0, msg) +def delete_resources_on_service_clients(logical_line, physical_line, filename, + line_number, lines): + """Check that service client names of DELETE should be consistent + + T111 + """ + if not _common_service_clients_check(logical_line, physical_line, + filename, 'ignored_list_T111.txt'): + return + + for line in lines[line_number:]: + if METHOD.match(line) or CLASS.match(line): + # the end of a method + return + + if 'self.delete(' not in line: + continue + + if METHOD_DELETE_RESOURCE.match(logical_line): + return + + msg = ("T111: [DELETE /resources/<id>] methods should be " + "delete_<resource name>") + yield (0, msg) + + def factory(register): register(import_no_clients_in_api_and_scenario_tests) register(scenario_tests_need_service_tags) @@ -205,3 +232,4 @@ def factory(register): register(no_mutable_default_args) register(no_testtools_skip_decorator) register(get_resources_on_service_clients) + register(delete_resources_on_service_clients) diff --git a/tempest/hacking/ignored_list_T111.txt b/tempest/hacking/ignored_list_T111.txt new file mode 100644 index 000000000..8017e764a --- /dev/null +++ b/tempest/hacking/ignored_list_T111.txt @@ -0,0 +1 @@ +./tempest/services/baremetal/base.py |