From 6f1deb3e29db4f677ad8560dd291371ac207a8a5 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Tue, 18 Apr 2017 16:49:02 -0400 Subject: [PATCH] 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 | 11 ++-- model/user.go | 7 +-- model/user_test.go | 8 +-- store/sql_compliance_store_test.go | 4 +- store/sql_team_store_test.go | 4 +- store/sql_user_store_test.go | 20 ++++---- 12 files changed, 83 insertions(+), 101 deletions(-) diff --git a/api/status_test.go b/api/status_test.go index f886d1044df..cf4d66feeef 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 9dd5988346b..81abf1ec16f 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 cdbccc57e33..feb8b6592db 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 b3e4edc3d42..88dff04a076 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 e3ed801696b..0236ee041f8 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 ff9e4d5007c..dd94f35cac2 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 b3dac758ae4..1c92de3483d 100644 --- a/config/config.json +++ b/config/config.json @@ -1,6 +1,7 @@ { "ServiceSettings": { "SiteURL": "http://localhost:8065", + "LicenseFileLocation": "", "ListenAddress": ":8065", "ConnectionSecurity": "", "TLSCertFile": "", @@ -73,7 +74,7 @@ "MaxIdleConns": 20, "MaxOpenConns": 300, "Trace": false, - "AtRestEncryptKey": "" + "AtRestEncryptKey": "c1zj4n189ri53jz8buf7a8qo5aqwuzk4" }, "LogSettings": { "EnableConsole": true, @@ -97,7 +98,7 @@ "DriverName": "local", "Directory": "./data/", "EnablePublicLink": false, - "PublicLinkSalt": "", + "PublicLinkSalt": "t3ihzne6y8q9rme97zuii5e647wmrufb", "ThumbnailWidth": 120, "ThumbnailHeight": 100, "PreviewWidth": 1024, @@ -126,8 +127,8 @@ "SMTPServer": "dockerhost", "SMTPPort": "2500", "ConnectionSecurity": "", - "InviteSalt": "", - "PasswordResetSalt": "", + "InviteSalt": "fihisqi8aexeou8qdzbu1xae4yhh445k", + "PasswordResetSalt": "bjeoqjqof6kuso4964tg9pzfzqcjrrkx", "SendPushNotifications": false, "PushNotificationServer": "", "PushNotificationContents": "generic", @@ -262,4 +263,4 @@ "TurnUsername": "", "TurnSharedKey": "" } -} +} \ No newline at end of file diff --git a/model/user.go b/model/user.go index 5cefdf1b135..6c5e300f7e0 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" @@ -144,7 +143,7 @@ func (u *User) PreSave() { } if u.Username == "" { - u.Username = "n" + NewId() + u.Username = NewId() } if u.AuthData != nil && *u.AuthData == "" { @@ -574,10 +573,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 47ec38dbf28..aec81cb6255 100644 --- a/model/user_test.go +++ b/model/user_test.go @@ -95,7 +95,7 @@ func TestUserIsValid(t *testing.T) { t.Fatal() } - user.Username = "n" + NewId() + user.Username = NewId() user.Email = strings.Repeat("01234567890", 20) if err := user.IsValid(); err == nil { t.Fatal() @@ -191,9 +191,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 e9b0cf94a07..4fd8e048e86 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 3599a6d1ad0..8e0ad421e20 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 84b7712aa58..f08f5e0891c 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)