conftest.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import pytest
  2. from .acl import ACL_CACHE, useracl
  3. from .admin.auth import authorize_admin
  4. from .conf import SETTINGS_CACHE
  5. from .conf.dynamicsettings import DynamicSettings
  6. from .conf.staticsettings import StaticSettings
  7. from .themes import THEME_CACHE
  8. from .users import BANS_CACHE
  9. from .users.models import AnonymousUser
  10. from .users.test import create_test_superuser, create_test_user
  11. def get_cache_versions():
  12. return {
  13. ACL_CACHE: "abcdefgh",
  14. BANS_CACHE: "abcdefgh",
  15. SETTINGS_CACHE: "abcdefgh",
  16. THEME_CACHE: "abcdefgh",
  17. }
  18. @pytest.fixture
  19. def cache_versions():
  20. return get_cache_versions()
  21. @pytest.fixture
  22. def dynamic_settings(db, cache_versions):
  23. return DynamicSettings(cache_versions)
  24. @pytest.fixture
  25. def settings():
  26. return StaticSettings()
  27. @pytest.fixture
  28. def user_password():
  29. return "p4ssw0rd!"
  30. @pytest.fixture
  31. def anonymous_user():
  32. return AnonymousUser()
  33. @pytest.fixture
  34. def user(db, user_password):
  35. return create_test_user("User", "user@example.com", user_password)
  36. @pytest.fixture
  37. def user_acl(user, cache_versions):
  38. return useracl.get_user_acl(user, cache_versions)
  39. @pytest.fixture
  40. def other_user(db, user_password):
  41. return create_test_user("OtherUser", "otheruser@example.com", user_password)
  42. @pytest.fixture
  43. def other_user_acl(other_user, cache_versions):
  44. return useracl.get_user_acl(other_user, cache_versions)
  45. @pytest.fixture
  46. def staffuser(db, user_password):
  47. user = create_test_superuser("Staffuser", "staffuser@example.com", user_password)
  48. user.is_superuser = False
  49. user.save()
  50. return user
  51. @pytest.fixture
  52. def staffuser_acl(staffuser, cache_versions):
  53. return useracl.get_user_acl(staffuser, cache_versions)
  54. @pytest.fixture
  55. def superuser(db, user_password):
  56. return create_test_superuser("Superuser", "superuser@example.com", user_password)
  57. @pytest.fixture
  58. def superuser_acl(superuser, cache_versions):
  59. return useracl.get_user_acl(superuser, cache_versions)
  60. @pytest.fixture
  61. def admin_client(mocker, client, superuser):
  62. client.force_login(superuser)
  63. session = client.session
  64. authorize_admin(mocker.Mock(session=session, user=superuser))
  65. session.save()
  66. return client