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>
Этот коммит содержится в:
Agniva De Sarker
2020-06-29 21:04:29 +05:30
коммит произвёл GitHub
родитель 05dc928576
Коммит a9ba052207
3 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@@ -111,6 +111,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
},
"channel_admin": {
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
model.PERMISSION_USE_GROUP_MENTIONS.Id,
},
"team_user": {
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_INCOMING_WEBHOOKS.Id,
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
model.PERMISSION_USE_GROUP_MENTIONS.Id,
model.PERMISSION_EDIT_POST.Id,
},
}
@@ -239,7 +241,6 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
assert.Nil(t, err)
assert.Equal(t, role.Permissions, permissions)
}
// Add a license and change the policy config.
restrictPublicChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPublicChannelManagement
restrictPrivateChannel := *th.App.Config().TeamSettings.DEPRECATED_DO_NOT_USE_RestrictPrivateChannelManagement
@@ -300,6 +301,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
},
"channel_admin": {
model.PERMISSION_MANAGE_CHANNEL_ROLES.Id,
model.PERMISSION_USE_GROUP_MENTIONS.Id,
},
"team_user": {
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_INCOMING_WEBHOOKS.Id,
model.PERMISSION_MANAGE_OUTGOING_WEBHOOKS.Id,
model.PERMISSION_USE_GROUP_MENTIONS.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)
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_DELETE_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()
@@ -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_DELETE_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()) {

Просмотреть файл

@@ -422,6 +422,7 @@ func MakeDefaultRoles() map[string]*Role {
Description: "authentication.roles.channel_admin.description",
Permissions: []string{
PERMISSION_MANAGE_CHANNEL_ROLES.Id,
PERMISSION_USE_GROUP_MENTIONS.Id,
},
SchemeManaged: true,
BuiltIn: true,