X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=utils%2Ftest%2Ftestapi%2Fopnfv_testapi%2Fcmd%2Fserver.py;h=8b092b89e0ae9b068c9aea1a5ee86c5579701a90;hb=ff0d9ec6dce19b70ed58d8c0f8dbc77068cb04a0;hp=013ee6642efdef949d4fc32be6ee92acea05fcbd;hpb=35bf4722a3e84c883fa5212be1bfe3424ad9c3b0;p=releng.git diff --git a/utils/test/testapi/opnfv_testapi/cmd/server.py b/utils/test/testapi/opnfv_testapi/cmd/server.py index 013ee6642..8b092b89e 100644 --- a/utils/test/testapi/opnfv_testapi/cmd/server.py +++ b/utils/test/testapi/opnfv_testapi/cmd/server.py @@ -30,6 +30,7 @@ TODOs : """ import argparse +import sys import motor import tornado.ioloop @@ -38,30 +39,36 @@ from opnfv_testapi.common import config from opnfv_testapi.router import url_mappings from opnfv_testapi.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 = config.APIConfig().parse(args.config_file) +CONF = None -# connecting to MongoDB server, and choosing database -client = motor.MotorClient(CONF.mongo_url) -db = client[CONF.mongo_dbname] -swagger.docs(base_url=CONF.swagger_base_url) +def parse_config(argv=[]): + global CONF + parser = argparse.ArgumentParser() + parser.add_argument("-c", "--config-file", dest='config_file', + help="Config file location") + args = parser.parse_args(argv) + if args.config_file: + config.Config.CONFIG = args.config_file + CONF = config.Config() + + +def get_db(): + return motor.MotorClient(CONF.mongo_url)[CONF.mongo_dbname] def make_app(): + swagger.docs(base_url=CONF.swagger_base_url) return swagger.Application( url_mappings.mappings, - db=db, - debug=CONF.api_debug_on, - auth=CONF.api_authenticate_on + db=get_db(), + debug=CONF.api_debug, + auth=CONF.api_authenticate ) def main(): + parse_config(sys.argv[1:]) application = make_app() application.listen(CONF.api_port) tornado.ioloop.IOLoop.current().start()