X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=utils%2Ftest%2Fresult_collection_api%2Fresult_collection_api.py;h=652aa58afe681b5f9807a98d15f340b09a0e1a3e;hb=04578f6f8c56ae2585c9aec637812d812919be46;hp=b9a9971c7ad60d5f787795f6b5aa3cdef4bb320a;hpb=f25ad4e8a7e4bd6505b2144494da81fbcad40b7d;p=releng.git diff --git a/utils/test/result_collection_api/result_collection_api.py b/utils/test/result_collection_api/result_collection_api.py index b9a9971c7..652aa58af 100644 --- a/utils/test/result_collection_api/result_collection_api.py +++ b/utils/test/result_collection_api/result_collection_api.py @@ -29,14 +29,18 @@ TODOs : """ +import argparse + import tornado.ioloop import motor -import argparse -from resources.handlers import VersionHandler, PodHandler, \ - TestProjectHandler, TestCasesHandler, TestResultsHandler, DashboardHandler +from resources.handlers import VersionHandler, DashboardHandler +from resources.testcase_handlers import TestcaseCLHandler, TestcaseGURHandler +from resources.pod_handlers import PodCLHandler, PodGURHandler +from resources.project_handlers import ProjectCLHandler, ProjectGURHandler +from resources.result_handlers import ResultsCLHandler, ResultsGURHandler from common.config import APIConfig - +from tornado_swagger_ui.tornado_swagger import swagger # optionally get config file from command line parser = argparse.ArgumentParser() @@ -51,29 +55,27 @@ db = client[CONF.mongo_dbname] def make_app(): - return tornado.web.Application( + return swagger.Application( [ # GET /version => GET API version - (r"/version", VersionHandler), + (r"/versions", VersionHandler), # few examples: - # GET /pods => Get all pods - # GET /pods/1 => Get details on POD 1 - (r"/pods", PodHandler), - (r"/pods/([^/]+)", PodHandler), + # GET /api/v1/pods => Get all pods + # GET /api/v1/pods/1 => Get details on POD 1 + (r"/api/v1/pods", PodCLHandler), + (r"/api/v1/pods/([^/]+)", PodGURHandler), # few examples: # GET /projects # GET /projects/yardstick - (r"/projects", TestProjectHandler), - (r"/projects/([^/]+)", TestProjectHandler), + (r"/api/v1/projects", ProjectCLHandler), + (r"/api/v1/projects/([^/]+)", ProjectGURHandler), # few examples # GET /projects/qtip/cases => Get cases for qtip - # - (r"/projects/([^/]+)/cases", TestCasesHandler), - (r"/projects/([^/]+)/cases/([^/]+)", TestCasesHandler), - # (r"/test_cases/([^/]+)", TestCasesHandler), + (r"/api/v1/projects/([^/]+)/cases", TestcaseCLHandler), + (r"/api/v1/projects/([^/]+)/cases/([^/]+)", TestcaseGURHandler), # new path to avoid a long depth # GET /results?project=functest&case=keystone.catalog&pod=1 @@ -81,18 +83,16 @@ def make_app(): # POST /results => # Push results with mandatory request payload parameters # (project, case, and pod) - (r"/results", TestResultsHandler), - (r"/results([^/]*)", TestResultsHandler), - (r"/results/([^/]*)", TestResultsHandler), + (r"/api/v1/results", ResultsCLHandler), + (r"/api/v1/results/([^/]+)", ResultsGURHandler), # Method to manage Dashboard ready results # GET /dashboard?project=functest&case=vPing&pod=opnfv-jump2 # => get results in dasboard ready format # get /dashboard # => get the list of project with dashboard ready results - (r"/dashboard", DashboardHandler), - (r"/dashboard([^/]*)", DashboardHandler), - (r"/dashboard/([^/]*)", DashboardHandler), + (r"/dashboard/v1/results", DashboardHandler), + (r"/dashboard/v1/results([^/]*)", DashboardHandler), ], db=db, debug=CONF.api_debug_on,