示例#1
0
    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()
示例#2
0
def init_db(test_client):
    # Create the database and the database table
    db.create_all()

    yield db

    db.session.remove()
    db.drop_all()
示例#3
0
 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)
示例#4
0
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")
示例#5
0
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
示例#7
0
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!")
示例#8
0
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
示例#9
0
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")
示例#10
0
文件: test.py 项目: weijiayun/blog
 def tearDown(self):
     db.session.remove()
     db.drop_all()
示例#11
0
 def tearDown(self):
     """Destroy blank temp database after each test"""
     db.drop_all()
示例#12
0
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()
示例#13
0
def create_db():
    db.drop_all()
    db.create_all()
    db.session.commit()
示例#14
0
 def tearDown(self):
     db.session.remove()
     db.drop_all()
示例#15
0
def drop_db():
    db.drop_all()
    print("Deleted the database")
示例#16
0
 def tearDown(self):  # 各テスト毎に呼ばれる
     db.session.remove()  # セッション削除
     db.drop_all()  # テーブル全削除
示例#17
0
def init():
    db.drop_all()
    db.create_all()
示例#18
0
def init_db_command():
    """Clear the existing data and create new tables."""
    db.drop_all()
    db.create_all()
    click.echo('Initialized the database.')