aboutsummaryrefslogtreecommitdiffstats
path: root/functest/api/resources/v1/tiers.py
diff options
context:
space:
mode:
Diffstat (limited to 'functest/api/resources/v1/tiers.py')
-rw-r--r--functest/api/resources/v1/tiers.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/functest/api/resources/v1/tiers.py b/functest/api/resources/v1/tiers.py
index 4f4849e9..523df130 100644
--- a/functest/api/resources/v1/tiers.py
+++ b/functest/api/resources/v1/tiers.py
@@ -11,9 +11,11 @@
Resources to handle tier related requests
"""
+import pkg_resources
import re
from flask import jsonify
+from flasgger.utils import swag_from
from functest.api.base import ApiResource
from functest.api.common import api_utils
@@ -23,6 +25,8 @@ from functest.cli.commands.cli_tier import Tier
class V1Tiers(ApiResource):
""" V1Tiers Resource class """
+ @swag_from(pkg_resources.resource_filename(
+ 'functest', 'api/swagger/tiers.yaml'))
def get(self):
# pylint: disable=no-self-use
""" GET all tiers """
@@ -31,7 +35,7 @@ class V1Tiers(ApiResource):
data = [i.strip() for i in data if i != '']
data_dict = dict()
for i in range(len(data) / 2):
- one_data = {data[i * 2]: data[i * 2 + 1]}
+ one_data = {data[i * 2].lstrip('- ').rstrip(':'): data[i * 2 + 1]}
if i == 0:
data_dict = one_data
else:
@@ -43,16 +47,19 @@ class V1Tiers(ApiResource):
class V1Tier(ApiResource):
""" V1Tier Resource class """
+ @swag_from(pkg_resources.resource_filename(
+ 'functest', 'api/swagger/tier.yaml'))
def get(self, tier_name): # pylint: disable=no-self-use
""" GET the info of one tier """
- testcases = Tier().gettests(tier_name)
- if not testcases:
+ tier_info = Tier().show(tier_name)
+ if not tier_info:
return api_utils.result_handler(
status=1,
data="The tier with name '%s' does not exist." % tier_name)
- tier_info = Tier().show(tier_name)
tier_info.__dict__.pop('name')
tier_info.__dict__.pop('tests_array')
+ tier_info.__dict__.pop('skipped_tests_array')
+ testcases = Tier().gettests(tier_name)
result = {'tier': tier_name, 'testcases': testcases}
result.update(tier_info.__dict__)
return jsonify(result)
@@ -61,12 +68,15 @@ class V1Tier(ApiResource):
class V1TestcasesinTier(ApiResource):
""" V1TestcasesinTier Resource class """
+ @swag_from(pkg_resources.resource_filename(
+ 'functest', 'api/swagger/testcases_in_tier.yaml'))
def get(self, tier_name): # pylint: disable=no-self-use
""" GET all testcases within given tier """
- testcases = Tier().gettests(tier_name)
- if not testcases:
+ tier_info = Tier().show(tier_name)
+ if not tier_info:
return api_utils.result_handler(
status=1,
data="The tier with name '%s' does not exist." % tier_name)
+ testcases = Tier().gettests(tier_name)
result = {'tier': tier_name, 'testcases': testcases}
return jsonify(result)