MM-56929- Dont allow guests to be set via team API (#26286)
* dont allow guests to be set via team API * comment out invalid test * Update import_functions_test.go --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
f8253439b8
Коммит
e0f3713bdf
@@ -2913,6 +2913,28 @@ func TestUpdateTeamMemberRoles(t *testing.T) {
|
||||
func TestUpdateTeamMemberSchemeRoles(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
enableGuestAccounts := *th.App.Config().GuestAccountsSettings.Enable
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.GuestAccountsSettings.Enable = enableGuestAccounts })
|
||||
th.App.Srv().RemoveLicense()
|
||||
}()
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.GuestAccountsSettings.Enable = true })
|
||||
th.App.Srv().SetLicense(model.NewTestLicense())
|
||||
|
||||
id := model.NewId()
|
||||
guest := &model.User{
|
||||
Email: th.GenerateTestEmail(),
|
||||
Nickname: "nn_" + id,
|
||||
FirstName: "f_" + id,
|
||||
LastName: "l_" + id,
|
||||
Password: "Pa$$word11",
|
||||
EmailVerified: true,
|
||||
}
|
||||
guest, appError := th.App.CreateGuest(th.Context, guest)
|
||||
require.Nil(t, appError)
|
||||
_, _, appError = th.App.AddUserToTeam(th.Context, th.BasicTeam.Id, guest.Id, "")
|
||||
require.Nil(t, appError)
|
||||
|
||||
SystemAdminClient := th.SystemAdminClient
|
||||
th.LoginBasic()
|
||||
|
||||
@@ -2944,6 +2966,11 @@ func TestUpdateTeamMemberSchemeRoles(t *testing.T) {
|
||||
assert.Equal(t, true, tm2.SchemeUser)
|
||||
assert.Equal(t, false, tm2.SchemeAdmin)
|
||||
|
||||
//cannot set Guest to User for single team
|
||||
resp, err := SystemAdminClient.UpdateTeamMemberSchemeRoles(context.Background(), th.BasicTeam.Id, guest.Id, s2)
|
||||
require.Error(t, err)
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
s3 := &model.SchemeRoles{
|
||||
SchemeAdmin: true,
|
||||
SchemeUser: false,
|
||||
@@ -2977,21 +3004,18 @@ func TestUpdateTeamMemberSchemeRoles(t *testing.T) {
|
||||
SchemeUser: false,
|
||||
SchemeGuest: true,
|
||||
}
|
||||
_, err = SystemAdminClient.UpdateTeamMemberSchemeRoles(context.Background(), th.BasicTeam.Id, th.BasicUser.Id, s5)
|
||||
require.NoError(t, err)
|
||||
|
||||
tm5, _, err := SystemAdminClient.GetTeamMember(context.Background(), th.BasicTeam.Id, th.BasicUser.Id, "")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, true, tm5.SchemeGuest)
|
||||
assert.Equal(t, false, tm5.SchemeUser)
|
||||
assert.Equal(t, false, tm5.SchemeAdmin)
|
||||
// cannot set user to guest for a single team
|
||||
resp, err = SystemAdminClient.UpdateTeamMemberSchemeRoles(context.Background(), th.BasicTeam.Id, th.BasicUser.Id, s5)
|
||||
require.Error(t, err)
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
s6 := &model.SchemeRoles{
|
||||
SchemeAdmin: false,
|
||||
SchemeUser: true,
|
||||
SchemeGuest: true,
|
||||
}
|
||||
resp, err := SystemAdminClient.UpdateTeamMemberSchemeRoles(context.Background(), th.BasicTeam.Id, th.BasicUser.Id, s6)
|
||||
resp, err = SystemAdminClient.UpdateTeamMemberSchemeRoles(context.Background(), th.BasicTeam.Id, th.BasicUser.Id, s6)
|
||||
require.Error(t, err)
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
@@ -3003,7 +3027,7 @@ func TestUpdateTeamMemberSchemeRoles(t *testing.T) {
|
||||
require.Error(t, err)
|
||||
CheckNotFoundStatus(t, resp)
|
||||
|
||||
resp, err = SystemAdminClient.UpdateTeamMemberSchemeRoles(context.Background(), th.BasicTeam.Id, th.BasicUser.Id, s4)
|
||||
resp, err = SystemAdminClient.UpdateTeamMemberSchemeRoles(context.Background(), th.BasicTeam.Id, guest.Id, s4)
|
||||
require.Error(t, err) // user is a guest, cannot be set as member or admin
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user