unify all the return status as number 65/41065/1
authorLinda Wang <wangwulin@huawei.com>
Tue, 5 Sep 2017 12:22:27 +0000 (12:22 +0000)
committerLinda Wang <wangwulin@huawei.com>
Tue, 5 Sep 2017 12:22:27 +0000 (12:22 +0000)
Change-Id: I835a368fe78329e60e811e40c24f3609c7a8960c
Signed-off-by: Linda Wang <wangwulin@huawei.com>
functest/api/resources/v1/tasks.py
functest/api/resources/v1/testcases.py
functest/api/resources/v1/tiers.py

index e05db51..f099918 100644 (file)
@@ -50,12 +50,15 @@ class V1Task(ApiResource):
         if status not in ['IN PROGRESS', 'FAIL', 'FINISHED']:
             return api_utils.result_handler(status=1,
                                             data='internal server error')
+
+        switcher = {'IN PROGRESS': 0, 'FAIL': 1, 'FINISHED': 2}
         if status == 'IN PROGRESS':
-            result = {'status': status, 'result': ''}
+            result = {'status': switcher.get(status), 'result': ''}
         elif status == 'FAIL':
-            result = {'status': status, 'error': task.error}
+            result = {'status': switcher.get(status), 'error': task.error}
         else:
-            result = {'status': status, 'result': json.loads(task.result)}
+            result = {'status': switcher.get(status),
+                      'result': json.loads(task.result)}
 
         return jsonify(result)
 
@@ -92,4 +95,7 @@ class V1TaskLog(ApiResource):
 
         return_data = {'data': data}
 
-        return api_utils.result_handler(status=task.status, data=return_data)
+        switcher = {'IN PROGRESS': 0, 'FAIL': 1, 'FINISHED': 2}
+
+        return api_utils.result_handler(status=switcher.get(task.status),
+                                        data=return_data)
index d708cf3..b7d7b4a 100644 (file)
@@ -17,7 +17,7 @@ import pkg_resources
 import uuid
 
 import ConfigParser
-from flask import abort, jsonify
+from flask import jsonify
 
 from functest.api.base import ApiResource
 from functest.api.common import api_utils, thread
@@ -46,8 +46,11 @@ class V1Testcase(ApiResource):
         """ GET the info of one testcase"""
         testcase = Testcase().show(testcase_name)
         if not testcase:
-            abort(404, "The test case '%s' does not exist or is not supported"
-                  % testcase_name)
+            return api_utils.result_handler(
+                status=1,
+                data="The test case '%s' does not exist or is not supported"
+                % testcase_name)
+
         testcase_info = api_utils.change_obj_to_dict(testcase)
         dependency_dict = api_utils.change_obj_to_dict(
             testcase_info.get('dependency'))
@@ -70,6 +73,13 @@ class V1Testcase(ApiResource):
             return api_utils.result_handler(
                 status=1, data='testcase name must be provided')
 
+        testcase = Testcase().show(case_name)
+        if not testcase:
+            return api_utils.result_handler(
+                status=1,
+                data="The test case '%s' does not exist or is not supported"
+                % case_name)
+
         task_id = str(uuid.uuid4())
 
         task_args = {'testcase': case_name, 'task_id': task_id}
index 71a98be..4f4849e 100644 (file)
@@ -13,9 +13,10 @@ Resources to handle tier related requests
 
 import re
 
-from flask import abort, jsonify
+from flask import jsonify
 
 from functest.api.base import ApiResource
+from functest.api.common import api_utils
 from functest.cli.commands.cli_tier import Tier
 
 
@@ -46,7 +47,9 @@ class V1Tier(ApiResource):
         """ GET the info of one tier """
         testcases = Tier().gettests(tier_name)
         if not testcases:
-            abort(404, "The tier with name '%s' does not exist." % tier_name)
+            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')
@@ -62,6 +65,8 @@ class V1TestcasesinTier(ApiResource):
         """ GET all testcases within given tier """
         testcases = Tier().gettests(tier_name)
         if not testcases:
-            abort(404, "The tier with name '%s' does not exist." % tier_name)
+            return api_utils.result_handler(
+                status=1,
+                data="The tier with name '%s' does not exist." % tier_name)
         result = {'tier': tier_name, 'testcases': testcases}
         return jsonify(result)