def __call__(self, wrapped, instance, given_args, kwargs): arginfo = inspect.getargspec(wrapped) args = set((arginfo.args if arginfo.args else []) + (arginfo.keywords if arginfo.keywords else [])) app = self._make_app() if 'app' in args: kwargs['app'] = app if 'client' in args: kwargs['client'] = app.test_client() self._wrap_client(kwargs['client']) if 'db_setup' in self.options: self.options['db_setup'](app) old_login_view = auth.login_manager.login_view if self.options.get('disable_login_view', False): # Don't issue a 302 redirection when login is needed. auth.login_manager.login_view = None try: wrapped(*given_args, **kwargs) finally: auth.login_manager.login_view = old_login_view if 'db_teardown' in self.options: self.options['db_teardown'](app)
def test_create_app_no_env(): """Creating an application with no $RELENGAPI_SETTINGS set succeeds (using default values)""" # the test harness removes this env variable; just verify here assert 'RELENGAPI_SETTINGS' not in os.environ app = relengapi.app.create_app() with app.test_client() as client: eq_(client.get('/versions').status_code, 200)
def wrap(**kwargs): def post_json(path, data): return kwargs['client'].post( path, data=json.dumps(data), headers=[('Content-Type', 'application/json')]) app = self._make_app() if 'app' in args: kwargs['app'] = app if 'client' in args: kwargs['client'] = app.test_client() kwargs['client'].post_json = post_json if 'db_setup' in self.options: self.options['db_setup'](app) try: func(**kwargs) finally: if 'db_teardown' in self.options: self.options['db_teardown'](app)
def __call__(self, wrapped, instance, given_args, kwargs): arginfo = inspect.getargspec(wrapped) args = set((arginfo.args if arginfo.args else []) + (arginfo.keywords if arginfo.keywords else [])) app = self._make_app() if 'app' in args: kwargs['app'] = app if 'client' in args: kwargs['client'] = app.test_client() self._wrap_client(kwargs['client']) if 'db_setup' in self.options: self.options['db_setup'](app) try: wrapped(*given_args, **kwargs) finally: if 'db_teardown' in self.options: self.options['db_teardown'](app)
def __call__(self, wrapped, instance, given_args, kwargs): arginfo = inspect.getargspec(wrapped) args = set((arginfo.args if arginfo.args else []) + (arginfo.keywords if arginfo.keywords else [])) def post_json(path, data): return kwargs['client'].post( path, data=json.dumps(data), headers=[('Content-Type', 'application/json')]) app = self._make_app() if 'app' in args: kwargs['app'] = app if 'client' in args: kwargs['client'] = app.test_client() kwargs['client'].post_json = post_json if 'db_setup' in self.options: self.options['db_setup'](app) try: wrapped(*given_args, **kwargs) finally: if 'db_teardown' in self.options: self.options['db_teardown'](app)