def app(): """Flask application fixture.""" app = Flask('testapp') app.config.update( TESTING=True, SEARCH_UI_SEARCH_API='api' ) Babel(app) FlaskCLI(app) assets = InvenioAssets(app) assets.init_cli(app.cli) InvenioTrendsUI(app) @app.route('/api') def api(): return {} app.register_blueprint(blueprint) return app
]) InvenioDB(app) InvenioTheme(app) InvenioRecords(app) InvenioRecordsUI(app) search = InvenioSearch(app) search.register_mappings('records', 'data') InvenioSearchUI(app) InvenioIndexer(app) InvenioPIDStore(app) InvenioRecordsREST(app) assets = InvenioAssets(app) assets.init_cli(app.cli) # Register assets assets.env.register('invenio_search_ui_search_js', js) @app.cli.group() def fixtures(): """Command for working with test data.""" @fixtures.command() def records(): """Load records.""" import pkg_resources import uuid
def test_init_cli(app): """Test cli registration.""" assets = InvenioAssets(app) assert len(app.cli.commands) == 0 assets.init_cli(app.cli) assert len(app.cli.commands) == 3
FlaskCLI(app) if InvenioI18N is not None: InvenioI18N(app) else: Babel(app) # Set jinja loader to first grab templates from the app's folder. app.jinja_loader = jinja2.ChoiceLoader([ jinja2.FileSystemLoader(join(dirname(__file__), "templates")), app.jinja_loader ]) # Load Invenio modules theme = InvenioTheme(app) assets = InvenioAssets(app) assets.init_cli(app.cli) # Register assets assets.env.register('invenio_theme_js', js) assets.env.register('invenio_theme_css', css) # Register menu items item = theme.menu.submenu('main.errors') item.register('', _('Error pages'), active_when=lambda: request.endpoint == "error", order=3) for err, title in app.config['ERRORS'].items(): item = theme.menu.submenu('main.errors.err%s' % err) item.register('error', title,