def setUp(self): config = { 'db': 'test_testproject', 'host': '127.0.0.1', 'port': 27017, 'read_preference': read_preferences.ReadPreference.PRIMARY, } self.app = create_app(config) self.app.config['TESTING'] = True self.app_context = self.app.app_context() self.app_context.push() self.testapp = self.app.test_client() from mainapp.api.models import Record r1 = Record( uid='1', name='John Doe', date=datetime.datetime.strptime( '2015-05-12T14:36:00.451765', "%Y-%m-%dT%H:%M:%S.%f" ), md5checksum='5662edb6868e98505e0f4344d2abd47b' ) r2 = Record( uid='2', name='Jane Doe', date=datetime.datetime.strptime( '2015-05-13T14:36:00.451765', "%Y-%m-%dT%H:%M:%S.%f" ), md5checksum='0cf6399e2739304b73b41162735679fb' ) r1.save() r2.save()
def app(request): app = create_app(TestConfig) # Establish an application context before running the tests. ctx = app.app_context() ctx.push() def teardown(): ctx.pop() request.addfinalizer(teardown) return app
from flask_script import Manager from flask_migrate import MigrateCommand from mainapp import create_app app = create_app() manage = Manager(app) # 创建manage管理器 # 向manager 添加db的命令 manage.add_command('db', MigrateCommand) # 命令行 # Python manage.py db -? # python manage.py db init 初始化数据库环境 # python manage.py db migrate 生成表的迁移计划 # python manage.py db upgrade 执行新的迁移计划 # python manage.py db downgrade 执行之前的迁移计划 if __name__ == '__main__': manage.run()
import logging # import os from mainapp import create_app from mainapp import db from mainapp.auth.models import User, Role from mainapp.auth import bcrypt from settings import DevConfig logging.basicConfig(format='%(asctime)s:%(levelname)s:%(name)s:%(message)s') logging.getLogger().setLevel(logging.DEBUG) log = logging.getLogger(__name__) app = create_app(DevConfig) app.app_context().push() fake_users = [{ 'username': '******', 'role': 'user' }, { 'username': '******', 'role': 'admin' }] fake_roles = ['user', 'admin'] def generate_roles(): roles = list() for rolename in fake_roles: role = Role.query.filter_by(name=rolename).first()
import os from mainapp import create_app env = os.environ.get('APP_ENV', 'dev') app = create_app('settings.%sConfig' % env.capitalize()) if __name__ == '__main__': app.run()
from flask.ext.script import Manager, Server from mainapp import create_app app = create_app() manager = Manager(app) manager.add_command("runserver", Server( use_debugger=True, use_reloader=True, host='0.0.0.0') ) @manager.command def test(): """Run the unit tests.""" import unittest tests = unittest.TestLoader().discover('tests') unittest.TextTestRunner(verbosity=3).run(tests) if __name__ == "__main__": manager.run()