def admin_user(request, test_session): """A User fixture with R_SYSADMIN role""" from assembl.models import User, UserRole, Role u = User(name=u"Mr. Administrator", type="user", verified=True, last_idealoom_login=datetime.utcnow()) from assembl.models import EmailAccount account = EmailAccount(email="*****@*****.**", profile=u, verified=True) test_session.add(u) r = Role.getByName(R_SYSADMIN, test_session) ur = UserRole(user=u, role=r) test_session.add(ur) test_session.flush() uid = u.id def fin(): print("finalizer admin_user") # I often get expired objects here, and I need to figure out why user = test_session.query(User).get(uid) user_role = user.roles[0] test_session.delete(user_role) test_session.delete(user) test_session.flush() request.addfinalizer(fin) return u
def participant2_user(request, test_session): """A User fixture with R_PARTICIPANT role""" from assembl.models import User, UserRole, Role u = User(name=u"James T. Expert", type="user", last_idealoom_login=datetime.utcnow()) test_session.add(u) r = Role.getByName(R_PARTICIPANT, test_session) ur = UserRole(user=u, role=r) test_session.add(ur) test_session.flush() def fin(): print("finalizer participant2_user") test_session.delete(u) test_session.flush() request.addfinalizer(fin) return u
def participant1_user(request, test_session, discussion): """A User fixture with R_PARTICIPANT role""" from assembl.models import User, UserRole, Role, EmailAccount u = User(name=u"A. Barking Loon", type="user", password="******", verified=True, last_idealoom_login=datetime.utcnow()) email = EmailAccount(email="*****@*****.**", profile=u, verified=True) test_session.add(u) r = Role.getByName(R_PARTICIPANT, test_session) ur = UserRole(user=u, role=r) test_session.add(ur) u.subscribe(discussion) test_session.flush() def fin(): print("finalizer participant1_user") test_session.delete(u) test_session.flush() request.addfinalizer(fin) return u