MM-26206: Add GroupMentions permissions in default channel admin (#14838)
* MM-26206: Add GroupMentions permissions in default channel admin This permission was skipped from the default permissions function. Which led to a bug where permissions reset would not bring back this permission to the different roles. * Added tests Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
05dc928576
Коммит
a9ba052207
@@ -111,6 +111,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"channel_admin": {
|
"channel_admin": {
|
||||||
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
|
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
|
||||||
|
model.PERMISSION_USE_GROUP_MENTIONS.Id,
|
||||||
},
|
},
|
||||||
"team_user": {
|
"team_user": {
|
||||||
model.PERMISSION_LIST_TEAM_CHANNELS.Id,
|
model.PERMISSION_LIST_TEAM_CHANNELS.Id,
|
||||||
@@ -229,6 +230,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
|
|||||||
model.PERMISSION_MANAGE_OTHERS_SLASH_COMMANDS.Id,
|
model.PERMISSION_MANAGE_OTHERS_SLASH_COMMANDS.Id,
|
||||||
model.PERMISSION_MANAGE_INCOMING_WEBHOOKS.Id,
|
model.PERMISSION_MANAGE_INCOMING_WEBHOOKS.Id,
|
||||||
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
|
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
|
||||||
|
model.PERMISSION_USE_GROUP_MENTIONS.Id,
|
||||||
model.PERMISSION_EDIT_POST.Id,
|
model.PERMISSION_EDIT_POST.Id,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -239,7 +241,6 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
|
|||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Equal(t, role.Permissions, permissions)
|
assert.Equal(t, role.Permissions, permissions)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a license and change the policy config.
|
// Add a license and change the policy config.
|
||||||
restrictPublicChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement
|
restrictPublicChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement
|
||||||
restrictPrivateChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement
|
restrictPrivateChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement
|
||||||
@@ -300,6 +301,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
|
|||||||
},
|
},
|
||||||
"channel_admin": {
|
"channel_admin": {
|
||||||
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
|
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
|
||||||
|
model.PERMISSION_USE_GROUP_MENTIONS.Id,
|
||||||
},
|
},
|
||||||
"team_user": {
|
"team_user": {
|
||||||
model.PERMISSION_LIST_TEAM_CHANNELS.Id,
|
model.PERMISSION_LIST_TEAM_CHANNELS.Id,
|
||||||
@@ -420,6 +422,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
|
|||||||
model.PERMISSION_MANAGE_OTHERS_SLASH_COMMANDS.Id,
|
model.PERMISSION_MANAGE_OTHERS_SLASH_COMMANDS.Id,
|
||||||
model.PERMISSION_MANAGE_INCOMING_WEBHOOKS.Id,
|
model.PERMISSION_MANAGE_INCOMING_WEBHOOKS.Id,
|
||||||
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
|
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
|
||||||
|
model.PERMISSION_USE_GROUP_MENTIONS.Id,
|
||||||
model.PERMISSION_EDIT_POST.Id,
|
model.PERMISSION_EDIT_POST.Id,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ func TestImportPermissions_schemeDeletedOnRoleFailure(t *testing.T) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEmojiMigration(t *testing.T) {
|
func TestMigration(t *testing.T) {
|
||||||
th := Setup(t)
|
th := Setup(t)
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|
||||||
@@ -264,6 +264,7 @@ func TestEmojiMigration(t *testing.T) {
|
|||||||
assert.Contains(t, role.Permissions, model.PERMISSION_CREATE_EMOJIS.Id)
|
assert.Contains(t, role.Permissions, model.PERMISSION_CREATE_EMOJIS.Id)
|
||||||
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_EMOJIS.Id)
|
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_EMOJIS.Id)
|
||||||
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_OTHERS_EMOJIS.Id)
|
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_OTHERS_EMOJIS.Id)
|
||||||
|
assert.Contains(t, role.Permissions, model.PERMISSION_USE_GROUP_MENTIONS.Id)
|
||||||
|
|
||||||
th.App.ResetPermissionsSystem()
|
th.App.ResetPermissionsSystem()
|
||||||
|
|
||||||
@@ -272,6 +273,7 @@ func TestEmojiMigration(t *testing.T) {
|
|||||||
assert.Contains(t, role.Permissions, model.PERMISSION_CREATE_EMOJIS.Id)
|
assert.Contains(t, role.Permissions, model.PERMISSION_CREATE_EMOJIS.Id)
|
||||||
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_EMOJIS.Id)
|
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_EMOJIS.Id)
|
||||||
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_OTHERS_EMOJIS.Id)
|
assert.Contains(t, role.Permissions, model.PERMISSION_DELETE_OTHERS_EMOJIS.Id)
|
||||||
|
assert.Contains(t, role.Permissions, model.PERMISSION_USE_GROUP_MENTIONS.Id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func withMigrationMarkedComplete(th *TestHelper, f func()) {
|
func withMigrationMarkedComplete(th *TestHelper, f func()) {
|
||||||
|
|||||||
@@ -422,6 +422,7 @@ func MakeDefaultRoles() map[string]*Role {
|
|||||||
Description: "authentication.roles.channel_admin.description",
|
Description: "authentication.roles.channel_admin.description",
|
||||||
Permissions: []string{
|
Permissions: []string{
|
||||||
PERMISSION_MANAGE_CHANNEL_ROLES.Id,
|
PERMISSION_MANAGE_CHANNEL_ROLES.Id,
|
||||||
|
PERMISSION_USE_GROUP_MENTIONS.Id,
|
||||||
},
|
},
|
||||||
SchemeManaged: true,
|
SchemeManaged: true,
|
||||||
BuiltIn: true,
|
BuiltIn: true,
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user