mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 16:14:02 +00:00
create_preregistration_user: Add additional hardening assertion.
TestMaybeSendToRegistration needs tweaking here, because it wasn't setting the subdomain for the dummy request, so maybe_send_to_registration was actually running with realm=None, which is not right for these tests. Also, test_sso_only_when_preregistration_user_exists was creating PreregistrationUser without setting the realm, which was also incorrect.
This commit is contained in:
committed by
Alex Vandiver
parent
0c227217b2
commit
c93cef91e8
@@ -5932,7 +5932,7 @@ class TestRequireEmailFormatUsernames(ZulipTestCase):
|
||||
|
||||
class TestMaybeSendToRegistration(ZulipTestCase):
|
||||
def test_sso_only_when_preregistration_user_does_not_exist(self) -> None:
|
||||
rf = RequestFactory()
|
||||
rf = RequestFactory(HTTP_HOST=Realm.host_for_subdomain("zulip"))
|
||||
request = rf.get("/")
|
||||
request.session = {}
|
||||
request.user = None
|
||||
@@ -5961,11 +5961,13 @@ class TestMaybeSendToRegistration(ZulipTestCase):
|
||||
self.assert_in_response(f'value="{confirmation_key}" name="key"', result)
|
||||
|
||||
def test_sso_only_when_preregistration_user_exists(self) -> None:
|
||||
rf = RequestFactory()
|
||||
rf = RequestFactory(HTTP_HOST=Realm.host_for_subdomain("zulip"))
|
||||
request = rf.get("/")
|
||||
request.session = {}
|
||||
request.user = None
|
||||
|
||||
realm = get_realm("zulip")
|
||||
|
||||
# Creating a mock Django form in order to keep the test simple.
|
||||
# This form will be returned by the create_hompage_form function
|
||||
# and will always be valid so that the code that we want to test
|
||||
@@ -5975,7 +5977,7 @@ class TestMaybeSendToRegistration(ZulipTestCase):
|
||||
return True
|
||||
|
||||
email = self.example_email("hamlet")
|
||||
user = PreregistrationUser(email=email)
|
||||
user = PreregistrationUser(email=email, realm=realm)
|
||||
user.save()
|
||||
|
||||
with mock.patch("zerver.views.auth.HomepageForm", return_value=Form()):
|
||||
|
@@ -98,6 +98,7 @@ def create_preregistration_user(
|
||||
full_name_validated: bool = False,
|
||||
) -> PreregistrationUser:
|
||||
assert not (realm_creation and realm is not None)
|
||||
assert not (realm is None and not realm_creation)
|
||||
|
||||
return PreregistrationUser.objects.create(
|
||||
email=email,
|
||||
|
Reference in New Issue
Block a user