示例#1
0
    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 __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)
示例#3
0
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)
示例#4
0
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)
示例#5
0
 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)
示例#6
0
    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)
示例#7
0
    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)
示例#8
0
    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)