X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=utils%2Ftest%2Ftestapi%2Fopnfv_testapi%2Fcmd%2Fserver.py;h=545d5e367e0d341397b6ff5ae49312719d86caa9;hb=5b77ae789540f805199831427930476c9579916b;hp=3e0484f6132477b9a9b7303555154bf89eb69900;hpb=a2567392d367889f2fd2bb464ce8b05bce12eb0c;p=releng.git diff --git a/utils/test/testapi/opnfv_testapi/cmd/server.py b/utils/test/testapi/opnfv_testapi/cmd/server.py index 3e0484f61..545d5e367 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,29 +39,38 @@ 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, + static_path=CONF.static_path) return swagger.Application( url_mappings.mappings, - db=db, - debug=CONF.api_debug_on, + db=get_db(), + debug=CONF.api_debug, + auth=CONF.api_authenticate, + cookie_secret='opnfv-testapi', ) def main(): + parse_config(sys.argv[1:]) application = make_app() application.listen(CONF.api_port) tornado.ioloop.IOLoop.current().start()