mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
45 lines
1.9 KiB
Python
45 lines
1.9 KiB
Python
from unittest import mock
|
|
|
|
from sentry.models.useremail import UserEmail
|
|
from sentry.testutils.cases import APITestCase
|
|
from sentry.testutils.silo import control_silo_test
|
|
|
|
|
|
@control_silo_test
|
|
class UserEmailsConfirmTest(APITestCase):
|
|
endpoint = "sentry-api-0-user-emails-confirm"
|
|
method = "post"
|
|
|
|
def setUp(self):
|
|
super().setUp()
|
|
self.login_as(self.user)
|
|
|
|
@mock.patch("sentry.models.User.send_confirm_email_singular")
|
|
def test_can_confirm(self, send_confirm_email):
|
|
email = UserEmail.objects.create(email="[email protected]", is_verified=False, user=self.user)
|
|
email.save()
|
|
|
|
self.get_success_response(self.user.id, email="[email protected]", status_code=204)
|
|
send_confirm_email.assert_called_once_with(UserEmail.objects.get(email="[email protected]"))
|
|
|
|
@mock.patch("sentry.models.User.send_confirm_email_singular")
|
|
def test_can_confirm_with_uppercase(self, send_confirm_email):
|
|
email = UserEmail.objects.create(email="[email protected]", is_verified=False, user=self.user)
|
|
email.save()
|
|
|
|
self.get_success_response(self.user.id, email="[email protected]", status_code=204)
|
|
send_confirm_email.assert_called_once_with(UserEmail.objects.get(email="[email protected]"))
|
|
|
|
@mock.patch("sentry.models.User.send_confirm_email_singular")
|
|
def test_cant_confirm_verified_email(self, send_confirm_email):
|
|
email = UserEmail.objects.create(email="[email protected]", is_verified=True, user=self.user)
|
|
email.save()
|
|
|
|
self.get_error_response(self.user.id, email="[email protected]", status_code=400)
|
|
assert send_confirm_email.call_count == 0
|
|
|
|
@mock.patch("sentry.models.User.send_confirm_email_singular")
|
|
def test_validate_email(self, send_confirm_email):
|
|
self.get_error_response(self.user.id, email="", status_code=400)
|
|
assert send_confirm_email.call_count == 0
|