X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=api%2Fviews.py;h=928d8e9eb43db1826a8c7be0e691d82cd2f0af0a;hb=78d6cbd462fc7db9dcdab4d2478f6c27437d4c88;hp=7357625e03a52968933ea4e155aa14df92d6d386;hpb=ed89d5d7372b598a3b849f7753e8d29a39282d53;p=yardstick.git diff --git a/api/views.py b/api/views.py index 7357625e0..928d8e9eb 100644 --- a/api/views.py +++ b/api/views.py @@ -7,19 +7,30 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## 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.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__) -class Test(Resource): +TestCaseActionModel = models.TestCaseActionModel +TestCaseActionArgsModel = models.TestCaseActionArgsModel +TestCaseActionArgsOptsModel = models.TestCaseActionArgsOptsModel +TestCaseActionArgsOptsTaskArgModel = models.TestCaseActionArgsOptsTaskArgModel + + +class Release(Resource): + @swag_from(os.getcwd() + '/swagger/docs/testcases.yaml') def post(self): action = common_utils.translate_to_str(request.json.get('action', '')) args = common_utils.translate_to_str(request.json.get('args', {})) @@ -31,7 +42,23 @@ class Test(Resource): return common_utils.error_handler('Wrong action') -class Result(Resource): +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) + + try: + return getattr(samples_action, action)(args) + except AttributeError: + return common_utils.error_handler('Wrong action') + + +ResultModel = models.ResultModel + + +class Results(Resource): + @swag_from(os.getcwd() + '/swagger/docs/results.yaml') def get(self): args = common_utils.translate_to_str(request.args) action = args.get('action', '')