mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
user_groups: Do not allow empty group names in backend.
We now raise error if a user tries to create a group with empty name or tries to update a group name to be empty.
This commit is contained in:
@@ -214,6 +214,9 @@ def access_user_group_for_setting(
|
|||||||
|
|
||||||
|
|
||||||
def check_user_group_name(group_name: str) -> str:
|
def check_user_group_name(group_name: str) -> str:
|
||||||
|
if group_name.strip() == "":
|
||||||
|
raise JsonableError(_("User group name can't be empty!"))
|
||||||
|
|
||||||
if len(group_name) > UserGroup.MAX_NAME_LENGTH:
|
if len(group_name) > UserGroup.MAX_NAME_LENGTH:
|
||||||
raise JsonableError(
|
raise JsonableError(
|
||||||
_("User group name cannot exceed {max_length} characters.").format(
|
_("User group name cannot exceed {max_length} characters.").format(
|
||||||
|
|||||||
@@ -303,6 +303,16 @@ class UserGroupAPITestCase(UserGroupTestCase):
|
|||||||
self.assert_json_error(result, "User group name cannot exceed 100 characters.")
|
self.assert_json_error(result, "User group name cannot exceed 100 characters.")
|
||||||
self.assert_length(UserGroup.objects.filter(realm=hamlet.realm), 10)
|
self.assert_length(UserGroup.objects.filter(realm=hamlet.realm), 10)
|
||||||
|
|
||||||
|
# Test emtpty group name.
|
||||||
|
params = {
|
||||||
|
"name": "",
|
||||||
|
"members": orjson.dumps([hamlet.id]).decode(),
|
||||||
|
"description": "Test empty group",
|
||||||
|
}
|
||||||
|
result = self.client_post("/json/user_groups/create", info=params)
|
||||||
|
self.assert_json_error(result, "User group name can't be empty!")
|
||||||
|
self.assert_length(UserGroup.objects.filter(realm=hamlet.realm), 10)
|
||||||
|
|
||||||
# Test invalid prefixes for user group name.
|
# Test invalid prefixes for user group name.
|
||||||
params = {
|
params = {
|
||||||
"name": "@test",
|
"name": "@test",
|
||||||
@@ -480,6 +490,11 @@ class UserGroupAPITestCase(UserGroupTestCase):
|
|||||||
result = self.client_patch(f"/json/user_groups/{user_group.id}", info=params)
|
result = self.client_patch(f"/json/user_groups/{user_group.id}", info=params)
|
||||||
self.assert_json_error(result, "User group name cannot exceed 100 characters.")
|
self.assert_json_error(result, "User group name cannot exceed 100 characters.")
|
||||||
|
|
||||||
|
# Test emtpty group name.
|
||||||
|
params = {"name": ""}
|
||||||
|
result = self.client_patch(f"/json/user_groups/{user_group.id}", info=params)
|
||||||
|
self.assert_json_error(result, "User group name can't be empty!")
|
||||||
|
|
||||||
# Test invalid prefixes for user group name.
|
# Test invalid prefixes for user group name.
|
||||||
params = {"name": "@test"}
|
params = {"name": "@test"}
|
||||||
result = self.client_patch(f"/json/user_groups/{user_group.id}", info=params)
|
result = self.client_patch(f"/json/user_groups/{user_group.id}", info=params)
|
||||||
|
|||||||
Reference in New Issue
Block a user