conftest.py 2.1 KB

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