|
|
@ -15,8 +15,9 @@ from testing.redis import RedisServer |
|
|
|
from webtest import TestApp |
|
|
|
|
|
|
|
from scripts.initialize_db import create_tables |
|
|
|
from tildes.enums import UserPermission |
|
|
|
from tildes.models.group import Group |
|
|
|
from tildes.models.user import User |
|
|
|
from tildes.models.user import User, UserPermissions |
|
|
|
|
|
|
|
|
|
|
|
# include the fixtures defined in fixtures.py |
|
|
@ -172,6 +173,25 @@ def session_user2(sdb): |
|
|
|
yield user |
|
|
|
|
|
|
|
|
|
|
|
@fixture(scope="session", autouse=True) |
|
|
|
def session_admin_user(sdb): |
|
|
|
"""Create a third user named 'AdminUser' in the db for test session. |
|
|
|
|
|
|
|
This user is granted all available user permissions. |
|
|
|
""" |
|
|
|
user = User("AdminUser", "admin user password") |
|
|
|
for permission in UserPermission: |
|
|
|
user_permission = UserPermissions() |
|
|
|
user_permission.user = user |
|
|
|
user_permission.permission = permission |
|
|
|
sdb.add(user_permission) |
|
|
|
|
|
|
|
sdb.add(user) |
|
|
|
sdb.commit() |
|
|
|
|
|
|
|
yield user |
|
|
|
|
|
|
|
|
|
|
|
@fixture(scope="session", autouse=True) |
|
|
|
def session_group(sdb): |
|
|
|
"""Create a group named 'sessiongroup' in the db for test session.""" |
|
|
@ -220,6 +240,20 @@ def webtest(base_app): |
|
|
|
yield app |
|
|
|
|
|
|
|
|
|
|
|
@fixture(scope="session") |
|
|
|
def webtest_admin(base_app): |
|
|
|
"""Create a webtest TestApp and log in as the AdminUser account in it.""" |
|
|
|
app = TestApp(base_app, extra_environ=WEBTEST_EXTRA_ENVIRON) |
|
|
|
|
|
|
|
# fetch the login page, fill in the form, and submit it (sets the cookie) |
|
|
|
login_page = app.get("/login") |
|
|
|
login_page.form["username"] = "AdminUser" |
|
|
|
login_page.form["password"] = "admin user password" |
|
|
|
login_page.form.submit() |
|
|
|
|
|
|
|
yield app |
|
|
|
|
|
|
|
|
|
|
|
@fixture(scope="function") |
|
|
|
def webtest_loggedout(base_app): |
|
|
|
"""Create a logged-out webtest TestApp (function scope, so no state is retained).""" |
|
|
|