Usernames must start with a letter (#5581)

Этот коммит содержится в:
Joram Wilander
2017-03-03 12:04:15 -05:00
коммит произвёл Christopher Speller
родитель 09ee8e8a58
Коммит 2e911b77c3
11 изменённых файлов: 97 добавлений и 74 удалений

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

@@ -32,12 +32,12 @@ func TestStatuses(t *testing.T) {
team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
rteam, _ := Client.CreateTeam(&team) rteam, _ := Client.CreateTeam(&team)
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User)
LinkUserToTeam(ruser, rteam.Data.(*model.Team)) LinkUserToTeam(ruser, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id))
user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser2 := Client.Must(Client.CreateUser(&user2, "")).Data.(*model.User) ruser2 := Client.Must(Client.CreateUser(&user2, "")).Data.(*model.User)
LinkUserToTeam(ruser2, rteam.Data.(*model.Team)) LinkUserToTeam(ruser2, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Id))

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

@@ -22,7 +22,7 @@ func TestCreateTeam(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, rteam.Data.(*model.Team)) LinkUserToTeam(user, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -144,7 +144,7 @@ func TestGetAllTeams(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -178,7 +178,7 @@ func TestGetAllTeamListings(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -225,7 +225,7 @@ func TestTeamPermDelete(t *testing.T) {
Client.Logout() Client.Logout()
user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user1 = Client.Must(Client.CreateUser(user1, "")).Data.(*model.User) user1 = Client.Must(Client.CreateUser(user1, "")).Data.(*model.User)
LinkUserToTeam(user1, team) LinkUserToTeam(user1, team)
store.Must(app.Srv.Store.User().VerifyEmail(user1.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user1.Id))
@@ -270,7 +270,7 @@ func TestInviteMembers(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -355,7 +355,7 @@ func TestUpdateTeamDisplayName(t *testing.T) {
Client.Logout() Client.Logout()
user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
LinkUserToTeam(user2, team) LinkUserToTeam(user2, team)
store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id))
@@ -416,7 +416,7 @@ func TestGetMyTeam(t *testing.T) {
Client.Logout() Client.Logout()
user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser, _ := Client.CreateUser(&user, "") ruser, _ := Client.CreateUser(&user, "")
LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id))
@@ -662,7 +662,7 @@ func TestGetTeamStats(t *testing.T) {
} }
} }
user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser, _ := Client.CreateUser(&user, "") ruser, _ := Client.CreateUser(&user, "")
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id))
@@ -682,7 +682,7 @@ func TestUpdateTeamDescription(t *testing.T) {
Client.Logout() Client.Logout()
user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1"} user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
LinkUserToTeam(user2, team) LinkUserToTeam(user2, team)
store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id))
@@ -733,7 +733,7 @@ func TestGetTeamByName(t *testing.T) {
Client.Must(Client.Logout()) Client.Must(Client.Logout())
user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1"} user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id))

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

@@ -78,6 +78,12 @@ func TestCreateUser(t *testing.T) {
} }
} }
user.Username = "1" + user.Username
user.Email = strings.ToLower("success+"+model.NewId()) + "@simulator.amazonses.com"
if _, err := Client.CreateUser(&user, ""); err == nil {
t.Fatal("should have been an error - username must start with letter")
}
if _, err := Client.DoApiPost("/users/create", "garbage"); err == nil { if _, err := Client.DoApiPost("/users/create", "garbage"); err == nil {
t.Fatal("should have been an error") t.Fatal("should have been an error")
} }
@@ -172,7 +178,7 @@ func TestLogin(t *testing.T) {
Client.AuthToken = "" Client.AuthToken = ""
user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
if _, err := Client.CreateUserFromSignup(&user2, "junk", "1231312"); err == nil { if _, err := Client.CreateUserFromSignup(&user2, "junk", "1231312"); err == nil {
t.Fatal("Should have errored, signed up without hashed email") t.Fatal("Should have errored, signed up without hashed email")
@@ -354,17 +360,17 @@ func TestGetUser(t *testing.T) {
Client.Logout() Client.Logout()
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser, _ := Client.CreateUser(&user, "") ruser, _ := Client.CreateUser(&user, "")
LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id))
user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: "Corey", LastName: "Hulen"} user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: "Corey", LastName: "Hulen", Username: "n" + model.NewId()}
ruser2, _ := Client.CreateUser(&user2, "") ruser2, _ := Client.CreateUser(&user2, "")
LinkUserToTeam(ruser2.Data.(*model.User), rteam.Data.(*model.Team)) LinkUserToTeam(ruser2.Data.(*model.User), rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Data.(*model.User).Id))
user3 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user3 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser3, _ := Client.CreateUser(&user3, "") ruser3, _ := Client.CreateUser(&user3, "")
LinkUserToTeam(ruser3.Data.(*model.User), rteam2.Data.(*model.Team)) LinkUserToTeam(ruser3.Data.(*model.User), rteam2.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser3.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser3.Data.(*model.User).Id))
@@ -619,7 +625,7 @@ func TestGetAudits(t *testing.T) {
Client.Logout() Client.Logout()
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser, _ := Client.CreateUser(&user, "") ruser, _ := Client.CreateUser(&user, "")
LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id))
@@ -674,7 +680,7 @@ func TestUserCreateImage(t *testing.T) {
team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team)
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -721,7 +727,7 @@ func TestUserUploadProfileImage(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -832,7 +838,7 @@ func TestUserUpdate(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: ""} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: "", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -862,7 +868,7 @@ func TestUserUpdate(t *testing.T) {
} }
} }
user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
LinkUserToTeam(user2, team) LinkUserToTeam(user2, team)
store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id))
@@ -887,7 +893,7 @@ func TestUserUpdatePassword(t *testing.T) {
Client.Logout() Client.Logout()
Client.SetTeamId(team.Id) Client.SetTeamId(team.Id)
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -951,7 +957,7 @@ func TestUserUpdatePassword(t *testing.T) {
t.Fatal("Should have errored") t.Fatal("Should have errored")
} }
user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
LinkUserToTeam(user2, team) LinkUserToTeam(user2, team)
@@ -971,12 +977,12 @@ func TestUserUpdateRoles(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
LinkUserToTeam(user2, team) LinkUserToTeam(user2, team)
store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id))
@@ -995,7 +1001,7 @@ func TestUserUpdateRoles(t *testing.T) {
team2 := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team2 := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
team2 = Client.Must(Client.CreateTeam(team2)).Data.(*model.Team) team2 = Client.Must(Client.CreateTeam(team2)).Data.(*model.Team)
user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user3 = Client.Must(Client.CreateUser(user3, "")).Data.(*model.User) user3 = Client.Must(Client.CreateUser(user3, "")).Data.(*model.User)
LinkUserToTeam(user3, team2) LinkUserToTeam(user3, team2)
store.Must(app.Srv.Store.User().VerifyEmail(user3.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user3.Id))
@@ -1090,7 +1096,7 @@ func TestUserUpdateDeviceId(t *testing.T) {
team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team)
user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -1121,7 +1127,7 @@ func TestUserUpdateDeviceId2(t *testing.T) {
team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team)
user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -1158,12 +1164,12 @@ func TestUserUpdateActive(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
LinkUserToTeam(user2, team) LinkUserToTeam(user2, team)
store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id))
@@ -1181,7 +1187,7 @@ func TestUserUpdateActive(t *testing.T) {
Client.Must(Client.Logout()) Client.Must(Client.Logout())
user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user3 = Client.Must(Client.CreateUser(user3, "")).Data.(*model.User) user3 = Client.Must(Client.CreateUser(user3, "")).Data.(*model.User)
LinkUserToTeam(user2, team2) LinkUserToTeam(user2, team2)
store.Must(app.Srv.Store.User().VerifyEmail(user3.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user3.Id))
@@ -1224,7 +1230,7 @@ func TestUserPermDelete(t *testing.T) {
team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team)
user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user1 = Client.Must(Client.CreateUser(user1, "")).Data.(*model.User) user1 = Client.Must(Client.CreateUser(user1, "")).Data.(*model.User)
LinkUserToTeam(user1, team) LinkUserToTeam(user1, team)
store.Must(app.Srv.Store.User().VerifyEmail(user1.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user1.Id))
@@ -1266,7 +1272,7 @@ func TestSendPasswordReset(t *testing.T) {
team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team)
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -1291,7 +1297,7 @@ func TestSendPasswordReset(t *testing.T) {
} }
authData := model.NewId() authData := model.NewId()
user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", AuthData: &authData, AuthService: "random"} user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", AuthData: &authData, AuthService: "random", Username: "n" + model.NewId()}
user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User)
LinkUserToTeam(user2, team) LinkUserToTeam(user2, team)
store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id))
@@ -1306,7 +1312,7 @@ func TestResetPassword(t *testing.T) {
Client := th.SystemAdminClient Client := th.SystemAdminClient
team := th.SystemAdminTeam team := th.SystemAdminTeam
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -1396,7 +1402,7 @@ func TestUserUpdateNotify(t *testing.T) {
Client.Logout() Client.Logout()
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: ""} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: "", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, team) LinkUserToTeam(user, team)
store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id))
@@ -1491,7 +1497,7 @@ func TestFuzzyUserCreate(t *testing.T) {
testEmail = utils.FUZZY_STRINGS_EMAILS[i] testEmail = utils.FUZZY_STRINGS_EMAILS[i]
} }
user := model.User{Email: strings.ToLower(model.NewId()) + testEmail, Nickname: testName, Password: "hello1"} user := model.User{Email: strings.ToLower(model.NewId()) + testEmail, Nickname: testName, Password: "hello1", Username: "n" + model.NewId()}
ruser, err := Client.CreateUser(&user, "") ruser, err := Client.CreateUser(&user, "")
if err != nil { if err != nil {
@@ -1511,7 +1517,7 @@ func TestEmailToOAuth(t *testing.T) {
Client.Logout() Client.Logout()
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User)
LinkUserToTeam(ruser, rteam.Data.(*model.Team)) LinkUserToTeam(ruser, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id))
@@ -1564,12 +1570,12 @@ func TestOAuthToEmail(t *testing.T) {
Client.Logout() Client.Logout()
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User)
LinkUserToTeam(ruser, rteam.Data.(*model.Team)) LinkUserToTeam(ruser, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id))
user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser2 := Client.Must(Client.CreateUser(&user2, "")).Data.(*model.User) ruser2 := Client.Must(Client.CreateUser(&user2, "")).Data.(*model.User)
LinkUserToTeam(ruser2, rteam.Data.(*model.Team)) LinkUserToTeam(ruser2, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Id))
@@ -1615,7 +1621,7 @@ func TestLDAPToEmail(t *testing.T) {
team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
rteam, _ := Client.CreateTeam(&team) rteam, _ := Client.CreateTeam(&team)
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User)
LinkUserToTeam(ruser, rteam.Data.(*model.Team)) LinkUserToTeam(ruser, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id))
@@ -1668,7 +1674,7 @@ func TestEmailToLDAP(t *testing.T) {
team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
rteam, _ := Client.CreateTeam(&team) rteam, _ := Client.CreateTeam(&team)
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User)
LinkUserToTeam(ruser, rteam.Data.(*model.Team)) LinkUserToTeam(ruser, rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id))
@@ -1799,7 +1805,7 @@ func TestGenerateMfaSecret(t *testing.T) {
team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
rteam, _ := Client.CreateTeam(&team) rteam, _ := Client.CreateTeam(&team)
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser, _ := Client.CreateUser(&user, "") ruser, _ := Client.CreateUser(&user, "")
LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id))
@@ -1840,7 +1846,7 @@ func TestUpdateMfa(t *testing.T) {
team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} team := model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN}
rteam, _ := Client.CreateTeam(&team) rteam, _ := Client.CreateTeam(&team)
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser, _ := Client.CreateUser(&user, "") ruser, _ := Client.CreateUser(&user, "")
LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id))
@@ -1881,7 +1887,7 @@ func TestCheckMfa(t *testing.T) {
Client.Logout() Client.Logout()
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
ruser, _ := Client.CreateUser(&user, "") ruser, _ := Client.CreateUser(&user, "")
LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team))
store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id))
@@ -2048,7 +2054,7 @@ func TestGetProfilesInChannel(t *testing.T) {
} }
} }
user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
Client.Must(Client.CreateUser(&user, "")) Client.Must(Client.CreateUser(&user, ""))
Client.Login(user.Email, "passwd1") Client.Login(user.Email, "passwd1")
@@ -2094,7 +2100,7 @@ func TestGetProfilesNotInChannel(t *testing.T) {
} }
} }
user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User)
LinkUserToTeam(user, th.BasicTeam) LinkUserToTeam(user, th.BasicTeam)
@@ -2132,7 +2138,7 @@ func TestGetProfilesNotInChannel(t *testing.T) {
} }
} }
user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()}
Client.Must(Client.CreateUser(&user2, "")) Client.Must(Client.CreateUser(&user2, ""))
Client.Login(user2.Email, "passwd1") Client.Login(user2.Email, "passwd1")
@@ -2297,7 +2303,7 @@ func TestSearchUsers(t *testing.T) {
utils.Cfg.PrivacySettings.ShowFullName = false utils.Cfg.PrivacySettings.ShowFullName = false
privacyEmailPrefix := strings.ToLower(model.NewId()) privacyEmailPrefix := strings.ToLower(model.NewId())
privacyUser := &model.User{Email: privacyEmailPrefix + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: model.NewId(), LastName: "Jimmers"} privacyUser := &model.User{Email: privacyEmailPrefix + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: model.NewId(), LastName: "Jimmers", Username: "n" + model.NewId()}
privacyUser = Client.Must(Client.CreateUser(privacyUser, "")).Data.(*model.User) privacyUser = Client.Must(Client.CreateUser(privacyUser, "")).Data.(*model.User)
LinkUserToTeam(privacyUser, th.BasicTeam) LinkUserToTeam(privacyUser, th.BasicTeam)
@@ -2532,7 +2538,7 @@ func TestAutocompleteUsers(t *testing.T) {
}() }()
utils.Cfg.PrivacySettings.ShowFullName = false utils.Cfg.PrivacySettings.ShowFullName = false
privacyUser := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: model.NewId(), LastName: "Jimmers"} privacyUser := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: model.NewId(), LastName: "Jimmers", Username: "n" + model.NewId()}
privacyUser = Client.Must(Client.CreateUser(privacyUser, "")).Data.(*model.User) privacyUser = Client.Must(Client.CreateUser(privacyUser, "")).Data.(*model.User)
LinkUserToTeam(privacyUser, th.BasicTeam) LinkUserToTeam(privacyUser, th.BasicTeam)

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

@@ -58,6 +58,12 @@ func TestCreateUser(t *testing.T) {
CheckErrorMessage(t, resp, "model.user.is_valid.email.app_error") CheckErrorMessage(t, resp, "model.user.is_valid.email.app_error")
CheckBadRequestStatus(t, resp) CheckBadRequestStatus(t, resp)
ruser.Email = GenerateTestEmail()
ruser.Username = "1" + user.Username
_, resp = Client.CreateUser(ruser)
CheckErrorMessage(t, resp, "model.user.is_valid.username.app_error")
CheckBadRequestStatus(t, resp)
if r, err := Client.DoApiPost("/users", "garbage"); err == nil { if r, err := Client.DoApiPost("/users", "garbage"); err == nil {
t.Fatal("should have errored") t.Fatal("should have errored")
} else { } else {

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

@@ -837,7 +837,7 @@ func TestImportImportUser(t *testing.T) {
// Do an invalid user in dry-run mode. // Do an invalid user in dry-run mode.
data := UserImportData{ data := UserImportData{
Username: ptrStr(model.NewId()), Username: ptrStr("n" + model.NewId()),
} }
if err := ImportUser(&data, true); err == nil { if err := ImportUser(&data, true); err == nil {
t.Fatalf("Should have failed to import invalid user.") t.Fatalf("Should have failed to import invalid user.")
@@ -854,7 +854,7 @@ func TestImportImportUser(t *testing.T) {
// Do a valid user in dry-run mode. // Do a valid user in dry-run mode.
data = UserImportData{ data = UserImportData{
Username: ptrStr(model.NewId()), Username: ptrStr("n" + model.NewId()),
Email: ptrStr(model.NewId() + "@example.com"), Email: ptrStr(model.NewId() + "@example.com"),
} }
if err := ImportUser(&data, true); err != nil { if err := ImportUser(&data, true); err != nil {
@@ -888,7 +888,7 @@ func TestImportImportUser(t *testing.T) {
} }
// Do a valid user in apply mode. // Do a valid user in apply mode.
username := model.NewId() username := "n" + model.NewId()
data = UserImportData{ data = UserImportData{
Username: &username, Username: &username,
Email: ptrStr(model.NewId() + "@example.com"), Email: ptrStr(model.NewId() + "@example.com"),
@@ -1023,7 +1023,7 @@ func TestImportImportUser(t *testing.T) {
t.Fatalf("Failed to get channel from database.") t.Fatalf("Failed to get channel from database.")
} }
username = model.NewId() username = "n" + model.NewId()
data = UserImportData{ data = UserImportData{
Username: &username, Username: &username,
Email: ptrStr(model.NewId() + "@example.com"), Email: ptrStr(model.NewId() + "@example.com"),
@@ -1312,7 +1312,7 @@ func TestImportImportUser(t *testing.T) {
} }
// Add a user with some preferences. // Add a user with some preferences.
username = model.NewId() username = "n" + model.NewId()
data = UserImportData{ data = UserImportData{
Username: &username, Username: &username,
Email: ptrStr(model.NewId() + "@example.com"), Email: ptrStr(model.NewId() + "@example.com"),
@@ -1476,7 +1476,7 @@ func TestImportImportPost(t *testing.T) {
} }
// Create a user. // Create a user.
username := model.NewId() username := "n" + model.NewId()
ImportUser(&UserImportData{ ImportUser(&UserImportData{
Username: &username, Username: &username,
Email: ptrStr(model.NewId() + "@example.com"), Email: ptrStr(model.NewId() + "@example.com"),
@@ -1724,7 +1724,7 @@ func TestImportBulkImport(t *testing.T) {
teamName := model.NewId() teamName := model.NewId()
channelName := model.NewId() channelName := model.NewId()
username := model.NewId() username := "n" + model.NewId()
// Run bulk import with a valid 1 of everything. // Run bulk import with a valid 1 of everything.
data1 := `{"type": "version", "version": 1} data1 := `{"type": "version", "version": 1}

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

@@ -5,9 +5,9 @@ package app
import ( import (
"bytes" "bytes"
"encoding/json"
"image" "image"
"image/color" "image/color"
"encoding/json"
"math/rand" "math/rand"
"strings" "strings"
"testing" "testing"
@@ -67,7 +67,7 @@ func TestCheckUserDomain(t *testing.T) {
func TestCreateOAuthUser(t *testing.T) { func TestCreateOAuthUser(t *testing.T) {
th := Setup().InitBasic() th := Setup().InitBasic()
r := rand.New(rand.NewSource(time.Now().UnixNano())) r := rand.New(rand.NewSource(time.Now().UnixNano()))
glUser := oauthgitlab.GitLabUser{Id: int64(r.Intn(1000)), Username: model.NewId(), Email: model.NewId() + "@simulator.amazonses.com", Name: "Joram Wilander"} glUser := oauthgitlab.GitLabUser{Id: int64(r.Intn(1000)), Username: "joram" + model.NewId(), Email: model.NewId() + "@simulator.amazonses.com", Name: "Joram Wilander"}
json := glUser.ToJson() json := glUser.ToJson()
user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id) user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id)

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

@@ -10,6 +10,7 @@ import (
"net/http" "net/http"
"regexp" "regexp"
"strings" "strings"
"unicode"
"unicode/utf8" "unicode/utf8"
"golang.org/x/crypto/bcrypt" "golang.org/x/crypto/bcrypt"
@@ -142,7 +143,7 @@ func (u *User) PreSave() {
} }
if u.Username == "" { if u.Username == "" {
u.Username = NewId() u.Username = "n" + NewId()
} }
if u.AuthData != nil && *u.AuthData == "" { if u.AuthData != nil && *u.AuthData == "" {
@@ -572,6 +573,10 @@ func IsValidUsername(s string) bool {
return false return false
} }
if !unicode.IsLetter(rune(s[0])) {
return false
}
for _, restrictedUsername := range restrictedUsernames { for _, restrictedUsername := range restrictedUsernames {
if s == restrictedUsername { if s == restrictedUsername {
return false return false

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

@@ -95,7 +95,7 @@ func TestUserIsValid(t *testing.T) {
t.Fatal() t.Fatal()
} }
user.Username = NewId() user.Username = "n" + NewId()
user.Email = strings.Repeat("01234567890", 20) user.Email = strings.Repeat("01234567890", 20)
if err := user.IsValid(); err == nil { if err := user.IsValid(); err == nil {
t.Fatal() t.Fatal()
@@ -189,6 +189,10 @@ var usernames = []struct {
expected bool expected bool
}{ }{
{"spin-punch", true}, {"spin-punch", true},
{"sp", false},
{"1spin-punch", false},
{"-spin-punch", false},
{".spin-punch", false},
{"Spin-punch", false}, {"Spin-punch", false},
{"spin punch-", false}, {"spin punch-", false},
{"spin_punch", true}, {"spin_punch", true},

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

@@ -59,13 +59,13 @@ func TestComplianceExport(t *testing.T) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = model.NewId() u1.Email = model.NewId()
u1.Username = model.NewId() u1.Username = "n" + model.NewId()
u1 = Must(store.User().Save(u1)).(*model.User) u1 = Must(store.User().Save(u1)).(*model.User)
Must(store.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id})) Must(store.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}))
u2 := &model.User{} u2 := &model.User{}
u2.Email = model.NewId() u2.Email = model.NewId()
u2.Username = model.NewId() u2.Username = "n" + model.NewId()
u2 = Must(store.User().Save(u2)).(*model.User) u2 = Must(store.User().Save(u2)).(*model.User)
Must(store.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id})) Must(store.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}))

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

@@ -145,10 +145,12 @@ func TestTeamStoreSearchByName(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
if r1 := <-store.Team().SearchByName("zzz"); r1.Err != nil { if r1 := <-store.Team().SearchByName(o1.Name); r1.Err != nil {
t.Fatal(r1.Err) t.Fatal(r1.Err)
} else { } else {
if r1.Data.([]*model.Team)[0].ToJson() != o1.ToJson() { if r1.Data.([]*model.Team)[0].ToJson() != o1.ToJson() {
t.Log(r1.Data.([]*model.Team)[0].ToJson())
t.Log(o1.ToJson())
t.Fatal("invalid returned team") t.Fatal("invalid returned team")
} }
} }

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

@@ -18,7 +18,7 @@ func TestUserStoreSave(t *testing.T) {
u1 := model.User{} u1 := model.User{}
u1.Email = model.NewId() u1.Email = model.NewId()
u1.Username = model.NewId() u1.Username = "n" + model.NewId()
if err := (<-store.User().Save(&u1)).Err; err != nil { if err := (<-store.User().Save(&u1)).Err; err != nil {
t.Fatal("couldn't save user", err) t.Fatal("couldn't save user", err)
@@ -49,7 +49,7 @@ func TestUserStoreSave(t *testing.T) {
for i := 0; i < 50; i++ { for i := 0; i < 50; i++ {
u1.Id = "" u1.Id = ""
u1.Email = model.NewId() u1.Email = model.NewId()
u1.Username = model.NewId() u1.Username = "n" + model.NewId()
if err := (<-store.User().Save(&u1)).Err; err != nil { if err := (<-store.User().Save(&u1)).Err; err != nil {
t.Fatal("couldn't save item", err) t.Fatal("couldn't save item", err)
} }
@@ -59,7 +59,7 @@ func TestUserStoreSave(t *testing.T) {
u1.Id = "" u1.Id = ""
u1.Email = model.NewId() u1.Email = model.NewId()
u1.Username = model.NewId() u1.Username = "n" + model.NewId()
if err := (<-store.User().Save(&u1)).Err; err != nil { if err := (<-store.User().Save(&u1)).Err; err != nil {
t.Fatal("couldn't save item", err) t.Fatal("couldn't save item", err)
} }
@@ -821,7 +821,7 @@ func TestUserStoreGetByUsername(t *testing.T) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = model.NewId() u1.Email = model.NewId()
u1.Username = model.NewId() u1.Username = "n" + model.NewId()
Must(store.User().Save(u1)) Must(store.User().Save(u1))
Must(store.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id})) Must(store.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}))
@@ -841,7 +841,7 @@ func TestUserStoreGetForLogin(t *testing.T) {
u1 := &model.User{ u1 := &model.User{
Email: model.NewId(), Email: model.NewId(),
Username: model.NewId(), Username: "n" + model.NewId(),
AuthService: model.USER_AUTH_SERVICE_GITLAB, AuthService: model.USER_AUTH_SERVICE_GITLAB,
AuthData: &auth, AuthData: &auth,
} }
@@ -851,7 +851,7 @@ func TestUserStoreGetForLogin(t *testing.T) {
u2 := &model.User{ u2 := &model.User{
Email: model.NewId(), Email: model.NewId(),
Username: model.NewId(), Username: "n" + model.NewId(),
AuthService: model.USER_AUTH_SERVICE_LDAP, AuthService: model.USER_AUTH_SERVICE_LDAP,
AuthData: &auth2, AuthData: &auth2,
} }
@@ -898,7 +898,7 @@ func TestUserStoreGetForLogin(t *testing.T) {
// test a special case where two users will have conflicting login information so we throw a special error // test a special case where two users will have conflicting login information so we throw a special error
u3 := &model.User{ u3 := &model.User{
Email: model.NewId(), Email: model.NewId(),
Username: model.NewId(), Username: "n" + model.NewId(),
AuthService: model.USER_AUTH_SERVICE_LDAP, AuthService: model.USER_AUTH_SERVICE_LDAP,
AuthData: &auth3, AuthData: &auth3,
} }
@@ -906,7 +906,7 @@ func TestUserStoreGetForLogin(t *testing.T) {
u4 := &model.User{ u4 := &model.User{
Email: model.NewId(), Email: model.NewId(),
Username: model.NewId(), Username: "n" + model.NewId(),
AuthService: model.USER_AUTH_SERVICE_LDAP, AuthService: model.USER_AUTH_SERVICE_LDAP,
AuthData: &u3.Username, AuthData: &u3.Username,
} }
@@ -1547,12 +1547,12 @@ func TestUserStoreAnalyticsGetSystemAdminCount(t *testing.T) {
u1 := model.User{} u1 := model.User{}
u1.Email = model.NewId() u1.Email = model.NewId()
u1.Username = model.NewId() u1.Username = "n" + model.NewId()
u1.Roles = "system_user system_admin" u1.Roles = "system_user system_admin"
u2 := model.User{} u2 := model.User{}
u2.Email = model.NewId() u2.Email = model.NewId()
u2.Username = model.NewId() u2.Username = "n" + model.NewId()
if err := (<-store.User().Save(&u1)).Err; err != nil { if err := (<-store.User().Save(&u1)).Err; err != nil {
t.Fatal("couldn't save user", err) t.Fatal("couldn't save user", err)