user.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import pytest
  2. from flaskbb.user.models import User, Guest
  3. @pytest.fixture
  4. def guest():
  5. """Return a guest (not logged in) user."""
  6. return Guest()
  7. @pytest.fixture
  8. def user(default_groups):
  9. """Creates a user with normal permissions."""
  10. user = User(username="test_normal", email="test_normal@example.org",
  11. password="test", primary_group=default_groups[3])
  12. user.save()
  13. return user
  14. @pytest.fixture
  15. def moderator_user(user, forum, default_groups):
  16. """Creates a test user with moderator permissions."""
  17. user = User(username="test_mod", email="test_mod@example.org",
  18. password="test", primary_group=default_groups[2])
  19. user.save()
  20. forum.moderators.append(user)
  21. forum.save()
  22. return user
  23. @pytest.fixture
  24. def admin_user(default_groups):
  25. """Creates a admin user."""
  26. user = User(username="test_admin", email="test_admin@example.org",
  27. password="test", primary_group=default_groups[0])
  28. user.save()
  29. return user
  30. @pytest.fixture
  31. def super_moderator_user(default_groups):
  32. """Creates a super moderator user."""
  33. user = User(username="test_super_mod", email="test_super@example.org",
  34. password="test", primary_group=default_groups[1])
  35. user.save()
  36. return user
  37. @pytest.fixture
  38. def Fred(default_groups):
  39. """Fred is an interloper and bad intentioned user, he attempts to
  40. access areas he shouldn't, he posts trollish and spammy content,
  41. he does everything he can to destroy the board.
  42. Our job is stop Fred.
  43. """
  44. fred = User(username='Fred', email='fred@fred.fred',
  45. password='fred', primary_group=default_groups[3])
  46. fred.save()
  47. return fred