Open storperf testcase to huawei-pod2
[yardstick.git] / api / views.py
index 928d8e9..9c9ca4e 100644 (file)
@@ -6,21 +6,17 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+from __future__ import absolute_import
 import logging
 import os
 
-from flask import request
-from flask_restful import Resource
 from flasgger.utils import swag_from
 
-from api.utils import common as common_utils
+from api.base import ApiResource
 from api.swagger import models
-from api.actions import test as test_action
-from api.actions import samples as samples_action
-from api.actions import result as result_action
-from api.actions import env as env_action
 
 logger = logging.getLogger(__name__)
+logger.setLevel(logging.DEBUG)
 
 
 TestCaseActionModel = models.TestCaseActionModel
@@ -29,54 +25,58 @@ TestCaseActionArgsOptsModel = models.TestCaseActionArgsOptsModel
 TestCaseActionArgsOptsTaskArgModel = models.TestCaseActionArgsOptsTaskArgModel
 
 
-class Release(Resource):
-    @swag_from(os.getcwd() + '/swagger/docs/testcases.yaml')
+class Asynctask(ApiResource):
+    def get(self):
+        return self._dispatch_get()
+
+
+class Testcases(ApiResource):
+    def get(self):
+        return self._dispatch_get()
+
+
+class ReleaseAction(ApiResource):
+    @swag_from(os.getcwd() + '/swagger/docs/release_action.yaml')
     def post(self):
-        action = common_utils.translate_to_str(request.json.get('action', ''))
-        args = common_utils.translate_to_str(request.json.get('args', {}))
-        logger.debug('Input args is: action: %s, args: %s', action, args)
+        return self._dispatch_post()
 
-        try:
-            return getattr(test_action, action)(args)
-        except AttributeError:
-            return common_utils.error_handler('Wrong action')
 
+class SamplesAction(ApiResource):
 
-class Samples(Resource):
     def post(self):
-        action = common_utils.translate_to_str(request.json.get('action', ''))
-        args = common_utils.translate_to_str(request.json.get('args', {}))
-        logger.debug('Input args is: action: %s, args: %s', action, args)
+        return self._dispatch_post()
+
 
-        try:
-            return getattr(samples_action, action)(args)
-        except AttributeError:
-            return common_utils.error_handler('Wrong action')
+TestSuiteActionModel = models.TestSuiteActionModel
+TestSuiteActionArgsModel = models.TestSuiteActionArgsModel
+TestSuiteActionArgsOptsModel = models.TestSuiteActionArgsOptsModel
+TestSuiteActionArgsOptsTaskArgModel = \
+    models.TestSuiteActionArgsOptsTaskArgModel
+
+
+class TestsuitesAction(ApiResource):
+    @swag_from(os.getcwd() + '/swagger/docs/testsuites_action.yaml')
+    def post(self):
+        return self._dispatch_post()
 
 
 ResultModel = models.ResultModel
 
 
-class Results(Resource):
+class Results(ApiResource):
+
     @swag_from(os.getcwd() + '/swagger/docs/results.yaml')
     def get(self):
-        args = common_utils.translate_to_str(request.args)
-        action = args.get('action', '')
-        logger.debug('Input args is: action: %s, args: %s', action, args)
+        return self._dispatch_get()
 
-        try:
-            return getattr(result_action, action)(args)
-        except AttributeError:
-            return common_utils.error_handler('Wrong action')
 
+class EnvAction(ApiResource):
 
-class Env(Resource):
     def post(self):
-        action = common_utils.translate_to_str(request.json.get('action', ''))
-        args = common_utils.translate_to_str(request.json.get('args', {}))
-        logger.debug('Input args is: action: %s, args: %s', action, args)
-
-        try:
-            return getattr(env_action, action)(args)
-        except AttributeError:
-            return common_utils.error_handler('Wrong action')
+        return self._dispatch_post()
+
+
+class CaseDocs(ApiResource):
+
+    def get(self, case_name):
+        return self._dispatch_get(case_name=case_name)