X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=api%2Fviews.py;h=9fd236fadf2aba0032daaa196c2803bf685ebe64;hb=b93bbc01bf90d4fe6defb137145e74aee8c3081e;hp=e78389f5a7e10b2f2423606d836ef770b6bc39cf;hpb=8264f8cfd71ac8bacd5a4cce2206cbdc2f76a707;p=yardstick.git diff --git a/api/views.py b/api/views.py index e78389f5a..9fd236fad 100644 --- a/api/views.py +++ b/api/views.py @@ -6,37 +6,71 @@ # 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.actions import test as test_action -from api.actions import result as result_action +from api.base import ApiResource +from api.swagger import models logger = logging.getLogger(__name__) +logger.setLevel(logging.DEBUG) -class Test(Resource): +TestCaseActionModel = models.TestCaseActionModel +TestCaseActionArgsModel = models.TestCaseActionArgsModel +TestCaseActionArgsOptsModel = models.TestCaseActionArgsOptsModel +TestCaseActionArgsOptsTaskArgModel = models.TestCaseActionArgsOptsTaskArgModel + + +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): + return self._dispatch_post() + + +class SamplesAction(ApiResource): + 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') +TestSuiteActionModel = models.TestSuiteActionModel +TestSuiteActionArgsModel = models.TestSuiteActionArgsModel +TestSuiteActionArgsOptsModel = models.TestSuiteActionArgsOptsModel +TestSuiteActionArgsOptsTaskArgModel = \ + models.TestSuiteActionArgsOptsTaskArgModel -class Result(Resource): + +class TestsuitesAction(ApiResource): + @swag_from(os.getcwd() + '/swagger/docs/testsuites_action.yaml') + def post(self): + return self._dispatch_post() + + +ResultModel = models.ResultModel + + +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) - - try: - return getattr(result_action, action)(args) - except AttributeError: - return common_utils.error_handler('Wrong action') + return self._dispatch_get() + + +class EnvAction(ApiResource): + + def post(self): + return self._dispatch_post()