def test_config_dsn_key(): """Assert that the ProductionConfig is correct. The object either uses the SENTRY_DSN from the environment and initializes Sentry, or it doesn't. """ from legal_api import create_app config._Config.SENTRY_DSN = None app = create_app() assert app.config.get('SENTRY_DSN') is None # Assert that the SENTRY_DSN is set to the assigned environment value dsn = 'http://secret_key@localhost:9000/project_id' config._Config.SENTRY_DSN = dsn reload(config) app = create_app() assert app.config.get('SENTRY_DSN') is not None
import unittest from flask.cli import FlaskGroup from legal_api import create_app, db app = create_app() cli = FlaskGroup(create_app=create_app) if __name__ == '__main__': cli()
def app_request(): """Return a session-wide application configured in TEST mode.""" _app = create_app('testing') return _app
def app_ctx(event_loop): # def app_ctx(): """Return a session-wide application configured in TEST mode.""" _app = create_app('testing') with _app.app_context(): yield _app
# Copyright © 2019 Province of British Columbia # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """Provides the WSGI entry point for running the application """ from legal_api import create_app # Openshift s2i expects a lower case name of application application = create_app() # pylint: disable=invalid-name if __name__ == "__main__": application.run()
# See the License for the specific language governing permissions and # limitations under the License. """Manage the database and some other items required to run the API """ import logging from flask import url_for from flask_script import Manager # class for handling a set of commands from flask_migrate import Migrate, MigrateCommand from legal_api import create_app from legal_api.models import db # models included so that migrate can build the database migrations from legal_api import models # pylint: disable=unused-import APP = create_app() MIGRATE = Migrate(APP, db) MANAGER = Manager(APP) MANAGER.add_command('db', MigrateCommand) @MANAGER.command def list_routes(): output = [] for rule in APP.url_map.iter_rules(): options = {} for arg in rule.arguments: options[arg] = "[{0}]".format(arg)