[MM-22791] Prevent account creation if new user does not have allowed domain for the team (#14012)

* app/user: prevent user creation for restricted domains for a team

* app/user_test: add error message checks to CreateUserWithInviteId
Этот коммит содержится в:
Ibrahim Serdar Acikgoz
2020-03-17 17:23:59 +03:00
коммит произвёл GitHub
родитель 42081a1441
Коммит 4823b3861a
2 изменённых файлов: 32 добавлений и 0 удалений

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

@@ -567,6 +567,34 @@ func TestGetUsersByStatus(t *testing.T) {
})
}
func TestCreateUserWithInviteId(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@example.com", Nickname: "Darth Vader", Username: "vader" + model.NewId(), Password: "passwd1", AuthService: ""}
t.Run("should create a user", func(t *testing.T) {
u, err := th.App.CreateUserWithInviteId(&user, th.BasicTeam.InviteId)
require.Nil(t, err)
require.Equal(t, u.Id, user.Id)
})
t.Run("invalid invite id", func(t *testing.T) {
_, err := th.App.CreateUserWithInviteId(&user, "")
require.NotNil(t, err)
require.Contains(t, err.Id, "store.sql_team.get_by_invite_id")
})
t.Run("invalid domain", func(t *testing.T) {
th.BasicTeam.AllowedDomains = "mattermost.com"
_, err := th.App.Srv().Store.Team().Update(th.BasicTeam)
require.Nil(t, err)
_, err = th.App.CreateUserWithInviteId(&user, th.BasicTeam.InviteId)
require.NotNil(t, err)
require.Equal(t, "api.team.invite_members.invalid_email.app_error", err.Id)
})
}
func TestCreateUserWithToken(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()