aboutsummaryrefslogtreecommitdiffstats
path: root/functest/api
diff options
context:
space:
mode:
Diffstat (limited to 'functest/api')
-rw-r--r--functest/api/resources/v1/tasks.py6
-rw-r--r--functest/api/resources/v1/tiers.py14
-rw-r--r--functest/api/server.py1
3 files changed, 14 insertions, 7 deletions
diff --git a/functest/api/resources/v1/tasks.py b/functest/api/resources/v1/tasks.py
index f099918f..49214124 100644
--- a/functest/api/resources/v1/tasks.py
+++ b/functest/api/resources/v1/tasks.py
@@ -80,11 +80,15 @@ class V1TaskLog(ApiResource):
return api_utils.result_handler(status=1, data='No such task id')
task_log_dir = CONST.__getattribute__('dir_results')
+ # pylint: disable=maybe-no-member
+ index = int(self._get_args().get('index', 0))
try:
with open(os.path.join(task_log_dir,
'{}.log'.format(task_id)), 'r') as log_file:
+ log_file.seek(index)
data = log_file.readlines()
+ index = log_file.tell()
except OSError as err:
if err.errno == errno.ENOENT:
return api_utils.result_handler(
@@ -93,7 +97,7 @@ class V1TaskLog(ApiResource):
return api_utils.result_handler(
status=1, data='Error with log file')
- return_data = {'data': data}
+ return_data = {'data': data, 'index': index}
switcher = {'IN PROGRESS': 0, 'FAIL': 1, 'FINISHED': 2}
diff --git a/functest/api/resources/v1/tiers.py b/functest/api/resources/v1/tiers.py
index 4f4849e9..b58ab205 100644
--- a/functest/api/resources/v1/tiers.py
+++ b/functest/api/resources/v1/tiers.py
@@ -31,7 +31,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:
@@ -45,14 +45,15 @@ class V1Tier(ApiResource):
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)
@@ -63,10 +64,11 @@ class V1TestcasesinTier(ApiResource):
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)
diff --git a/functest/api/server.py b/functest/api/server.py
index 1d47b0dc..c6eb0b3b 100644
--- a/functest/api/server.py
+++ b/functest/api/server.py
@@ -97,6 +97,7 @@ def main():
"""Entry point"""
logging.config.fileConfig(pkg_resources.resource_filename(
'functest', 'ci/logging.ini'))
+ logging.captureWarnings(True)
LOGGER.info('Starting Functest server')
api_add_resource()
init_db()