예제 #1
0
def make_api(config=None):
    # Find configuration files
    config_files = cfg.find_config_files(PROJECT)

    # Check for environmental variable config file
    env_config_loc = os.environ.get('JUMPGATE_CONFIG')
    if env_config_loc and os.path.exists(env_config_loc):
        config_files.insert(0, env_config_loc)

    # Check for explit config file
    if config and os.path.exists(config):
        config_files.insert(0, config)

    if not config_files:
        raise Exception('No config files for %s found.' % PROJECT)

    CONF(project=PROJECT,
         args=[],  # We don't want CLI arguments to pass through here
         default_config_files=config_files)

    logger = logging.getLogger(PROJECT)
    logger.setLevel(getattr(logging, CONF['log_level'].upper()))
    logger.addHandler(logging.StreamHandler())
    app = Jumpgate()
    app.load_endpoints()
    app.load_drivers()

    api = app.make_api()
    return api
예제 #2
0
    def test_init(self):
        app = Jumpgate()

        self.assertEqual(app.installed_modules, {})

        self.assertIsInstance(app.before_hooks, list)
        self.assertIsInstance(app.after_hooks, list)
        self.assertEqual(app.before_hooks, [hook_set_uuid])
        self.assertEqual(app.after_hooks, [hook_format])

        self.assertEqual(app._dispatchers, {})
예제 #3
0
    def test_all_endpoints(self):
        for service in SUPPORTED_SERVICES:
            app = Jumpgate()
            app.config = MOCK_CONFIG
            disp = Dispatcher()
            dispatcher_module = importlib.import_module('jumpgate.' + service)
            dispatcher_module.add_endpoints(disp)

            module_name = 'jumpgate.%s.drivers.sl' % service
            module = importlib.import_module(module_name)
            module.setup_routes(app, disp)

            self.assertGreater(len(disp._endpoints), 0)
예제 #4
0
파일: wsgi.py 프로젝트: srinivaa/jumpgate
def make_api():
    config_files = None
    env_config_loc = os.environ.get('JUMPGATE_CONFIG')
    if env_config_loc and os.path.exists(env_config_loc):
        config_files = [env_config_loc]

    CONF(
        project='jumpgate',
        args=[],  # We don't want CLI arguments to pass through here
        default_config_files=config_files)

    logger = logging.getLogger('jumpgate')
    logger.setLevel(getattr(logging, CONF['log_level'].upper()))
    logger.addHandler(logging.StreamHandler())
    app = Jumpgate()
    app.load_endpoints()
    app.load_drivers()

    api = app.make_api()
    return api
예제 #5
0
 def setUp(self):
     self.config = MagicMock()
     self.app = Jumpgate()