diff options
Diffstat (limited to 'functest/api')
-rw-r--r-- | functest/api/resources/v1/tasks.py | 6 | ||||
-rw-r--r-- | functest/api/resources/v1/tiers.py | 14 | ||||
-rw-r--r-- | functest/api/server.py | 1 |
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() |