Example #1
0
 def test_load_constructor_from_string_erroneously(self):
     self.assertIsNone(utils.load_constructor_from_string("derp"))
     self.assertIsNone(utils.load_constructor_from_string("derp.derp"))
     self.assertIsNone(utils.load_constructor_from_string("derp.."))
     self.assertIsNone(utils.load_constructor_from_string(None))
     self.assertIsNone(utils.load_constructor_from_string(""))
     self.assertIsNone(utils.load_constructor_from_string({}))
     pkg = 'faro_api.middleware.auth.noauth.NoAuthMiddlewar'
     self.assertIsNone(utils.load_constructor_from_string(pkg))
Example #2
0
def app(testing=False, create_db=False, auth_strategy=None):
    if testing or app.instance is None:
        app.instance = flaskutils.make_json_app(MyFlask(__name__))
        config = 'apiconfig.DevelopmentConfig'
        if testing:
            config = 'apiconfig.TestConfig'
            app.instance.config['DATABASE_FILE'] = utils.\
                generate_temp_database()
            uri = 'sqlite:///' + app.instance.config['DATABASE_FILE']
            app.instance.config['DATABASE_URI'] = uri
        app.instance.config.from_object(config)
        session = db.create_db_environment(app.instance)
        if create_db:
            return True

        @app.instance.before_request
        def before_request():
            flask.g.session = session

        import faro_api.views.dataproviders as dp
        import faro_api.views.endpoint as endpoint
        import faro_api.views.events as events
        import faro_api.views.questions as questions
        import faro_api.views.users as users
        app.instance.register_blueprint(endpoint.mod)
        user_bp = users.UserApi()
        event_bp = events.EventApi()
        question_bp = questions.QuestionApi()
        dps_bp = dp.DataProviderApi()
        app.instance.register_blueprint(user_bp.blueprint)
        app.instance.register_blueprint(event_bp.blueprint)
        app.instance.register_blueprint(question_bp.blueprint)
        app.instance.register_blueprint(dps_bp.blueprint)
        auth_module = app.instance.config['AUTH_STRATEGY']
        if auth_strategy is not None:
            auth_module = auth_strategy
        auth_middleware = utils.load_constructor_from_string(auth_module)
        if auth_middleware is None:
            logger.fatal("Could not load middleware from %s" % auth_module)
            exit(1)

        try:
            app.instance.config.from_envvar('FARO_SETTINGS')
        except RuntimeError:
            pass
        app.instance.wsgi_app = auth_middleware(app.instance.wsgi_app)
    return app.instance
Example #3
0
 def test_load_constructor_from_string(self):
     pkg = 'faro_api.middleware.auth.noauth.NoAuthMiddleware'
     self.assertIsNotNone(utils.load_constructor_from_string(pkg))