user.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. activated=True)
  13. user.save()
  14. return user
  15. @pytest.fixture
  16. def moderator_user(user, forum, default_groups):
  17. """Creates a test user with moderator permissions."""
  18. user = User(username="test_mod", email="test_mod@example.org",
  19. password="test", primary_group=default_groups[2],
  20. activated=True)
  21. user.save()
  22. forum.moderators.append(user)
  23. forum.save()
  24. return user
  25. @pytest.fixture
  26. def admin_user(default_groups):
  27. """Creates a admin user."""
  28. user = User(username="test_admin", email="test_admin@example.org",
  29. password="test", primary_group=default_groups[0],
  30. activated=True)
  31. user.save()
  32. return user
  33. @pytest.fixture
  34. def super_moderator_user(default_groups):
  35. """Creates a super moderator user."""
  36. user = User(username="test_super_mod", email="test_super@example.org",
  37. password="test", primary_group=default_groups[1],
  38. activated=True)
  39. user.save()
  40. return user
  41. @pytest.fixture
  42. def Fred(default_groups):
  43. """Fred is an interloper and bad intentioned user, he attempts to
  44. access areas he shouldn't, he posts trollish and spammy content,
  45. he does everything he can to destroy the board.
  46. Our job is stop Fred.
  47. """
  48. fred = User(username='Fred', email='fred@fred.fred',
  49. password='fred', primary_group=default_groups[3],
  50. activated=True)
  51. fred.save()
  52. return fred