summaryrefslogtreecommitdiff
path: root/tempest/hacking
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-11-24 17:14:46 +0000
committerGerrit Code Review <review@openstack.org>2015-11-24 17:14:46 +0000
commitd97c374caa821ec4e653cf32eb8fa8d211fc1517 (patch)
tree01b8ebb1b7e9628f694d49364e8aa051d2ac8413 /tempest/hacking
parentb13a419c1ab68c33a2e55e6c167964799645e9fb (diff)
parentb8461cb21f7fde93ff09ff1a74727973c996e1b8 (diff)
downloadtempest-d97c374caa821ec4e653cf32eb8fa8d211fc1517.tar.gz
Merge "Add T111 hacking rule for consistent DELETE method"
Diffstat (limited to 'tempest/hacking')
-rw-r--r--tempest/hacking/checks.py28
-rw-r--r--tempest/hacking/ignored_list_T111.txt1
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