test_verifiers.py 849 B

12345678910111213141516171819202122232425
  1. import pytest
  2. from flaskbb.core.exceptions import ValidationError
  3. from flaskbb.core.tokens import Token, TokenActions
  4. from flaskbb.tokens import verifiers
  5. from flaskbb.user.models import User
  6. pytestmark = pytest.mark.usefixtures('default_settings')
  7. def test_raises_if_email_doesnt_match_token_user(Fred):
  8. verifier = verifiers.EmailMatchesUserToken(User)
  9. token = Token(user_id=1, operation=TokenActions.RESET_PASSWORD)
  10. with pytest.raises(ValidationError) as excinfo:
  11. verifier(token, email="not really")
  12. assert excinfo.value.attribute == "email"
  13. assert excinfo.value.reason == "Wrong email"
  14. def test_doesnt_raise_if_email_matches_token_user(Fred):
  15. verifier = verifiers.EmailMatchesUserToken(User)
  16. token = Token(user_id=Fred.id, operation=TokenActions.ACTIVATE_ACCOUNT)
  17. verifier(token, email=Fred.email)