def tearDownClass(cls): if cls.client: # Stop our flask server, and close our browser. cls.client.get(f'{cls.root_url}/shutdown') time.sleep(1) cls.client.quit( ) # .quit() is used to exit the browser, end the session, tabs, pop-ups. cls.server_thread.join( timeout=5) # Closes the thread running our test_app. if not cls.server_thread.is_alive(): print("The server thread rejoined successfully.") else: raise RuntimeWarning( "The server thread is somehow still active after ending our tests." ) # Destroy our test databases. db.session.remove() db.drop_all() # Remove our application and request contexts. cls.app_context.pop() cls.request_context.pop()
def init_db(test_client): # Create the database and the database table db.create_all() yield db db.session.remove() db.drop_all()
def setUp(self): app.config['TESTING'] = True app.config['DEBUG'] = False app.config['DATABASE_URL'] = 'sqlite:///' + \ os.path.join(app.config['BASE_PATH'], TEST_DB) self.app = app.test_client() db.drop_all() db.create_all() self.assertEqual(app.debug, False)
def seed_db(): db.drop_all() db.create_all() Tag.generate_data() Frontpage_post.generate_data() AdminUser.generate_data() Startup.generate_data() Job_applicant.generate_data() Job_position.generate_data() print("populated databse")
def db(app, request): ''' Provide the transactional fixtures with access to the database via a Flask-SQLAlchemy database connection. ''' #db = SQLAlchemy(app=app) from flaskr import models with app.app_context(): _db.drop_all() _db.create_all() return db
def app(): app = create_app({ 'TESTING': True, 'WTF_CSRF_ENABLED': False, 'SECRET_KEY': 'dev', 'SQLALCHEMY_DATABASE_URI': \ 'postgresql:///portfoliotest', # 'SQLALCHEMY_ECHO': True, 'SQLALCHEMY_TRACK_MODIFICATIONS': False }) with app.app_context(): db.drop_all() db.create_all() db.session.commit() yield app
def seed_command(): db.init_app(current_app) db.drop_all() db.create_all() with open(data_filename) as data: products_data = json.load(data) products = [to_product_model(p) for p in products_data] for product in products: db.session.add(product) for photo in product.photos: db.session.add(photo) db.session.commit() print("seed Done!")
def app(): app = create_app(TestConfig) with app.app_context(): db.drop_all() db.create_all() user1 = User(username='******', password=generate_password_hash('test')) user2 = User(username='******', password=generate_password_hash('test2')) db.session.add_all([user1, user2]) db.session.commit() post = Post(title='test title', body='test', created='2018-01-01 00:00:00', author_id=1) db.session.add(post) db.session.commit() yield app
def create_db(): db.drop_all() db.create_all() boards = [ BoardsModel('technology', 't'), BoardsModel('off-topic', 'o'), BoardsModel('news', 'n'), BoardsModel('images', 'i'), BoardsModel('client-test', 'c') ] for board in boards: db.session.add(board) try: db.session.commit() print("changes commited to database successfully") except: print("error commiting changes to database")
def tearDown(self): db.session.remove() db.drop_all()
def tearDown(self): """Destroy blank temp database after each test""" db.drop_all()
def init_db(): """创建初始数据""" from flaskr import db print("\n\n\n\n---------删除表-----------") db.drop_all() print("\n\n\n\n---------创建表-----------") db.create_all() # 创建用户 print("\n\n\n\n---------创建用户-----------") from flaskr.model import User gabe = User(name='gabe') jack = User(name='jack') rose = User(name='rose') # db.session.add(gabe) # db.session.add(jack) # db.session.add(rose) db.session.add_all([gabe, jack, rose]) db.session.commit() # 创建角色 print("\n\n\n\n---------创建角色-----------") from flaskr.model import Role adminRole = Role(name='admin') userRole = Role(name='user') guestRole = Role(name='guest') db.session.add_all([adminRole, userRole, guestRole]) db.session.commit() # 创建团队 print("\n\n\n\n---------创建团队-----------") from flaskr.model import Group rayjarGroup = Group(name="rayjar", leader=gabe) titanicGroup = Group(name="titanic", leader=jack) db.session.add_all([rayjarGroup, titanicGroup]) db.session.commit() # 创建菜单 print("\n\n\n\n---------创建菜单-----------") from flaskr.model import Menu welcomeMenu = Menu(name="welcome", path="/welcome", icon="smile", sort=0) dashboardMenu = Menu(name="dashboard", path="/dashboard", icon="dashboard", sort=1) db.session.add_all([welcomeMenu, welcomeMenu]) db.session.commit() usersMenu = Menu(name="users", path="/dashboard/users", sort=0, parent=dashboardMenu) authsMenu = Menu(name="auths", path="/dashboard/auths", sort=0, parent=dashboardMenu) rolesMenu = Menu(name="roles", path="/dashboard/roles", sort=0, parent=dashboardMenu) menusMenu = Menu(name="groups", path="/dashboard/groups", sort=0, parent=dashboardMenu) groupsMenu = Menu(name="menus", path="/dashboard/menus", sort=0, parent=dashboardMenu) usergroupsMenu = Menu(name="usergroups", path="/dashboard/usergroups", sort=0, parent=dashboardMenu) db.session.add_all([ usersMenu, authsMenu, rolesMenu, menusMenu, groupsMenu, usergroupsMenu ]) db.session.commit() # 关联角色菜单 print("\n\n\n\n---------关联角色菜单-----------") adminRole.menus = [ welcomeMenu, dashboardMenu, usersMenu, authsMenu, rolesMenu, menusMenu, groupsMenu, usergroupsMenu ] userRole.menus = [welcomeMenu, dashboardMenu, usersMenu, menusMenu] db.session.commit() # 关联用户角色 print("\n\n\n\n---------关联用户角色-----------") gabe.roles = [adminRole, userRole, guestRole] jack.roles = [userRole, guestRole] rose.roles = [guestRole] db.session.commit() # 关联用户团队 print("\n\n\n\n---------关联用户团队-----------") # gabe.groups = [rayjarGroup] # jack.groups = [rayjarGroup,titanicGroup] # rose.groups = [titanicGroup] rayjarGroup.menbers = [gabe, jack] titanicGroup.menbers = [jack, rose] db.session.commit() # 创建帐号 print("\n\n\n\n---------创建帐号-----------") from flaskr.model import Auth authData = { "user": gabe, "authType": "account", "authName": gabe.name, "authCode": generate_password_hash("123456"), # "password": "******", "verifyTime": datetime.datetime.utcnow(), "expireTime": datetime.datetime.utcnow() + datetime.timedelta(seconds=60 * 60 * 24) } auth = Auth(**authData) db.session.add(auth) db.session.commit()
def create_db(): db.drop_all() db.create_all() db.session.commit()
def tearDown(self): db.session.remove() db.drop_all()
def drop_db(): db.drop_all() print("Deleted the database")
def tearDown(self): # 各テスト毎に呼ばれる db.session.remove() # セッション削除 db.drop_all() # テーブル全削除
def init(): db.drop_all() db.create_all()
def init_db_command(): """Clear the existing data and create new tables.""" db.drop_all() db.create_all() click.echo('Initialized the database.')