Search non ASCII display names using Admin API (#16767)
Closes #16370
Signed-off-by: Adam Jedrzejewski <adamjedrzejewski@icloud.com>
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/rest/admin/test_user.py b/tests/rest/admin/test_user.py
index 04604bfc04..61cbac2332 100644
--- a/tests/rest/admin/test_user.py
+++ b/tests/rest/admin/test_user.py
@@ -1638,8 +1638,17 @@ class UserRestTestCase(unittest.HomeserverTestCase):
)
)
+ self.non_ascii_displayname = "ąćęłńóśżźäöüß中国日本"
+ self.non_ascii_user = self.register_user(
+ "nonascii", "nonascii", displayname=self.non_ascii_displayname
+ )
+
self.url_prefix = "/_synapse/admin/v2/users/%s"
self.url_other_user = self.url_prefix % self.other_user
+ self.url_non_ascii_user = (
+ "/_synapse/admin/v2/users?name=%s"
+ % urllib.parse.quote(self.non_ascii_displayname)
+ )
def test_requester_is_no_admin(self) -> None:
"""
@@ -1790,6 +1799,20 @@ class UserRestTestCase(unittest.HomeserverTestCase):
self.assertEqual("User", channel.json_body["displayname"])
self._check_fields(channel.json_body)
+ def test_get_user_nonascii_displayname(self) -> None:
+ """
+ Test get user by non-ascii display name
+ """
+ channel = self.make_request(
+ "GET",
+ self.url_non_ascii_user,
+ access_token=self.admin_user_tok,
+ )
+
+ users = {user["name"]: user for user in channel.json_body["users"]}
+ self.assertEqual(200, channel.code, msg=channel.json_body)
+ self.assertIn(self.non_ascii_user, users, channel.json_body["users"])
+
def test_create_server_admin(self) -> None:
"""
Check that a new admin user is created successfully.
|