summaryrefslogtreecommitdiffstats
path: root/result_collection_api/opnfv_testapi/cmd
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2016-06-01 17:00:11 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2016-06-01 17:11:05 +0800
commit2d2a12935a39aa8fc7dc615da9058085a1661876 (patch)
tree70fbc1b091beeded79200fb0df16e9c336530148 /result_collection_api/opnfv_testapi/cmd
parent59cba325d8132186d27aefa959d4bed730e4e68d (diff)
add router package to implement url-2-XXXHandlers mappings in testAPI project
and eliminate flake8 violation JIRA: FUNCTEST-285 Change-Id: I15b568a97279032549f24ff81520220e271f3488 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'result_collection_api/opnfv_testapi/cmd')
-rw-r--r--result_collection_api/opnfv_testapi/cmd/result_collection_api.py112
-rw-r--r--result_collection_api/opnfv_testapi/cmd/server.py68
2 files changed, 68 insertions, 112 deletions
diff --git a/result_collection_api/opnfv_testapi/cmd/result_collection_api.py b/result_collection_api/opnfv_testapi/cmd/result_collection_api.py
deleted file mode 100644
index e59e28c..0000000
--- a/result_collection_api/opnfv_testapi/cmd/result_collection_api.py
+++ /dev/null
@@ -1,112 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 Orange
-# guyrodrigue.koffi@orange.com / koffirodrigue@gmail.com
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-"""
-Pre-requisites:
- pip install motor
- pip install tornado
-
-We can launch the API with this file
-
-TODOs :
- - logging
- - json args validation with schemes
- - POST/PUT/DELETE for PODs
- - POST/PUT/GET/DELETE for installers, platforms (enrich results info)
- - count cases for GET on projects
- - count results for GET on cases
- - include objects
- - swagger documentation
- - setup file
- - results pagination
- - unit tests
-
-"""
-
-import argparse
-
-import tornado.ioloop
-import motor
-
-from opnfv_testapi.resources.handlers import VersionHandler
-from opnfv_testapi.resources.testcase_handlers import TestcaseCLHandler, \
- TestcaseGURHandler
-from opnfv_testapi.resources.pod_handlers import PodCLHandler, PodGURHandler
-from opnfv_testapi.resources.project_handlers import ProjectCLHandler, \
- ProjectGURHandler
-from opnfv_testapi.resources.result_handlers import ResultsCLHandler, \
- ResultsGURHandler
-from opnfv_testapi.resources.dashboard_handlers import DashboardHandler
-from opnfv_testapi.common.config import APIConfig
-from opnfv_testapi.tornado_swagger_ui.tornado_swagger import swagger
-
-# optionally get config file from command line
-parser = argparse.ArgumentParser()
-parser.add_argument("-c", "--config-file", dest='config_file',
- help="Config file location")
-args = parser.parse_args()
-CONF = APIConfig().parse(args.config_file)
-
-# connecting to MongoDB server, and choosing database
-client = motor.MotorClient(CONF.mongo_url)
-db = client[CONF.mongo_dbname]
-
-
-def make_app():
- return swagger.Application(
- [
- # GET /version => GET API version
- (r"/versions", VersionHandler),
-
- # few examples:
- # 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"/api/v1/projects", ProjectCLHandler),
- (r"/api/v1/projects/([^/]+)", ProjectGURHandler),
-
- # few examples
- # GET /projects/qtip/cases => Get cases for qtip
- (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
- # => get results with optional filters
- # POST /results =>
- # Push results with mandatory request payload parameters
- # (project, case, and pod)
- (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/v1/results", DashboardHandler),
- ],
- db=db,
- debug=CONF.api_debug_on,
- )
-
-
-def main():
- application = make_app()
- application.listen(CONF.api_port)
- tornado.ioloop.IOLoop.current().start()
-
-
-if __name__ == "__main__":
- main()
diff --git a/result_collection_api/opnfv_testapi/cmd/server.py b/result_collection_api/opnfv_testapi/cmd/server.py
new file mode 100644
index 0000000..1031fbb
--- /dev/null
+++ b/result_collection_api/opnfv_testapi/cmd/server.py
@@ -0,0 +1,68 @@
+##############################################################################
+# Copyright (c) 2015 Orange
+# guyrodrigue.koffi@orange.com / koffirodrigue@gmail.com
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+"""
+Pre-requisites:
+ pip install motor
+ pip install tornado
+
+We can launch the API with this file
+
+TODOs :
+ - logging
+ - json args validation with schemes
+ - POST/PUT/DELETE for PODs
+ - POST/PUT/GET/DELETE for installers, platforms (enrich results info)
+ - count cases for GET on projects
+ - count results for GET on cases
+ - include objects
+ - swagger documentation
+ - setup file
+ - results pagination
+ - unit tests
+
+"""
+
+import argparse
+
+import tornado.ioloop
+import motor
+
+from opnfv_testapi.common.config import APIConfig
+from opnfv_testapi.tornado_swagger_ui.tornado_swagger import swagger
+from opnfv_testapi.router import url_mappings
+
+# optionally get config file from command line
+parser = argparse.ArgumentParser()
+parser.add_argument("-c", "--config-file", dest='config_file',
+ help="Config file location")
+args = parser.parse_args()
+CONF = APIConfig().parse(args.config_file)
+
+# connecting to MongoDB server, and choosing database
+client = motor.MotorClient(CONF.mongo_url)
+db = client[CONF.mongo_dbname]
+
+
+def make_app():
+ return swagger.Application(
+ url_mappings.mappings,
+ db=db,
+ debug=CONF.api_debug_on,
+ )
+
+
+def main():
+ application = make_app()
+ application.listen(CONF.api_port)
+ tornado.ioloop.IOLoop.current().start()
+
+
+if __name__ == "__main__":
+ main()