коммит произвёл
GitHub
родитель
073bd3a6b7
Коммит
9408b98025
@@ -456,39 +456,45 @@ func testRoleStoreLowerScopedChannelSchemeRoles(t *testing.T, rctx request.CTX,
|
||||
actualRoles, err := ss.Role().ChannelRolesUnderTeamRole(teamScheme1.DefaultChannelGuestRole)
|
||||
require.NoError(t, err)
|
||||
|
||||
var actualRoleNames []string
|
||||
roleByName := make(map[string]*model.Role, len(actualRoles))
|
||||
for _, role := range actualRoles {
|
||||
actualRoleNames = append(actualRoleNames, role.Name)
|
||||
roleByName[role.Name] = role
|
||||
}
|
||||
|
||||
require.Contains(t, actualRoleNames, channelScheme1.DefaultChannelGuestRole)
|
||||
require.NotContains(t, actualRoleNames, channelScheme2.DefaultChannelGuestRole)
|
||||
require.Contains(t, roleByName, channelScheme1.DefaultChannelGuestRole)
|
||||
require.NotContains(t, roleByName, channelScheme2.DefaultChannelGuestRole)
|
||||
require.NotNil(t, roleByName[channelScheme1.DefaultChannelGuestRole].SchemeId)
|
||||
assert.Equal(t, channelScheme1.Id, *roleByName[channelScheme1.DefaultChannelGuestRole].SchemeId)
|
||||
})
|
||||
|
||||
t.Run("user role for the right team's channels are returned", func(t *testing.T) {
|
||||
actualRoles, err := ss.Role().ChannelRolesUnderTeamRole(teamScheme1.DefaultChannelUserRole)
|
||||
require.NoError(t, err)
|
||||
|
||||
var actualRoleNames []string
|
||||
roleByName := make(map[string]*model.Role, len(actualRoles))
|
||||
for _, role := range actualRoles {
|
||||
actualRoleNames = append(actualRoleNames, role.Name)
|
||||
roleByName[role.Name] = role
|
||||
}
|
||||
|
||||
require.Contains(t, actualRoleNames, channelScheme1.DefaultChannelUserRole)
|
||||
require.NotContains(t, actualRoleNames, channelScheme2.DefaultChannelUserRole)
|
||||
require.Contains(t, roleByName, channelScheme1.DefaultChannelUserRole)
|
||||
require.NotContains(t, roleByName, channelScheme2.DefaultChannelUserRole)
|
||||
require.NotNil(t, roleByName[channelScheme1.DefaultChannelUserRole].SchemeId)
|
||||
assert.Equal(t, channelScheme1.Id, *roleByName[channelScheme1.DefaultChannelUserRole].SchemeId)
|
||||
})
|
||||
|
||||
t.Run("admin role for the right team's channels are returned", func(t *testing.T) {
|
||||
actualRoles, err := ss.Role().ChannelRolesUnderTeamRole(teamScheme1.DefaultChannelAdminRole)
|
||||
require.NoError(t, err)
|
||||
|
||||
var actualRoleNames []string
|
||||
roleByName := make(map[string]*model.Role, len(actualRoles))
|
||||
for _, role := range actualRoles {
|
||||
actualRoleNames = append(actualRoleNames, role.Name)
|
||||
roleByName[role.Name] = role
|
||||
}
|
||||
|
||||
require.Contains(t, actualRoleNames, channelScheme1.DefaultChannelAdminRole)
|
||||
require.NotContains(t, actualRoleNames, channelScheme2.DefaultChannelAdminRole)
|
||||
require.Contains(t, roleByName, channelScheme1.DefaultChannelAdminRole)
|
||||
require.NotContains(t, roleByName, channelScheme2.DefaultChannelAdminRole)
|
||||
require.NotNil(t, roleByName[channelScheme1.DefaultChannelAdminRole].SchemeId)
|
||||
assert.Equal(t, channelScheme1.Id, *roleByName[channelScheme1.DefaultChannelAdminRole].SchemeId)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -497,9 +503,9 @@ func testRoleStoreLowerScopedChannelSchemeRoles(t *testing.T, rctx request.CTX,
|
||||
actualRoles, err := ss.Role().AllChannelSchemeRoles()
|
||||
require.NoError(t, err)
|
||||
|
||||
var actualRoleNames []string
|
||||
roleByName := make(map[string]*model.Role, len(actualRoles))
|
||||
for _, role := range actualRoles {
|
||||
actualRoleNames = append(actualRoleNames, role.Name)
|
||||
roleByName[role.Name] = role
|
||||
}
|
||||
|
||||
allRoleNames := []string{
|
||||
@@ -514,7 +520,27 @@ func testRoleStoreLowerScopedChannelSchemeRoles(t *testing.T, rctx request.CTX,
|
||||
}
|
||||
|
||||
for _, roleName := range allRoleNames {
|
||||
require.Contains(t, actualRoleNames, roleName)
|
||||
require.Contains(t, roleByName, roleName)
|
||||
}
|
||||
|
||||
// Roles for channelScheme1 must carry channelScheme1's ID.
|
||||
for _, roleName := range []string{
|
||||
channelScheme1.DefaultChannelGuestRole,
|
||||
channelScheme1.DefaultChannelUserRole,
|
||||
channelScheme1.DefaultChannelAdminRole,
|
||||
} {
|
||||
require.NotNil(t, roleByName[roleName].SchemeId)
|
||||
assert.Equal(t, channelScheme1.Id, *roleByName[roleName].SchemeId)
|
||||
}
|
||||
|
||||
// Roles for channelScheme2 must carry channelScheme2's ID.
|
||||
for _, roleName := range []string{
|
||||
channelScheme2.DefaultChannelGuestRole,
|
||||
channelScheme2.DefaultChannelUserRole,
|
||||
channelScheme2.DefaultChannelAdminRole,
|
||||
} {
|
||||
require.NotNil(t, roleByName[roleName].SchemeId)
|
||||
assert.Equal(t, channelScheme2.Id, *roleByName[roleName].SchemeId)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -174,6 +174,28 @@ func testSchemeStoreSave(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
assert.Equal(t, role6.Permissions, []string{"read_channel", "read_channel_content", "create_post"})
|
||||
assert.True(t, role6.SchemeManaged)
|
||||
|
||||
role7, err := ss.Role().GetByName(context.Background(), d1.DefaultPlaybookAdminRole)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, role7.SchemeManaged)
|
||||
|
||||
role8, err := ss.Role().GetByName(context.Background(), d1.DefaultPlaybookMemberRole)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, role8.SchemeManaged)
|
||||
|
||||
role9, err := ss.Role().GetByName(context.Background(), d1.DefaultRunAdminRole)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, role9.SchemeManaged)
|
||||
|
||||
role10, err := ss.Role().GetByName(context.Background(), d1.DefaultRunMemberRole)
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, role10.SchemeManaged)
|
||||
|
||||
// Every role created for a scheme must carry the scheme's ID.
|
||||
for _, role := range []*model.Role{role1, role2, role3, role4, role5, role6, role7, role8, role9, role10} {
|
||||
require.NotNil(t, role.SchemeId)
|
||||
assert.Equal(t, d1.Id, *role.SchemeId)
|
||||
}
|
||||
|
||||
// Change the scheme description and update.
|
||||
d1.Description = model.NewId()
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user