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
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, {})
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)
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
def setUp(self): self.config = MagicMock() self.app = Jumpgate()