mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
Fix "add user" admin api error when request contains a "msisdn" threepid (#13263)
Co-authored-by: Thomas Weston <thomas.weston@clearspancloud.com> Co-authored-by: David Robertson <david.m.robertson1@gmail.com>
This commit is contained in:
parent
1381563988
commit
0312ff44c6
1
changelog.d/13263.bugfix
Normal file
1
changelog.d/13263.bugfix
Normal file
@ -0,0 +1 @@
|
||||
Fix a bug introduced in Synapse 1.15.0 where adding a user through the Synapse Admin API with a phone number would fail if the "enable_email_notifs" and "email_notifs_for_new_users" options were enabled. Contributed by @thomasweston12.
|
@ -373,6 +373,7 @@ class UserRestServletV2(RestServlet):
|
||||
if (
|
||||
self.hs.config.email.email_enable_notifs
|
||||
and self.hs.config.email.email_notif_for_new_users
|
||||
and medium == "email"
|
||||
):
|
||||
await self.pusher_pool.add_pusher(
|
||||
user_id=user_id,
|
||||
|
@ -1636,6 +1636,41 @@ class UserRestTestCase(unittest.HomeserverTestCase):
|
||||
)
|
||||
self.assertEqual(len(pushers), 0)
|
||||
|
||||
@override_config(
|
||||
{
|
||||
"email": {
|
||||
"enable_notifs": True,
|
||||
"notif_for_new_users": True,
|
||||
"notif_from": "test@example.com",
|
||||
},
|
||||
"public_baseurl": "https://example.com",
|
||||
}
|
||||
)
|
||||
def test_create_user_email_notif_for_new_users_with_msisdn_threepid(self) -> None:
|
||||
"""
|
||||
Check that a new regular user is created successfully when they have a msisdn
|
||||
threepid and email notif_for_new_users is set to True.
|
||||
"""
|
||||
url = self.url_prefix % "@bob:test"
|
||||
|
||||
# Create user
|
||||
body = {
|
||||
"password": "abc123",
|
||||
"threepids": [{"medium": "msisdn", "address": "1234567890"}],
|
||||
}
|
||||
|
||||
channel = self.make_request(
|
||||
"PUT",
|
||||
url,
|
||||
access_token=self.admin_user_tok,
|
||||
content=body,
|
||||
)
|
||||
|
||||
self.assertEqual(201, channel.code, msg=channel.json_body)
|
||||
self.assertEqual("@bob:test", channel.json_body["name"])
|
||||
self.assertEqual("msisdn", channel.json_body["threepids"][0]["medium"])
|
||||
self.assertEqual("1234567890", channel.json_body["threepids"][0]["address"])
|
||||
|
||||
def test_set_password(self) -> None:
|
||||
"""
|
||||
Test setting a new password for another user.
|
||||
|
Loading…
Reference in New Issue
Block a user