def setUp(self): super(TestRedisListenStore, self).setUp() self.log = logging.getLogger(__name__) self._redis = init_redis_connection(self.log, self.config.REDIS_HOST, self.config.REDIS_PORT) self.testuser_id = db_user.create(1, "test") self._create_test_data()
def setUp(self): super(RedisListenStoreTestCase, self).setUp() self.log = logging.getLogger() self._redis = init_redis_connection(self.log, self.config.REDIS_HOST, self.config.REDIS_PORT, self.config.REDIS_NAMESPACE) self.testuser = db_user.get_or_create(1, "test")
def setUp(self): super(RedisListenStoreTestCase, self).setUp() self.log = logging.getLogger() # TODO: Ideally this would use a config from a flask app, but this test case doesn't create an app self._redis = init_redis_connection(self.log, config.REDIS_HOST, config.REDIS_PORT, config.REDIS_NAMESPACE) self.testuser = db_user.get_or_create(1, "test")
def create_redis(app): from listenbrainz.webserver.redis_connection import init_redis_connection init_redis_connection(app.logger, app.config['REDIS_HOST'], app.config['REDIS_PORT'])
def setUp(self): super(TestRedisListenStore, self).setUp() self.log = logging.getLogger(__name__) self._redis = init_redis_connection(self.log, self.config.REDIS_HOST, self.config.REDIS_PORT) self.testuser_id = db_user.create(1, "test") self._create_test_data()
def create_app(debug=None): """ Generate a Flask app for LB with all configurations done and connections established. In the Flask app returned, blueprints are not registered. """ app = CustomFlask( import_name=__name__, use_flask_uuid=True, ) load_config(app) if debug is not None: app.debug = debug # As early as possible, if debug is True, set the log level of our 'listenbrainz' logger to DEBUG # to prevent flask from creating a new log handler if app.debug: logger = logging.getLogger('listenbrainz') logger.setLevel(logging.DEBUG) # initialize Flask-DebugToolbar if the debug option is True if app.debug and app.config['SECRET_KEY']: app.init_debug_toolbar() sentry_config = app.config.get('LOG_SENTRY') if sentry_config: sentry.init_sentry(**sentry_config) # Initialize BU cache and metrics cache.init(host=app.config['REDIS_HOST'], port=app.config['REDIS_PORT'], namespace=app.config['REDIS_NAMESPACE']) metrics.init("listenbrainz") # Database connections from listenbrainz import db from listenbrainz.db import timescale as ts from listenbrainz import messybrainz as msb db.init_db_connection(app.config['SQLALCHEMY_DATABASE_URI']) ts.init_db_connection(app.config['SQLALCHEMY_TIMESCALE_URI']) msb.init_db_connection(app.config['MESSYBRAINZ_SQLALCHEMY_DATABASE_URI']) # Redis connection from listenbrainz.webserver.redis_connection import init_redis_connection init_redis_connection(app.logger) # Timescale connection from listenbrainz.webserver.timescale_connection import init_timescale_connection init_timescale_connection(app) # RabbitMQ connection from listenbrainz.webserver.rabbitmq_connection import init_rabbitmq_connection try: init_rabbitmq_connection(app) except ConnectionError: app.logger.critical("RabbitMQ service is not up!", exc_info=True) if app.config['MB_DATABASE_URI']: from brainzutils import musicbrainz_db musicbrainz_db.init_db_engine(app.config['MB_DATABASE_URI']) # OAuth from listenbrainz.webserver.login import login_manager, provider login_manager.init_app(app) provider.init(app.config['MUSICBRAINZ_CLIENT_ID'], app.config['MUSICBRAINZ_CLIENT_SECRET']) # Error handling from listenbrainz.webserver.errors import init_error_handlers init_error_handlers(app) from brainzutils.ratelimit import inject_x_rate_headers, set_user_validation_function set_user_validation_function(check_ratelimit_token_whitelist) @app.after_request def after_request_callbacks(response): return inject_x_rate_headers(response) # Template utilities app.jinja_env.add_extension('jinja2.ext.do') from listenbrainz.webserver import utils app.jinja_env.filters['date'] = utils.reformat_date app.jinja_env.filters['datetime'] = utils.reformat_datetime return app