From 5398c82e1b80c3160974e01afabbfd1c2a2420a7 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Tue, 18 Apr 2017 17:37:25 -0400 Subject: Revert "Usernames must start with a letter (#5581)" This reverts commit 2e911b77c3386833f8f0cea82c7b6b3e5583a08e. --- api/status_test.go | 4 +- api/team_test.go | 20 +++++----- api/user_test.go | 82 ++++++++++++++++++-------------------- api4/user_test.go | 6 --- app/import_test.go | 14 +++---- app/user_test.go | 4 +- config/config.json | 12 +++--- model/user.go | 7 +--- model/user_test.go | 12 +++--- store/sql_compliance_store_test.go | 4 +- store/sql_team_store_test.go | 4 +- store/sql_user_store_test.go | 20 +++++----- 12 files changed, 85 insertions(+), 104 deletions(-) diff --git a/api/status_test.go b/api/status_test.go index 7aa6a2299..ba276da06 100644 --- a/api/status_test.go +++ b/api/status_test.go @@ -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} rteam, _ := Client.CreateTeam(&team) - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) LinkUserToTeam(ruser, rteam.Data.(*model.Team)) 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", Username: "n" + model.NewId()} + user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser2 := Client.Must(Client.CreateUser(&user2, "")).Data.(*model.User) LinkUserToTeam(ruser2, rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Id)) diff --git a/api/team_test.go b/api/team_test.go index a7cffbb34..ab0745457 100644 --- a/api/team_test.go +++ b/api/team_test.go @@ -22,7 +22,7 @@ func TestCreateTeam(t *testing.T) { t.Fatal(err) } - user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -216,7 +216,7 @@ func TestGetAllTeams(t *testing.T) { Client.Logout() - user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -250,7 +250,7 @@ func TestGetAllTeamListings(t *testing.T) { Client.Logout() - user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -297,7 +297,7 @@ func TestTeamPermDelete(t *testing.T) { Client.Logout() - user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user1 = Client.Must(Client.CreateUser(user1, "")).Data.(*model.User) LinkUserToTeam(user1, team) store.Must(app.Srv.Store.User().VerifyEmail(user1.Id)) @@ -342,7 +342,7 @@ func TestInviteMembers(t *testing.T) { Client.Logout() - user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -429,7 +429,7 @@ func TestUpdateTeamDisplayName(t *testing.T) { Client.Logout() - user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) LinkUserToTeam(user2, team) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) @@ -490,7 +490,7 @@ func TestGetMyTeam(t *testing.T) { Client.Logout() - user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser, _ := Client.CreateUser(&user, "") LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) @@ -736,7 +736,7 @@ func TestGetTeamStats(t *testing.T) { } } - user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser, _ := Client.CreateUser(&user, "") store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) @@ -756,7 +756,7 @@ func TestUpdateTeamDescription(t *testing.T) { Client.Logout() - user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1", Username: "n" + model.NewId()} + user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) LinkUserToTeam(user2, team) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) @@ -807,7 +807,7 @@ func TestGetTeamByName(t *testing.T) { Client.Must(Client.Logout()) - user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1", Username: "n" + model.NewId()} + user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Jabba the Hutt", Password: "passwd1"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) diff --git a/api/user_test.go b/api/user_test.go index ff2101c17..5e7db1248 100644 --- a/api/user_test.go +++ b/api/user_test.go @@ -78,12 +78,6 @@ 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 { t.Fatal("should have been an error") } @@ -178,7 +172,7 @@ func TestLogin(t *testing.T) { Client.AuthToken = "" - user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} if _, err := Client.CreateUserFromSignup(&user2, "junk", "1231312"); err == nil { t.Fatal("Should have errored, signed up without hashed email") @@ -360,17 +354,17 @@ func TestGetUser(t *testing.T) { Client.Logout() - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser, _ := Client.CreateUser(&user, "") LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) 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", Username: "n" + model.NewId()} + user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: "Corey", LastName: "Hulen"} ruser2, _ := Client.CreateUser(&user2, "") LinkUserToTeam(ruser2.Data.(*model.User), rteam.Data.(*model.Team)) 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", Username: "n" + model.NewId()} + user3 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser3, _ := Client.CreateUser(&user3, "") LinkUserToTeam(ruser3.Data.(*model.User), rteam2.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser3.Data.(*model.User).Id)) @@ -625,7 +619,7 @@ func TestGetAudits(t *testing.T) { Client.Logout() - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser, _ := Client.CreateUser(&user, "") LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) @@ -680,7 +674,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 = 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", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -727,7 +721,7 @@ func TestUserUploadProfileImage(t *testing.T) { Client.Logout() - user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -838,7 +832,7 @@ func TestUserUpdate(t *testing.T) { Client.Logout() - user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: "", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: ""} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -868,7 +862,7 @@ func TestUserUpdate(t *testing.T) { } } - user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) LinkUserToTeam(user2, team) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) @@ -893,7 +887,7 @@ func TestUserUpdatePassword(t *testing.T) { Client.Logout() Client.SetTeamId(team.Id) - user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -957,7 +951,7 @@ func TestUserUpdatePassword(t *testing.T) { t.Fatal("Should have errored") } - user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user2 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) LinkUserToTeam(user2, team) @@ -977,12 +971,12 @@ func TestUserUpdateRoles(t *testing.T) { Client.Logout() - user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) - user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) LinkUserToTeam(user2, team) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) @@ -1001,7 +995,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 = Client.Must(Client.CreateTeam(team2)).Data.(*model.Team) - user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user3 = Client.Must(Client.CreateUser(user3, "")).Data.(*model.User) LinkUserToTeam(user3, team2) store.Must(app.Srv.Store.User().VerifyEmail(user3.Id)) @@ -1096,7 +1090,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 = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) - user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -1127,7 +1121,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 = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) - user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -1164,12 +1158,12 @@ func TestUserUpdateActive(t *testing.T) { Client.Logout() - user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) - user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user2 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) LinkUserToTeam(user2, team) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) @@ -1187,7 +1181,7 @@ func TestUserUpdateActive(t *testing.T) { Client.Must(Client.Logout()) - user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user3 := &model.User{Email: "success+" + model.NewId() + "@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user3 = Client.Must(Client.CreateUser(user3, "")).Data.(*model.User) LinkUserToTeam(user2, team2) store.Must(app.Srv.Store.User().VerifyEmail(user3.Id)) @@ -1230,7 +1224,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 = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) - user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user1 := &model.User{Email: model.NewId() + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user1 = Client.Must(Client.CreateUser(user1, "")).Data.(*model.User) LinkUserToTeam(user1, team) store.Must(app.Srv.Store.User().VerifyEmail(user1.Id)) @@ -1272,7 +1266,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 = 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", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -1297,7 +1291,7 @@ func TestSendPasswordReset(t *testing.T) { } authData := model.NewId() - 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 := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", AuthData: &authData, AuthService: "random"} user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) LinkUserToTeam(user2, team) store.Must(app.Srv.Store.User().VerifyEmail(user2.Id)) @@ -1312,7 +1306,7 @@ func TestResetPassword(t *testing.T) { Client := th.SystemAdminClient team := th.SystemAdminTeam - user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -1415,7 +1409,7 @@ func TestUserUpdateNotify(t *testing.T) { Client.Logout() - user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: "", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Roles: ""} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, team) store.Must(app.Srv.Store.User().VerifyEmail(user.Id)) @@ -1510,7 +1504,7 @@ func TestFuzzyUserCreate(t *testing.T) { testEmail = utils.FUZZY_STRINGS_EMAILS[i] } - user := model.User{Email: strings.ToLower(model.NewId()) + testEmail, Nickname: testName, Password: "hello1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + testEmail, Nickname: testName, Password: "hello1"} ruser, err := Client.CreateUser(&user, "") if err != nil { @@ -1530,7 +1524,7 @@ func TestEmailToOAuth(t *testing.T) { Client.Logout() - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) LinkUserToTeam(ruser, rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) @@ -1583,12 +1577,12 @@ func TestOAuthToEmail(t *testing.T) { Client.Logout() - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) LinkUserToTeam(ruser, rteam.Data.(*model.Team)) 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", Username: "n" + model.NewId()} + user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser2 := Client.Must(Client.CreateUser(&user2, "")).Data.(*model.User) LinkUserToTeam(ruser2, rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser2.Id)) @@ -1634,7 +1628,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} rteam, _ := Client.CreateTeam(&team) - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) LinkUserToTeam(ruser, rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) @@ -1687,7 +1681,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} rteam, _ := Client.CreateTeam(&team) - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser := Client.Must(Client.CreateUser(&user, "")).Data.(*model.User) LinkUserToTeam(ruser, rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Id)) @@ -1818,7 +1812,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} rteam, _ := Client.CreateTeam(&team) - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser, _ := Client.CreateUser(&user, "") LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) @@ -1859,7 +1853,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} rteam, _ := Client.CreateTeam(&team) - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser, _ := Client.CreateUser(&user, "") LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) @@ -1900,7 +1894,7 @@ func TestCheckMfa(t *testing.T) { Client.Logout() - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} ruser, _ := Client.CreateUser(&user, "") LinkUserToTeam(ruser.Data.(*model.User), rteam.Data.(*model.Team)) store.Must(app.Srv.Store.User().VerifyEmail(ruser.Data.(*model.User).Id)) @@ -2067,7 +2061,7 @@ func TestGetProfilesInChannel(t *testing.T) { } } - user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} Client.Must(Client.CreateUser(&user, "")) Client.Login(user.Email, "passwd1") @@ -2113,7 +2107,7 @@ func TestGetProfilesNotInChannel(t *testing.T) { } } - user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) LinkUserToTeam(user, th.BasicTeam) @@ -2151,7 +2145,7 @@ func TestGetProfilesNotInChannel(t *testing.T) { } } - user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", Username: "n" + model.NewId()} + user2 := model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1"} Client.Must(Client.CreateUser(&user2, "")) Client.Login(user2.Email, "passwd1") @@ -2316,7 +2310,7 @@ func TestSearchUsers(t *testing.T) { utils.Cfg.PrivacySettings.ShowFullName = false 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", Username: "n" + model.NewId()} + privacyUser := &model.User{Email: privacyEmailPrefix + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: model.NewId(), LastName: "Jimmers"} privacyUser = Client.Must(Client.CreateUser(privacyUser, "")).Data.(*model.User) LinkUserToTeam(privacyUser, th.BasicTeam) @@ -2604,7 +2598,7 @@ func TestAutocompleteUsers(t *testing.T) { }() 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", Username: "n" + model.NewId()} + privacyUser := &model.User{Email: strings.ToLower(model.NewId()) + "success+test@simulator.amazonses.com", Nickname: "Corey Hulen", Password: "passwd1", FirstName: model.NewId(), LastName: "Jimmers"} privacyUser = Client.Must(Client.CreateUser(privacyUser, "")).Data.(*model.User) LinkUserToTeam(privacyUser, th.BasicTeam) diff --git a/api4/user_test.go b/api4/user_test.go index 95271984c..d044cee9b 100644 --- a/api4/user_test.go +++ b/api4/user_test.go @@ -60,12 +60,6 @@ func TestCreateUser(t *testing.T) { CheckErrorMessage(t, resp, "model.user.is_valid.email.app_error") 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) - openServer := *utils.Cfg.TeamSettings.EnableOpenServer canCreateAccount := utils.Cfg.TeamSettings.EnableUserCreation defer func() { diff --git a/app/import_test.go b/app/import_test.go index 847864977..5895314a3 100644 --- a/app/import_test.go +++ b/app/import_test.go @@ -851,7 +851,7 @@ func TestImportImportUser(t *testing.T) { // Do an invalid user in dry-run mode. data := UserImportData{ - Username: ptrStr("n" + model.NewId()), + Username: ptrStr(model.NewId()), } if err := ImportUser(&data, true); err == nil { t.Fatalf("Should have failed to import invalid user.") @@ -868,7 +868,7 @@ func TestImportImportUser(t *testing.T) { // Do a valid user in dry-run mode. data = UserImportData{ - Username: ptrStr("n" + model.NewId()), + Username: ptrStr(model.NewId()), Email: ptrStr(model.NewId() + "@example.com"), } if err := ImportUser(&data, true); err != nil { @@ -902,7 +902,7 @@ func TestImportImportUser(t *testing.T) { } // Do a valid user in apply mode. - username := "n" + model.NewId() + username := model.NewId() data = UserImportData{ Username: &username, Email: ptrStr(model.NewId() + "@example.com"), @@ -1037,7 +1037,7 @@ func TestImportImportUser(t *testing.T) { t.Fatalf("Failed to get channel from database.") } - username = "n" + model.NewId() + username = model.NewId() data = UserImportData{ Username: &username, Email: ptrStr(model.NewId() + "@example.com"), @@ -1326,7 +1326,7 @@ func TestImportImportUser(t *testing.T) { } // Add a user with some preferences. - username = "n" + model.NewId() + username = model.NewId() data = UserImportData{ Username: &username, Email: ptrStr(model.NewId() + "@example.com"), @@ -1490,7 +1490,7 @@ func TestImportImportPost(t *testing.T) { } // Create a user. - username := "n" + model.NewId() + username := model.NewId() ImportUser(&UserImportData{ Username: &username, Email: ptrStr(model.NewId() + "@example.com"), @@ -1738,7 +1738,7 @@ func TestImportBulkImport(t *testing.T) { teamName := model.NewId() channelName := model.NewId() - username := "n" + model.NewId() + username := model.NewId() // Run bulk import with a valid 1 of everything. data1 := `{"type": "version", "version": 1} diff --git a/app/user_test.go b/app/user_test.go index 4cd26e729..bc5d36ef5 100644 --- a/app/user_test.go +++ b/app/user_test.go @@ -5,9 +5,9 @@ package app import ( "bytes" - "encoding/json" "image" "image/color" + "encoding/json" "math/rand" "strings" "testing" @@ -67,7 +67,7 @@ func TestCheckUserDomain(t *testing.T) { func TestCreateOAuthUser(t *testing.T) { th := Setup().InitBasic() r := rand.New(rand.NewSource(time.Now().UnixNano())) - glUser := oauthgitlab.GitLabUser{Id: int64(r.Intn(1000)), Username: "joram" + model.NewId(), Email: model.NewId() + "@simulator.amazonses.com", Name: "Joram Wilander"} + glUser := oauthgitlab.GitLabUser{Id: int64(r.Intn(1000)), Username: model.NewId(), Email: model.NewId() + "@simulator.amazonses.com", Name: "Joram Wilander"} json := glUser.ToJson() user, err := CreateOAuthUser(model.USER_AUTH_SERVICE_GITLAB, strings.NewReader(json), th.BasicTeam.Id) diff --git a/config/config.json b/config/config.json index c8a52bd86..d19027267 100644 --- a/config/config.json +++ b/config/config.json @@ -70,12 +70,12 @@ }, "SqlSettings": { "DriverName": "mysql", - "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s", + "DataSource": "mmuser:mostest@tcp(dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s", "DataSourceReplicas": [], "MaxIdleConns": 20, "MaxOpenConns": 300, "Trace": false, - "AtRestEncryptKey": "" + "AtRestEncryptKey": "8s96y35qz5ihiz7w1jcecsqp5xnnkp13" }, "LogSettings": { "EnableConsole": true, @@ -99,7 +99,7 @@ "DriverName": "local", "Directory": "./data/", "EnablePublicLink": false, - "PublicLinkSalt": "", + "PublicLinkSalt": "1oidkhjpy4p54jwfrgwk7nhkzgwrq6ug", "ThumbnailWidth": 120, "ThumbnailHeight": 100, "PreviewWidth": 1024, @@ -128,8 +128,8 @@ "SMTPServer": "dockerhost", "SMTPPort": "2500", "ConnectionSecurity": "", - "InviteSalt": "", - "PasswordResetSalt": "", + "InviteSalt": "mtt8hrn4tmo5d8nz91jg3z7gr8xudb4z", + "PasswordResetSalt": "8j44cnpee8b46a34kpnnc6r8gy6dizts", "SendPushNotifications": false, "PushNotificationServer": "", "PushNotificationContents": "generic", @@ -264,4 +264,4 @@ "TurnUsername": "", "TurnSharedKey": "" } -} +} \ No newline at end of file diff --git a/model/user.go b/model/user.go index 2c2ba734b..7cb3d0b70 100644 --- a/model/user.go +++ b/model/user.go @@ -10,7 +10,6 @@ import ( "net/http" "regexp" "strings" - "unicode" "unicode/utf8" "golang.org/x/crypto/bcrypt" @@ -152,7 +151,7 @@ func (u *User) PreSave() { } if u.Username == "" { - u.Username = "n" + NewId() + u.Username = NewId() } if u.AuthData != nil && *u.AuthData == "" { @@ -582,10 +581,6 @@ func IsValidUsername(s string) bool { return false } - if !unicode.IsLetter(rune(s[0])) { - return false - } - for _, restrictedUsername := range restrictedUsernames { if s == restrictedUsername { return false diff --git a/model/user_test.go b/model/user_test.go index 3eb931f5d..fc153248f 100644 --- a/model/user_test.go +++ b/model/user_test.go @@ -97,9 +97,9 @@ func TestUserIsValid(t *testing.T) { t.Fatal() } - user.Username = "n" + NewId() - user.Email = strings.Repeat("a", 129) - if err := user.IsValid(); !HasExpectedUserIsValidError(err, "email", user.Id) { + user.Username = NewId() + user.Email = strings.Repeat("01234567890", 20) + if err := user.IsValid(); err == nil { t.Fatal() } @@ -204,9 +204,9 @@ var usernames = []struct { {"spin-punch", true}, {"sp", true}, {"s", true}, - {"1spin-punch", false}, - {"-spin-punch", false}, - {".spin-punch", false}, + {"1spin-punch", true}, + {"-spin-punch", true}, + {".spin-punch", true}, {"Spin-punch", false}, {"spin punch-", false}, {"spin_punch", true}, diff --git a/store/sql_compliance_store_test.go b/store/sql_compliance_store_test.go index 7fb772c9c..eac7dce3c 100644 --- a/store/sql_compliance_store_test.go +++ b/store/sql_compliance_store_test.go @@ -75,13 +75,13 @@ func TestComplianceExport(t *testing.T) { u1 := &model.User{} u1.Email = model.NewId() - u1.Username = "n" + model.NewId() + u1.Username = model.NewId() u1 = Must(store.User().Save(u1)).(*model.User) Must(store.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id})) u2 := &model.User{} u2.Email = model.NewId() - u2.Username = "n" + model.NewId() + u2.Username = model.NewId() u2 = Must(store.User().Save(u2)).(*model.User) Must(store.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id})) diff --git a/store/sql_team_store_test.go b/store/sql_team_store_test.go index 85c758480..c7aabb0be 100644 --- a/store/sql_team_store_test.go +++ b/store/sql_team_store_test.go @@ -146,12 +146,10 @@ func TestTeamStoreSearchByName(t *testing.T) { t.Fatal(err) } - if r1 := <-store.Team().SearchByName(o1.Name); r1.Err != nil { + if r1 := <-store.Team().SearchByName("zzz"); r1.Err != nil { t.Fatal(r1.Err) } else { 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") } } diff --git a/store/sql_user_store_test.go b/store/sql_user_store_test.go index 94fd30a6f..7d7379668 100644 --- a/store/sql_user_store_test.go +++ b/store/sql_user_store_test.go @@ -18,7 +18,7 @@ func TestUserStoreSave(t *testing.T) { u1 := model.User{} u1.Email = model.NewId() - u1.Username = "n" + model.NewId() + u1.Username = model.NewId() if err := (<-store.User().Save(&u1)).Err; err != nil { t.Fatal("couldn't save user", err) @@ -49,7 +49,7 @@ func TestUserStoreSave(t *testing.T) { for i := 0; i < 50; i++ { u1.Id = "" u1.Email = model.NewId() - u1.Username = "n" + model.NewId() + u1.Username = model.NewId() if err := (<-store.User().Save(&u1)).Err; err != nil { t.Fatal("couldn't save item", err) } @@ -59,7 +59,7 @@ func TestUserStoreSave(t *testing.T) { u1.Id = "" u1.Email = model.NewId() - u1.Username = "n" + model.NewId() + u1.Username = model.NewId() if err := (<-store.User().Save(&u1)).Err; err != nil { t.Fatal("couldn't save item", err) } @@ -936,7 +936,7 @@ func TestUserStoreGetByUsername(t *testing.T) { u1 := &model.User{} u1.Email = model.NewId() - u1.Username = "n" + model.NewId() + u1.Username = model.NewId() Must(store.User().Save(u1)) Must(store.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id})) @@ -956,7 +956,7 @@ func TestUserStoreGetForLogin(t *testing.T) { u1 := &model.User{ Email: model.NewId(), - Username: "n" + model.NewId(), + Username: model.NewId(), AuthService: model.USER_AUTH_SERVICE_GITLAB, AuthData: &auth, } @@ -966,7 +966,7 @@ func TestUserStoreGetForLogin(t *testing.T) { u2 := &model.User{ Email: model.NewId(), - Username: "n" + model.NewId(), + Username: model.NewId(), AuthService: model.USER_AUTH_SERVICE_LDAP, AuthData: &auth2, } @@ -1013,7 +1013,7 @@ func TestUserStoreGetForLogin(t *testing.T) { // test a special case where two users will have conflicting login information so we throw a special error u3 := &model.User{ Email: model.NewId(), - Username: "n" + model.NewId(), + Username: model.NewId(), AuthService: model.USER_AUTH_SERVICE_LDAP, AuthData: &auth3, } @@ -1021,7 +1021,7 @@ func TestUserStoreGetForLogin(t *testing.T) { u4 := &model.User{ Email: model.NewId(), - Username: "n" + model.NewId(), + Username: model.NewId(), AuthService: model.USER_AUTH_SERVICE_LDAP, AuthData: &u3.Username, } @@ -1802,12 +1802,12 @@ func TestUserStoreAnalyticsGetSystemAdminCount(t *testing.T) { u1 := model.User{} u1.Email = model.NewId() - u1.Username = "n" + model.NewId() + u1.Username = model.NewId() u1.Roles = "system_user system_admin" u2 := model.User{} u2.Email = model.NewId() - u2.Username = "n" + model.NewId() + u2.Username = model.NewId() if err := (<-store.User().Save(&u1)).Err; err != nil { t.Fatal("couldn't save user", err) -- cgit v1.2.3-1-g7c22