mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
MM-15947: Prevents new user creation with invite link to group-constrained team. (#11023)
This commit is contained in:
@@ -260,6 +260,25 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
||||
CheckUserSanitization(t, ruser)
|
||||
})
|
||||
|
||||
t.Run("GroupConstrainedTeam", func(t *testing.T) {
|
||||
user := model.User{Email: th.GenerateTestEmail(), Nickname: "", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||
|
||||
th.BasicTeam.GroupConstrained = model.NewBool(true)
|
||||
team, err := th.App.UpdateTeam(th.BasicTeam)
|
||||
require.Nil(t, err)
|
||||
|
||||
defer func() {
|
||||
th.BasicTeam.GroupConstrained = model.NewBool(false)
|
||||
_, err = th.App.UpdateTeam(th.BasicTeam)
|
||||
require.Nil(t, err)
|
||||
}()
|
||||
|
||||
inviteID := team.InviteId
|
||||
|
||||
_, resp := th.Client.CreateUserWithInviteId(&user, inviteID)
|
||||
require.Equal(t, "app.team.invite_id.group_constrained.error", resp.Error.Id)
|
||||
})
|
||||
|
||||
t.Run("WrongInviteId", func(t *testing.T) {
|
||||
user := model.User{Email: th.GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.SYSTEM_ADMIN_ROLE_ID + " " + model.SYSTEM_USER_ROLE_ID}
|
||||
|
||||
@@ -336,7 +355,6 @@ func TestCreateUserWithInviteId(t *testing.T) {
|
||||
}
|
||||
CheckUserSanitization(t, ruser)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
func TestGetMe(t *testing.T) {
|
||||
|
||||
@@ -104,6 +104,10 @@ func (a *App) CreateUserWithInviteId(user *model.User, inviteId string) (*model.
|
||||
}
|
||||
team := result.Data.(*model.Team)
|
||||
|
||||
if team.IsGroupConstrained() {
|
||||
return nil, model.NewAppError("CreateUserWithInviteId", "app.team.invite_id.group_constrained.error", nil, "", http.StatusForbidden)
|
||||
}
|
||||
|
||||
user.EmailVerified = false
|
||||
|
||||
ruser, err := a.CreateUser(user)
|
||||
|
||||
Reference in New Issue
Block a user