user.py 1.8 KB

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