test_signatures.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from unittest.mock import Mock
  2. import pytest
  3. from ...acl.useracl import get_user_acl
  4. from ...users import signatures
  5. @pytest.fixture
  6. def signature(user):
  7. user.signature = "Test"
  8. user.signature_parsed = "Test"
  9. user.signature_checksum = "Test"
  10. user.save()
  11. def test_user_signature_and_valid_checksum_is_set(user, signature, user_acl):
  12. request = Mock(scheme="http", get_host=Mock(return_value="127.0.0.1:800"))
  13. signatures.set_user_signature(request, user, user_acl, "Changed")
  14. assert user.signature == "Changed"
  15. assert user.signature_parsed == "<p>Changed</p>"
  16. assert user.signature_checksum
  17. assert signatures.is_user_signature_valid(user)
  18. def test_user_signature_is_cleared(user, signature, user_acl):
  19. request = Mock(scheme="http", get_host=Mock(return_value="127.0.0.1:800"))
  20. signatures.set_user_signature(request, user, user_acl, "")
  21. assert not user.signature
  22. assert not user.signature_parsed
  23. assert not user.signature_checksum
  24. def test_signature_validity_check_fails_for_incorrect_signature_checksum(
  25. user, signature
  26. ):
  27. assert not signatures.is_user_signature_valid(user)