diff --git a/app/bot.go b/app/bot.go index 7c62df18d2..646db68c0f 100644 --- a/app/bot.go +++ b/app/bot.go @@ -16,11 +16,11 @@ import ( // CreateBot creates the given bot and corresponding user. func (a *App) CreateBot(bot *model.Bot) (*model.Bot, *model.AppError) { - result := <-a.Srv.Store.User().Save(model.UserFromBot(bot)) - if result.Err != nil { - return nil, result.Err + user, err := a.Srv.Store.User().Save(model.UserFromBot(bot)) + if err != nil { + return nil, err } - bot.UserId = result.Data.(*model.User).Id + bot.UserId = user.Id savedBot, err := a.Srv.Store.Bot().Save(bot) if err != nil { diff --git a/app/slackimport.go b/app/slackimport.go index 135333ead1..49764853d8 100644 --- a/app/slackimport.go +++ b/app/slackimport.go @@ -788,18 +788,17 @@ func (a *App) OldImportUser(team *model.Team, user *model.User) *model.User { user.Roles = model.SYSTEM_USER_ROLE_ID - result := <-a.Srv.Store.User().Save(user) - if result.Err != nil { - mlog.Error(fmt.Sprintf("Error saving user. err=%v", result.Err)) + ruser, err := a.Srv.Store.User().Save(user) + if err != nil { + mlog.Error(fmt.Sprintf("Error saving user. err=%v", err)) return nil } - ruser := result.Data.(*model.User) - if _, err := a.Srv.Store.User().VerifyEmail(ruser.Id, ruser.Email); err != nil { + if _, err = a.Srv.Store.User().VerifyEmail(ruser.Id, ruser.Email); err != nil { mlog.Error(fmt.Sprintf("Failed to set email verified err=%v", err)) } - if err := a.JoinUserToTeam(team, user, ""); err != nil { + if err = a.JoinUserToTeam(team, user, ""); err != nil { mlog.Error(fmt.Sprintf("Failed to join team when importing err=%v", err)) } diff --git a/app/user.go b/app/user.go index 6963124d02..a4c4240755 100644 --- a/app/user.go +++ b/app/user.go @@ -293,12 +293,11 @@ func (a *App) createUser(user *model.User) (*model.User, *model.AppError) { return nil, err } - result := <-a.Srv.Store.User().Save(user) - if result.Err != nil { - mlog.Error(fmt.Sprintf("Couldn't save the user err=%v", result.Err)) - return nil, result.Err + ruser, err := a.Srv.Store.User().Save(user) + if err != nil { + mlog.Error(fmt.Sprintf("Couldn't save the user err=%v", err)) + return nil, err } - ruser := result.Data.(*model.User) if user.EmailVerified { if err := a.VerifyUserEmail(ruser.Id, user.Email); err != nil { diff --git a/store/sqlstore/user_store.go b/store/sqlstore/user_store.go index c63198bfff..41767ac2c2 100644 --- a/store/sqlstore/user_store.go +++ b/store/sqlstore/user_store.go @@ -118,30 +118,27 @@ func (us SqlUserStore) CreateIndexesIfNotExists() { us.CreateFullTextIndexIfNotExists("idx_users_names_no_full_name_txt", "Users", strings.Join(USER_SEARCH_TYPE_NAMES_NO_FULL_NAME, ", ")) } -func (us SqlUserStore) Save(user *model.User) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - if len(user.Id) > 0 { - result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.existing.app_error", nil, "user_id="+user.Id, http.StatusBadRequest) - return - } +func (us SqlUserStore) Save(user *model.User) (*model.User, *model.AppError) { + if len(user.Id) > 0 { + return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.existing.app_error", nil, "user_id="+user.Id, http.StatusBadRequest) + } - user.PreSave() - if result.Err = user.IsValid(); result.Err != nil { - return - } + user.PreSave() + if err := user.IsValid(); err != nil { + return nil, err + } - if err := us.GetMaster().Insert(user); err != nil { - if IsUniqueConstraintError(err, []string{"Email", "users_email_key", "idx_users_email_unique"}) { - result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.email_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) - } else if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) { - result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.username_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) - } else { - result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusInternalServerError) - } - } else { - result.Data = user + if err := us.GetMaster().Insert(user); err != nil { + if IsUniqueConstraintError(err, []string{"Email", "users_email_key", "idx_users_email_unique"}) { + return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.email_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) } - }) + if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) { + return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.username_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) + } + return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusInternalServerError) + } + + return user, nil } func (us SqlUserStore) Update(user *model.User, trustedUpdateData bool) (*model.UserUpdate, *model.AppError) { @@ -197,7 +194,8 @@ func (us SqlUserStore) Update(user *model.User, trustedUpdateData bool) (*model. if err != nil { if IsUniqueConstraintError(err, []string{"Email", "users_email_key", "idx_users_email_unique"}) { return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.email_taken.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) - } else if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) { + } + if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) { return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.username_taken.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) } return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.updating.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusInternalServerError) diff --git a/store/store.go b/store/store.go index a20019b5c4..fe7b3c0d6e 100644 --- a/store/store.go +++ b/store/store.go @@ -249,7 +249,7 @@ type PostStore interface { } type UserStore interface { - Save(user *model.User) StoreChannel + Save(user *model.User) (*model.User, *model.AppError) Update(user *model.User, allowRoleUpdate bool) (*model.UserUpdate, *model.AppError) UpdateLastPictureUpdate(userId string) *model.AppError ResetLastPictureUpdate(userId string) *model.AppError diff --git a/store/storetest/bot_store.go b/store/storetest/bot_store.go index 28ffd894b8..683eaf4e7b 100644 --- a/store/storetest/bot_store.go +++ b/store/storetest/bot_store.go @@ -6,7 +6,6 @@ package storetest import ( "net/http" "testing" - "time" "github.com/stretchr/testify/require" @@ -14,15 +13,13 @@ import ( "github.com/mattermost/mattermost-server/store" ) -func makeBotWithUser(ss store.Store, bot *model.Bot) (*model.Bot, *model.User) { - user := store.Must(ss.User().Save(model.UserFromBot(bot))).(*model.User) +func makeBotWithUser(t *testing.T, ss store.Store, bot *model.Bot) (*model.Bot, *model.User) { + user, err := ss.User().Save(model.UserFromBot(bot)) + require.Nil(t, err) bot.UserId = user.Id - bot, err := ss.Bot().Save(bot) - if err != nil { - time.Sleep(time.Second) - panic(err) - } + bot, err = ss.Bot().Save(bot) + require.Nil(t, err) return bot, user } @@ -36,7 +33,7 @@ func TestBotStore(t *testing.T, ss store.Store) { } func testBotStoreGet(t *testing.T, ss store.Store) { - deletedBot, _ := makeBotWithUser(ss, &model.Bot{ + deletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "deleted_bot", Description: "A deleted bot", OwnerId: model.NewId(), @@ -47,7 +44,7 @@ func testBotStoreGet(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(deletedBot.UserId)) }() - permanentlyDeletedBot, _ := makeBotWithUser(ss, &model.Bot{ + permanentlyDeletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "permanently_deleted_bot", Description: "A permanently deleted bot", OwnerId: model.NewId(), @@ -56,7 +53,7 @@ func testBotStoreGet(t *testing.T, ss store.Store) { require.Nil(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId)) defer func() { require.Nil(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }() - b1, _ := makeBotWithUser(ss, &model.Bot{ + b1, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b1", Description: "The first bot", OwnerId: model.NewId(), @@ -64,7 +61,7 @@ func testBotStoreGet(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }() - b2, _ := makeBotWithUser(ss, &model.Bot{ + b2, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b2", Description: "The second bot", OwnerId: model.NewId(), @@ -113,7 +110,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { OwnerId1 := model.NewId() OwnerId2 := model.NewId() - deletedBot, _ := makeBotWithUser(ss, &model.Bot{ + deletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "deleted_bot", Description: "A deleted bot", OwnerId: OwnerId1, @@ -124,7 +121,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(deletedBot.UserId)) }() - permanentlyDeletedBot, _ := makeBotWithUser(ss, &model.Bot{ + permanentlyDeletedBot, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "permanently_deleted_bot", Description: "A permanently deleted bot", OwnerId: OwnerId1, @@ -133,7 +130,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { require.Nil(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId)) defer func() { require.Nil(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }() - b1, _ := makeBotWithUser(ss, &model.Bot{ + b1, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b1", Description: "The first bot", OwnerId: OwnerId1, @@ -141,7 +138,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }() - b2, _ := makeBotWithUser(ss, &model.Bot{ + b2, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b2", Description: "The second bot", OwnerId: OwnerId1, @@ -158,7 +155,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { }, bot) }) - b3, _ := makeBotWithUser(ss, &model.Bot{ + b3, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b3", Description: "The third bot", OwnerId: OwnerId1, @@ -166,7 +163,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(b3.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b3.UserId)) }() - b4, _ := makeBotWithUser(ss, &model.Bot{ + b4, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b4", Description: "The fourth bot", OwnerId: OwnerId2, @@ -178,7 +175,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - if err := (<-ss.User().Save(&deletedUser)).Err; err != nil { + if _, err := ss.User().Save(&deletedUser); err != nil { t.Fatal("couldn't save user", err) } deletedUser.DeleteAt = model.GetMillis() @@ -186,7 +183,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) { t.Fatal("couldn't delete user", err) } defer func() { require.Nil(t, ss.User().PermanentDelete(deletedUser.Id)) }() - ob5, _ := makeBotWithUser(ss, &model.Bot{ + ob5, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "ob5", Description: "Orphaned bot 5", OwnerId: deletedUser.Id, @@ -314,7 +311,8 @@ func testBotStoreSave(t *testing.T, ss store.Store) { OwnerId: model.NewId(), } - user := store.Must(ss.User().Save(model.UserFromBot(bot))).(*model.User) + user, err := ss.User().Save(model.UserFromBot(bot)) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(user.Id)) }() bot.UserId = user.Id @@ -341,7 +339,7 @@ func testBotStoreSave(t *testing.T, ss store.Store) { func testBotStoreUpdate(t *testing.T, ss store.Store) { t.Run("invalid bot should fail to update", func(t *testing.T) { - existingBot, _ := makeBotWithUser(ss, &model.Bot{ + existingBot, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "existing_bot", OwnerId: model.NewId(), }) @@ -356,7 +354,7 @@ func testBotStoreUpdate(t *testing.T, ss store.Store) { }) t.Run("existing bot should update", func(t *testing.T) { - existingBot, _ := makeBotWithUser(ss, &model.Bot{ + existingBot, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "existing_bot", OwnerId: model.NewId(), }) @@ -388,7 +386,7 @@ func testBotStoreUpdate(t *testing.T, ss store.Store) { }) t.Run("deleted bot should update, restoring", func(t *testing.T) { - existingBot, _ := makeBotWithUser(ss, &model.Bot{ + existingBot, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "existing_bot", OwnerId: model.NewId(), }) @@ -417,14 +415,14 @@ func testBotStoreUpdate(t *testing.T, ss store.Store) { } func testBotStorePermanentDelete(t *testing.T, ss store.Store) { - b1, _ := makeBotWithUser(ss, &model.Bot{ + b1, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b1", OwnerId: model.NewId(), }) defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }() - b2, _ := makeBotWithUser(ss, &model.Bot{ + b2, _ := makeBotWithUser(t, ss, &model.Bot{ Username: "b2", OwnerId: model.NewId(), }) diff --git a/store/storetest/channel_member_history_store.go b/store/storetest/channel_member_history_store.go index d49119b499..2d234bfd04 100644 --- a/store/storetest/channel_member_history_store.go +++ b/store/storetest/channel_member_history_store.go @@ -39,7 +39,9 @@ func testLogJoinEvent(t *testing.T, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - user = *store.Must(ss.User().Save(&user)).(*model.User) + userPtr, err := ss.User().Save(&user) + require.Nil(t, err) + user = *userPtr // log a join event err = ss.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()) @@ -63,7 +65,9 @@ func testLogLeaveEvent(t *testing.T, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - user = *store.Must(ss.User().Save(&user)).(*model.User) + userPtr, err := ss.User().Save(&user) + require.Nil(t, err) + user = *userPtr // log a join event, followed by a leave event err = ss.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()) @@ -90,7 +94,9 @@ func testGetUsersInChannelAtChannelMemberHistory(t *testing.T, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - user = *store.Must(ss.User().Save(&user)).(*model.User) + userPtr, err := ss.User().Save(&user) + require.Nil(t, err) + user = *userPtr // the user was previously in the channel a long time ago, before the export period starts // the existence of this record makes it look like the MessageExport feature has been active for awhile, and prevents @@ -184,7 +190,9 @@ func testGetUsersInChannelAtChannelMembers(t *testing.T, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - user = *store.Must(ss.User().Save(&user)).(*model.User) + userPtr, err := ss.User().Save(&user) + require.Nil(t, err) + user = *userPtr // clear any existing ChannelMemberHistory data that might interfere with our test var tableDataTruncated = false @@ -292,14 +300,18 @@ func testPermanentDeleteBatch(t *testing.T, ss store.Store) { Nickname: model.NewId(), Username: model.NewId(), } - user = *store.Must(ss.User().Save(&user)).(*model.User) + userPtr, err := ss.User().Save(&user) + require.Nil(t, err) + user = *userPtr user2 := model.User{ Email: MakeEmail(), Nickname: model.NewId(), Username: model.NewId(), } - user2 = *store.Must(ss.User().Save(&user2)).(*model.User) + user2Ptr, err := ss.User().Save(&user2) + require.Nil(t, err) + user2 = *user2Ptr // user1 joins and leaves the channel leaveTime := model.GetMillis() diff --git a/store/storetest/channel_store.go b/store/storetest/channel_store.go index 75be005e14..b798c5396e 100644 --- a/store/storetest/channel_store.go +++ b/store/storetest/channel_store.go @@ -130,13 +130,15 @@ func testChannelStoreSaveDirectChannel(t *testing.T, ss store.Store, s SqlSuppli u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) m1 := model.ChannelMember{} @@ -149,7 +151,7 @@ func testChannelStoreSaveDirectChannel(t *testing.T, ss store.Store, s SqlSuppli m2.UserId = u2.Id m2.NotifyProps = model.GetDefaultChannelNotifyProps() - if _, err := ss.Channel().SaveDirectChannel(&o1, &m1, &m2); err != nil { + if _, err = ss.Channel().SaveDirectChannel(&o1, &m1, &m2); err != nil { t.Fatal("couldn't save direct channel", err) } @@ -211,13 +213,15 @@ func testChannelStoreCreateDirectChannel(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) c1, err := ss.Channel().CreateDirectChannel(u1.Id, u2.Id) @@ -382,13 +386,15 @@ func testChannelStoreGet(t *testing.T, ss store.Store, s SqlSupplier) { u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err = ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) o2 := model.Channel{} @@ -457,13 +463,15 @@ func testChannelStoreGetChannelsByIds(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err = ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) o2 := model.Channel{} @@ -864,13 +872,15 @@ func testChannelMemberStore(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err = ss.User().Save(&u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) o1 := model.ChannelMember{} @@ -954,13 +964,15 @@ func testChannelDeleteMemberStore(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err = ss.User().Save(&u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) o1 := model.ChannelMember{} @@ -1917,7 +1929,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 0, } - store.Must(ss.User().Save(u1)) + _, err = ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) m1 := model.ChannelMember{ @@ -1927,8 +1940,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { } store.Must(ss.Channel().SaveMember(&m1)) - if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil { - t.Fatalf("failed to get member count: %v", err) + if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil { + t.Fatalf("failed to get member count: %v", channelErr) } else if count != 1 { t.Fatalf("got incorrect member count %v", count) } @@ -1937,7 +1950,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 0, } - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) m2 := model.ChannelMember{ @@ -1947,8 +1961,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { } store.Must(ss.Channel().SaveMember(&m2)) - if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil { - t.Fatalf("failed to get member count: %v", err) + if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil { + t.Fatalf("failed to get member count: %v", channelErr) } else if count != 2 { t.Fatalf("got incorrect member count %v", count) } @@ -1958,7 +1972,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 0, } - store.Must(ss.User().Save(&u3)) + _, err = ss.User().Save(&u3) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) m3 := model.ChannelMember{ @@ -1968,8 +1983,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { } store.Must(ss.Channel().SaveMember(&m3)) - if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil { - t.Fatalf("failed to get member count: %v", err) + if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil { + t.Fatalf("failed to get member count: %v", channelErr) } else if count != 2 { t.Fatalf("got incorrect member count %v", count) } @@ -1979,7 +1994,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 10000, } - store.Must(ss.User().Save(u4)) + _, err = ss.User().Save(u4) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1)) m4 := model.ChannelMember{ @@ -2564,32 +2580,36 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s u1.Email = MakeEmail() u1.Username = "user1" + model.NewId() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Username = "user2" + model.NewId() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) u3 := &model.User{} u3.Email = MakeEmail() u3.Username = "user3" + model.NewId() u3.Nickname = model.NewId() - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) u4 := &model.User{} u4.Email = MakeEmail() u4.Username = "user4" + model.NewId() u4.Nickname = model.NewId() - store.Must(ss.User().Save(u4)) + _, err = ss.User().Save(u4) + require.Nil(t, err) o1 := model.Channel{} o1.TeamId = model.NewId() o1.DisplayName = "ChannelA" o1.Name = "zz" + model.NewId() + "b" o1.Type = model.CHANNEL_OPEN - _, err := ss.Channel().Save(&o1, -1) + _, err = ss.Channel().Save(&o1, -1) require.Nil(t, err) m1 := model.ChannelMember{} @@ -2732,25 +2752,29 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) { u1.Username = "user.one" u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) u2 := &model.User{} u2.Username = "user.two" u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) u3 := &model.User{} u3.Username = "user.three" u3.Email = MakeEmail() u3.Nickname = model.NewId() - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) u4 := &model.User{} u4.Username = "user.four" u4.Email = MakeEmail() u4.Nickname = model.NewId() - store.Must(ss.User().Save(u4)) + _, err = ss.User().Save(u4) + require.Nil(t, err) // Group channels userIds := []string{u1.Id, u2.Id, u3.Id} @@ -2758,7 +2782,7 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) { gc1.Name = model.GetGroupNameFromUserIds(userIds) gc1.DisplayName = "GroupChannel" + model.NewId() gc1.Type = model.CHANNEL_GROUP - _, err := ss.Channel().Save(&gc1, -1) + _, err = ss.Channel().Save(&gc1, -1) require.Nil(t, err) for _, userId := range userIds { @@ -2901,12 +2925,14 @@ func testChannelStoreAnalyticsDeletedTypeCount(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err = ss.User().Save(u1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) d4, err := ss.Channel().CreateDirectChannel(u1.Id, u2.Id) if err != nil { @@ -3482,7 +3508,8 @@ func testChannelStoreGetChannelMembersForExport(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err = ss.User().Save(&u1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = c1.Id @@ -3528,17 +3555,20 @@ func testChannelStoreRemoveAllDeactivatedMembers(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err = ss.User().Save(&u1) + require.Nil(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) u3 := model.User{} u3.Email = MakeEmail() u3.Nickname = model.NewId() - store.Must(ss.User().Save(&u3)) + _, err = ss.User().Save(&u3) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = c1.Id @@ -3603,13 +3633,15 @@ func testChannelStoreExportAllDirectChannels(t *testing.T, ss store.Store, s Sql u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err = ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) m1 := model.ChannelMember{} @@ -3662,13 +3694,15 @@ func testChannelStoreExportAllDirectChannelsExcludePrivateAndPublic(t *testing.T u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err = ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) m1 := model.ChannelMember{} @@ -3704,13 +3738,15 @@ func testChannelStoreExportAllDirectChannelsDeletedChannel(t *testing.T, ss stor u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) m1 := model.ChannelMember{} @@ -3726,7 +3762,7 @@ func testChannelStoreExportAllDirectChannelsDeletedChannel(t *testing.T, ss stor ss.Channel().SaveDirectChannel(&o1, &m1, &m2) o1.DeleteAt = 1 - err := ss.Channel().SetDeleteAt(o1.Id, 1, 1) + err = ss.Channel().SetDeleteAt(o1.Id, 1, 1) require.Nil(t, err, "channel should have been deleted") d1, err := ss.Channel().GetAllDirectChannelsForExportAfter(10000, strings.Repeat("0", 26)) diff --git a/store/storetest/compliance_store.go b/store/storetest/compliance_store.go index bfdd983bcd..4e7baed44c 100644 --- a/store/storetest/compliance_store.go +++ b/store/storetest/compliance_store.go @@ -76,13 +76,15 @@ func testComplianceExport(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() u1.Username = model.NewId() - u1 = store.Must(ss.User().Save(u1)).(*model.User) + u1, err = ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Username = model.NewId() - u2 = store.Must(ss.User().Save(u2)).(*model.User) + u2, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1)) c1 := &model.Channel{} @@ -181,13 +183,15 @@ func testComplianceExportDirectMessages(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() u1.Username = model.NewId() - u1 = store.Must(ss.User().Save(u1)).(*model.User) + u1, err = ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Username = model.NewId() - u2 = store.Must(ss.User().Save(u2)).(*model.User) + u2, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1)) c1 := &model.Channel{} @@ -272,7 +276,8 @@ func testMessageExportPublicChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1 = store.Must(ss.User().Save(user1)).(*model.User) + user1, err = ss.User().Save(user1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, @@ -282,7 +287,8 @@ func testMessageExportPublicChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user2 = store.Must(ss.User().Save(user2)).(*model.User) + user2, err = ss.User().Save(user2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, @@ -370,7 +376,8 @@ func testMessageExportPrivateChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1 = store.Must(ss.User().Save(user1)).(*model.User) + user1, err = ss.User().Save(user1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, @@ -380,7 +387,8 @@ func testMessageExportPrivateChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user2 = store.Must(ss.User().Save(user2)).(*model.User) + user2, err = ss.User().Save(user2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, @@ -470,7 +478,8 @@ func testMessageExportDirectMessageChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1 = store.Must(ss.User().Save(user1)).(*model.User) + user1, err = ss.User().Save(user1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, @@ -480,7 +489,8 @@ func testMessageExportDirectMessageChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user2 = store.Must(ss.User().Save(user2)).(*model.User) + user2, err = ss.User().Save(user2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, @@ -545,7 +555,8 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user1 = store.Must(ss.User().Save(user1)).(*model.User) + user1, err = ss.User().Save(user1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, @@ -555,7 +566,8 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user2 = store.Must(ss.User().Save(user2)).(*model.User) + user2, err = ss.User().Save(user2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, @@ -565,7 +577,8 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - user3 = store.Must(ss.User().Save(user3)).(*model.User) + user3, err = ss.User().Save(user3) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user3.Id, diff --git a/store/storetest/group_store.go b/store/storetest/group_store.go index 72eb03ae7f..8eb7d1da94 100644 --- a/store/storetest/group_store.go +++ b/store/storetest/group_store.go @@ -442,9 +442,8 @@ func testGroupGetMemberUsers(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(u1) - require.Nil(t, res.Err) - user1 := res.Data.(*model.User) + user1, err := ss.User().Save(u1) + require.Nil(t, err) _, err = ss.Group().UpsertMember(group.Id, user1.Id) require.Nil(t, err) @@ -453,9 +452,8 @@ func testGroupGetMemberUsers(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res = <-ss.User().Save(u2) - require.Nil(t, res.Err) - user2 := res.Data.(*model.User) + user2, err := ss.User().Save(u2) + require.Nil(t, err) _, err = ss.Group().UpsertMember(group.Id, user2.Id) require.Nil(t, err) @@ -496,9 +494,8 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(u1) - require.Nil(t, res.Err) - user1 := res.Data.(*model.User) + user1, err := ss.User().Save(u1) + require.Nil(t, err) _, err = ss.Group().UpsertMember(group.Id, user1.Id) require.Nil(t, err) @@ -507,9 +504,8 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res = <-ss.User().Save(u2) - require.Nil(t, res.Err) - user2 := res.Data.(*model.User) + user2, err := ss.User().Save(u2) + require.Nil(t, err) _, err = ss.Group().UpsertMember(group.Id, user2.Id) require.Nil(t, err) @@ -562,9 +558,8 @@ func testUpsertMember(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res2 := <-ss.User().Save(u1) - require.Nil(t, res2.Err) - user := res2.Data.(*model.User) + user, err := ss.User().Save(u1) + require.Nil(t, err) // Happy path d2, err := ss.Group().UpsertMember(group.Id, user.Id) @@ -617,9 +612,8 @@ func testGroupDeleteMember(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res2 := <-ss.User().Save(u1) - require.Nil(t, res2.Err) - user := res2.Data.(*model.User) + user, err := ss.User().Save(u1) + require.Nil(t, err) // Create member d1, err := ss.Group().UpsertMember(group.Id, user.Id) @@ -919,9 +913,8 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(user) - require.Nil(t, res.Err) - user = res.Data.(*model.User) + user, err = ss.User().Save(user) + require.Nil(t, err) // Create GroupMember _, err = ss.Group().UpsertMember(group.Id, user.Id) @@ -1058,7 +1051,7 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) { require.Len(t, teamMembers, 1) // adding team membership stops returning result - res = <-ss.Team().SaveMember(&model.TeamMember{ + res := <-ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user.Id, }, 999) @@ -1083,13 +1076,12 @@ func testPendingAutoAddChannelMembers(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(user) - require.Nil(t, res.Err) - user = res.Data.(*model.User) + user, err = ss.User().Save(user) + require.Nil(t, err) // Create GroupMember _, err = ss.Group().UpsertMember(group.Id, user.Id) - require.Nil(t, res.Err) + require.Nil(t, err) // Create Channel channel := &model.Channel{ @@ -1415,27 +1407,24 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(userA) - require.Nil(t, res.Err) - userA = res.Data.(*model.User) + userA, err = ss.User().Save(userA) + require.Nil(t, err) // userB will not get removed from the group userB := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - res = <-ss.User().Save(userB) - require.Nil(t, res.Err) - userB = res.Data.(*model.User) + userB, err = ss.User().Save(userB) + require.Nil(t, err) // userC was never in the group userC := &model.User{ Email: MakeEmail(), Username: model.NewId(), } - res = <-ss.User().Save(userC) - require.Nil(t, res.Err) - userC = res.Data.(*model.User) + userC, err = ss.User().Save(userC) + require.Nil(t, err) // add users to group (but not userC) _, err = ss.Group().UpsertMember(group.Id, userA.Id) @@ -1517,7 +1506,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData } for _, item := range userIDTeamIDs { - res = <-ss.Team().SaveMember(&model.TeamMember{ + res := <-ss.Team().SaveMember(&model.TeamMember{ UserId: item[0], TeamId: item[1], }, 99) @@ -1535,7 +1524,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData } for _, item := range userIDChannelIDs { - res = <-ss.Channel().SaveMember(&model.ChannelMember{ + res := <-ss.Channel().SaveMember(&model.ChannelMember{ UserId: item[0], ChannelId: item[1], NotifyProps: model.GetDefaultChannelNotifyProps(), @@ -1627,9 +1616,8 @@ func testGetGroupsByChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(u1) - require.Nil(t, res.Err) - user1 := res.Data.(*model.User) + user1, err := ss.User().Save(u1) + require.Nil(t, err) _, err = ss.Group().UpsertMember(group1.Id, user1.Id) require.Nil(t, err) @@ -1827,9 +1815,8 @@ func testGetGroupsByTeam(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(u1) - require.Nil(t, res.Err) - user1 := res.Data.(*model.User) + user1, err := ss.User().Save(u1) + require.Nil(t, err) _, err = ss.Group().UpsertMember(group1.Id, user1.Id) require.Nil(t, err) @@ -2068,9 +2055,8 @@ func testGetGroups(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(u1) - require.Nil(t, res.Err) - user1 := res.Data.(*model.User) + user1, err := ss.User().Save(u1) + require.Nil(t, err) _, err = ss.Group().UpsertMember(group1.Id, user1.Id) require.Nil(t, err) @@ -2245,13 +2231,12 @@ func testTeamMembersMinusGroupMembers(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(user) - require.Nil(t, res.Err) - user = res.Data.(*model.User) + user, err = ss.User().Save(user) + require.Nil(t, err) users = append(users, user) trueOrFalse := int(math.Mod(float64(i), 2)) == 0 - res = <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: user.Id, SchemeUser: trueOrFalse, SchemeAdmin: !trueOrFalse}, 999) + res := <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: user.Id, SchemeUser: trueOrFalse, SchemeAdmin: !trueOrFalse}, 999) require.Nil(t, res.Err) } @@ -2392,13 +2377,12 @@ func testChannelMembersMinusGroupMembers(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - res := <-ss.User().Save(user) - require.Nil(t, res.Err) - user = res.Data.(*model.User) + user, err = ss.User().Save(user) + require.Nil(t, err) users = append(users, user) trueOrFalse := int(math.Mod(float64(i), 2)) == 0 - res = <-ss.Channel().SaveMember(&model.ChannelMember{ + res := <-ss.Channel().SaveMember(&model.ChannelMember{ ChannelId: channel.Id, UserId: user.Id, SchemeUser: trueOrFalse, diff --git a/store/storetest/mocks/UserStore.go b/store/storetest/mocks/UserStore.go index b39ada04d6..09f3a9e90f 100644 --- a/store/storetest/mocks/UserStore.go +++ b/store/storetest/mocks/UserStore.go @@ -888,19 +888,28 @@ func (_m *UserStore) ResetLastPictureUpdate(userId string) *model.AppError { } // Save provides a mock function with given fields: user -func (_m *UserStore) Save(user *model.User) store.StoreChannel { +func (_m *UserStore) Save(user *model.User) (*model.User, *model.AppError) { ret := _m.Called(user) - var r0 store.StoreChannel - if rf, ok := ret.Get(0).(func(*model.User) store.StoreChannel); ok { + var r0 *model.User + if rf, ok := ret.Get(0).(func(*model.User) *model.User); ok { r0 = rf(user) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(store.StoreChannel) + r0 = ret.Get(0).(*model.User) } } - return r0 + var r1 *model.AppError + if rf, ok := ret.Get(1).(func(*model.User) *model.AppError); ok { + r1 = rf(user) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*model.AppError) + } + } + + return r0, r1 } // Search provides a mock function with given fields: teamId, term, options diff --git a/store/storetest/post_store.go b/store/storetest/post_store.go index 4b0ab85313..facb9c472a 100644 --- a/store/storetest/post_store.go +++ b/store/storetest/post_store.go @@ -2360,7 +2360,8 @@ func testPostStoreGetParentsForExportAfter(t *testing.T, ss store.Store) { u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err = ss.User().Save(&u1) + require.Nil(t, err) p1 := &model.Post{} p1.ChannelId = c1.Id @@ -2407,7 +2408,8 @@ func testPostStoreGetRepliesForExport(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err = ss.User().Save(&u1) + require.Nil(t, err) p1 := &model.Post{} p1.ChannelId = c1.Id @@ -2466,13 +2468,15 @@ func testPostStoreGetDirectPostParentsForExportAfter(t *testing.T, ss store.Stor u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) m1 := model.ChannelMember{} @@ -2492,7 +2496,7 @@ func testPostStoreGetDirectPostParentsForExportAfter(t *testing.T, ss store.Stor p1.UserId = u1.Id p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" p1.CreateAt = 1000 - p1, err := ss.Post().Save(p1) + p1, err = ss.Post().Save(p1) require.Nil(t, err) r1, err := ss.Post().GetDirectPostParentsForExportAfter(10000, strings.Repeat("0", 26)) @@ -2517,14 +2521,16 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, ss sto u1.DeleteAt = 1 u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.DeleteAt = 1 u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) m1 := model.ChannelMember{} @@ -2540,7 +2546,7 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, ss sto ss.Channel().SaveDirectChannel(&o1, &m1, &m2) o1.DeleteAt = 1 - err := ss.Channel().SetDeleteAt(o1.Id, 1, 1) + err = ss.Channel().SetDeleteAt(o1.Id, 1, 1) assert.Nil(t, err) p1 := &model.Post{} @@ -2582,13 +2588,15 @@ func testPostStoreGetDirectPostParentsForExportAfterBatched(t *testing.T, ss sto u1 := &model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) m1 := model.ChannelMember{} @@ -2608,7 +2616,7 @@ func testPostStoreGetDirectPostParentsForExportAfterBatched(t *testing.T, ss sto p1.UserId = u1.Id p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" p1.CreateAt = 1000 - p1, err := ss.Post().Save(p1) + p1, err = ss.Post().Save(p1) require.Nil(t, err) postIds = append(postIds, p1.Id) } diff --git a/store/storetest/team_store.go b/store/storetest/team_store.go index 01b3724bea..0ce4d37fe5 100644 --- a/store/storetest/team_store.go +++ b/store/storetest/team_store.go @@ -922,10 +922,12 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { userIds := make([]string, maxUsersPerTeam) for i := 0; i < maxUsersPerTeam; i++ { - userIds[i] = store.Must(ss.User().Save(&model.User{ + user, err := ss.User().Save(&model.User{ Username: model.NewId(), Email: MakeEmail(), - })).(*model.User).Id + }) + require.Nil(t, err) + userIds[i] = user.Id defer func(userId string) { ss.User().PermanentDelete(userId) @@ -947,10 +949,12 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { t.Fatalf("should start with 5 team members, had %v instead", totalMemberCount) } - newUserId := store.Must(ss.User().Save(&model.User{ + user, err := ss.User().Save(&model.User{ Username: model.NewId(), Email: MakeEmail(), - })).(*model.User).Id + }) + require.Nil(t, err) + newUserId := user.Id defer func() { ss.User().PermanentDelete(newUserId) }() @@ -962,23 +966,23 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { t.Fatal("shouldn't be able to save member when at maximum members per team") } - if totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id); err != nil { - t.Fatal(err) + if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id); teamErr != nil { + t.Fatal(teamErr) } else if int(totalMemberCount) != maxUsersPerTeam { t.Fatalf("should still have 5 team members, had %v instead", totalMemberCount) } // Leaving the team from the UI sets DeleteAt instead of using TeamStore.RemoveMember - if _, err := ss.Team().UpdateMember(&model.TeamMember{ + if _, teamErr := ss.Team().UpdateMember(&model.TeamMember{ TeamId: team.Id, UserId: userIds[0], DeleteAt: 1234, - }); err != nil { - panic(err) + }); teamErr != nil { + panic(teamErr) } - if totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id); err != nil { - t.Fatal(err) + if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id); teamErr != nil { + t.Fatal(teamErr) } else if int(totalMemberCount) != maxUsersPerTeam-1 { t.Fatalf("should now only have 4 team members, had %v instead", totalMemberCount) } @@ -991,8 +995,8 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { }(newUserId) } - if totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id); err != nil { - t.Fatal(err) + if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id); teamErr != nil { + t.Fatal(teamErr) } else if int(totalMemberCount) != maxUsersPerTeam { t.Fatalf("should have 5 team members again, had %v instead", totalMemberCount) } @@ -1004,10 +1008,12 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { _, err = ss.User().Update(user2, true) require.Nil(t, err) - newUserId2 := store.Must(ss.User().Save(&model.User{ + user, err = ss.User().Save(&model.User{ Username: model.NewId(), Email: MakeEmail(), - })).(*model.User).Id + }) + require.Nil(t, err) + newUserId2 := user.Id if result := <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId2}, maxUsersPerTeam); result.Err != nil { t.Fatal("should've been able to save new member after deleting one", result.Err) } else { @@ -1125,12 +1131,14 @@ func testGetTeamMembersByIds(t *testing.T, ss store.Store) { func testTeamStoreMemberCount(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.DeleteAt = 1 - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) teamId1 := model.NewId() m1 := &model.TeamMember{TeamId: teamId1, UserId: u1.Id} @@ -1638,12 +1646,14 @@ func testTeamStoreGetTeamMembersForExport(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err = ss.User().Save(&u1) + require.Nil(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) m1 := &model.TeamMember{TeamId: t1.Id, UserId: u1.Id} store.Must(ss.Team().SaveMember(m1, -1)) diff --git a/store/storetest/terms_of_service_store.go b/store/storetest/terms_of_service_store.go index fb660d5b53..4e309bf213 100644 --- a/store/storetest/terms_of_service_store.go +++ b/store/storetest/terms_of_service_store.go @@ -23,7 +23,8 @@ func testSaveTermsOfService(t *testing.T, ss store.Store) { u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err := ss.User().Save(&u1) + require.Nil(t, err) termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} savedTermsOfService, err := ss.TermsOfService().Save(termsOfService) @@ -43,10 +44,12 @@ func testGetLatestTermsOfService(t *testing.T, ss store.Store) { u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err := ss.User().Save(&u1) + require.Nil(t, err) termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} - _, err := ss.TermsOfService().Save(termsOfService) + _, err = ss.TermsOfService().Save(termsOfService) + require.Nil(t, err) fetchedTermsOfService, err := ss.TermsOfService().GetLatest(true) require.Nil(t, err) @@ -59,10 +62,11 @@ func testGetTermsOfService(t *testing.T, ss store.Store) { u1.Username = model.NewId() u1.Email = MakeEmail() u1.Nickname = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err := ss.User().Save(&u1) + require.Nil(t, err) termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} - _, err := ss.TermsOfService().Save(termsOfService) + _, err = ss.TermsOfService().Save(termsOfService) require.Nil(t, err) r1, err := ss.TermsOfService().Get("an_invalid_id", true) diff --git a/store/storetest/user_access_token_store.go b/store/storetest/user_access_token_store.go index 14a0b8fa61..0a3c82f47c 100644 --- a/store/storetest/user_access_token_store.go +++ b/store/storetest/user_access_token_store.go @@ -142,7 +142,8 @@ func testUserAccessTokenSearch(t *testing.T, ss store.Store) { u1.Email = MakeEmail() u1.Username = model.NewId() - store.Must(ss.User().Save(&u1)) + _, err := ss.User().Save(&u1) + require.Nil(t, err) uat := &model.UserAccessToken{ Token: model.NewId(), @@ -154,7 +155,7 @@ func testUserAccessTokenSearch(t *testing.T, ss store.Store) { s1.UserId = uat.UserId s1.Token = uat.Token - s1, err := ss.Session().Save(s1) + s1, err = ss.Session().Save(s1) require.Nil(t, err) if _, err = ss.UserAccessToken().Save(uat); err != nil { diff --git a/store/storetest/user_store.go b/store/storetest/user_store.go index 326782a781..dffafd51f3 100644 --- a/store/storetest/user_store.go +++ b/store/storetest/user_store.go @@ -79,14 +79,14 @@ func testUserStoreSave(t *testing.T, ss store.Store) { Username: model.NewId(), } - if err := (<-ss.User().Save(&u1)).Err; err != nil { + if _, err := ss.User().Save(&u1); err != nil { t.Fatal("couldn't save user", err) } defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, maxUsersPerTeam)) - if err := (<-ss.User().Save(&u1)).Err; err == nil { + if _, err := ss.User().Save(&u1); err == nil { t.Fatal("shouldn't be able to update user from save") } @@ -94,18 +94,18 @@ func testUserStoreSave(t *testing.T, ss store.Store) { Email: u1.Email, Username: model.NewId(), } - if err := (<-ss.User().Save(&u2)).Err; err == nil { + if _, err := ss.User().Save(&u2); err == nil { t.Fatal("should be unique email") } u2.Email = MakeEmail() u2.Username = u1.Username - if err := (<-ss.User().Save(&u1)).Err; err == nil { + if _, err := ss.User().Save(&u1); err == nil { t.Fatal("should be unique username") } u2.Username = "" - if err := (<-ss.User().Save(&u1)).Err; err == nil { + if _, err := ss.User().Save(&u1); err == nil { t.Fatal("should be unique username") } @@ -114,7 +114,7 @@ func testUserStoreSave(t *testing.T, ss store.Store) { Email: MakeEmail(), Username: model.NewId(), } - if err := (<-ss.User().Save(&u)).Err; err != nil { + if _, err := ss.User().Save(&u); err != nil { t.Fatal("couldn't save item", err) } defer func() { require.Nil(t, ss.User().PermanentDelete(u.Id)) }() @@ -125,7 +125,7 @@ func testUserStoreSave(t *testing.T, ss store.Store) { u2.Id = "" u2.Email = MakeEmail() u2.Username = model.NewId() - if err := (<-ss.User().Save(&u2)).Err; err != nil { + if _, err := ss.User().Save(&u2); err != nil { t.Fatal("couldn't save item", err) } defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() @@ -139,7 +139,8 @@ func testUserStoreUpdate(t *testing.T, ss store.Store) { u1 := &model.User{ Email: MakeEmail(), } - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) @@ -147,30 +148,29 @@ func testUserStoreUpdate(t *testing.T, ss store.Store) { Email: MakeEmail(), AuthService: "ldap", } - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) - time.Sleep(100 * time.Millisecond) - - if _, err := ss.User().Update(u1, false); err != nil { + if _, err = ss.User().Update(u1, false); err != nil { t.Fatal(err) } missing := &model.User{} - if _, err := ss.User().Update(missing, false); err == nil { + if _, err = ss.User().Update(missing, false); err == nil { t.Fatal("Update should have failed because of missing key") } newId := &model.User{ Id: model.NewId(), } - if _, err := ss.User().Update(newId, false); err == nil { + if _, err = ss.User().Update(newId, false); err == nil { t.Fatal("Update should have failed because id change") } u2.Email = MakeEmail() - if _, err := ss.User().Update(u2, false); err == nil { + if _, err = ss.User().Update(u2, false); err == nil { t.Fatal("Update should have failed because you can't modify AD/LDAP fields") } @@ -179,7 +179,8 @@ func testUserStoreUpdate(t *testing.T, ss store.Store) { AuthService: "gitlab", } oldEmail := u3.Email - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u3.Id}, -1)) @@ -211,13 +212,12 @@ func testUserStoreUpdate(t *testing.T, ss store.Store) { func testUserStoreUpdateUpdateAt(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) - time.Sleep(10 * time.Millisecond) - - if _, err := ss.User().UpdateUpdateAt(u1.Id); err != nil { + if _, err = ss.User().UpdateUpdateAt(u1.Id); err != nil { t.Fatal(err) } @@ -232,11 +232,12 @@ func testUserStoreUpdateUpdateAt(t *testing.T, ss store.Store) { func testUserStoreUpdateFailedPasswordAttempts(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) - if err := ss.User().UpdateFailedPasswordAttempts(u1.Id, 3); err != nil { + if err = ss.User().UpdateFailedPasswordAttempts(u1.Id, 3); err != nil { t.Fatal(err) } @@ -251,14 +252,15 @@ func testUserStoreGet(t *testing.T, ss store.Store) { u1 := &model.User{ Email: MakeEmail(), } - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - u2 := store.Must(ss.User().Save(&model.User{ + u2, _ := ss.User().Save(&model.User{ Email: MakeEmail(), Username: model.NewId(), - })).(*model.User) - _, err := ss.Bot().Save(&model.Bot{ + }) + _, err = ss.Bot().Save(&model.Bot{ UserId: u2.Id, Username: u2.Username, Description: "bot description", @@ -296,30 +298,33 @@ func testUserStoreGet(t *testing.T, ss store.Store) { func testGetAllUsingAuthService(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), AuthService: "service", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), AuthService: "service", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), AuthService: "service2", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -358,23 +363,26 @@ func sanitized(user *model.User) *model.User { } func testUserStoreGetAllProfiles(t *testing.T, ss store.Store) { - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) - _, err := ss.Bot().Save(&model.Bot{ + }) + require.Nil(t, err) + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -384,33 +392,37 @@ func testUserStoreGetAllProfiles(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - u4 := store.Must(ss.User().Save(&model.User{ + u4, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), Roles: "system_user some-other-role", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() - u5 := store.Must(ss.User().Save(&model.User{ + u5, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u5" + model.NewId(), Roles: "system_admin", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u5.Id)) }() - u6 := store.Must(ss.User().Save(&model.User{ + u6, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u6" + model.NewId(), DeleteAt: model.GetMillis(), Roles: "system_admin", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u6.Id)) }() - u7 := store.Must(ss.User().Save(&model.User{ + u7, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u7" + model.NewId(), DeleteAt: model.GetMillis(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u7.Id)) }() t.Run("get offset 0, limit 100", func(t *testing.T) { @@ -460,7 +472,8 @@ func testUserStoreGetAllProfiles(t *testing.T, ss store.Store) { uNew := &model.User{} uNew.Email = MakeEmail() - store.Must(ss.User().Save(uNew)) + _, err := ss.User().Save(uNew) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(uNew.Id)) }() updatedEtag := ss.User().GetEtagForAllProfiles() @@ -510,25 +523,28 @@ func testUserStoreGetAllProfiles(t *testing.T, ss store.Store) { func testUserStoreGetProfiles(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) - _, err := ss.Bot().Save(&model.Bot{ + }) + require.Nil(t, err) + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -539,19 +555,21 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - u4 := store.Must(ss.User().Save(&model.User{ + u4, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), Roles: "system_admin", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1)) - u5 := store.Must(ss.User().Save(&model.User{ + u5, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u5" + model.NewId(), DeleteAt: model.GetMillis(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u5.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u5.Id}, -1)) @@ -599,7 +617,8 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { uNew := &model.User{} uNew.Email = MakeEmail() - store.Must(ss.User().Save(uNew)) + _, err := ss.User().Save(uNew) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(uNew.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: uNew.Id}, -1)) @@ -637,27 +656,30 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -730,27 +752,30 @@ func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) { func testUserStoreGetProfilesInChannelByStatus(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -830,25 +855,28 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, ss store.Store) { func testUserStoreGetProfilesWithoutTeam(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -879,27 +907,30 @@ func testUserStoreGetProfilesWithoutTeam(t *testing.T, ss store.Store) { func testUserStoreGetAllProfilesInChannel(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -995,27 +1026,30 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, ss store.Store) { func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1147,27 +1181,30 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) { func testUserStoreGetProfilesByIds(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1176,10 +1213,11 @@ func testUserStoreGetProfilesByIds(t *testing.T, ss store.Store) { u3.IsBot = true defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }() - u4 := store.Must(ss.User().Save(&model.User{ + u4, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() t.Run("get u1 by id, no caching", func(t *testing.T) { @@ -1224,28 +1262,32 @@ func testUserStoreGetProfilesByIds(t *testing.T, ss store.Store) { } func testUserStoreGetProfileByGroupChannelIdsForUser(t *testing.T, ss store.Store) { - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - u4 := store.Must(ss.User().Save(&model.User{ + u4, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() gc1, err := ss.Channel().Save(&model.Channel{ @@ -1343,27 +1385,30 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, ss store.Store) { teamId := model.NewId() team2Id := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: team2Id, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1406,29 +1451,32 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, ss store.Store) { func testUserStoreGetSystemAdminProfiles(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Roles: model.SYSTEM_USER_ROLE_ID + " " + model.SYSTEM_ADMIN_ROLE_ID, Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Roles: model.SYSTEM_USER_ROLE_ID + " " + model.SYSTEM_ADMIN_ROLE_ID, Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1450,27 +1498,30 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, ss store.Store) { func testUserStoreGetByEmail(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1515,31 +1566,34 @@ func testUserStoreGetByAuthData(t *testing.T, ss store.Store) { auth1 := model.NewId() auth3 := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), AuthData: &auth1, AuthService: "service", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), AuthData: &auth3, AuthService: "service2", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1584,27 +1638,30 @@ func testUserStoreGetByAuthData(t *testing.T, ss store.Store) { func testUserStoreGetByUsername(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1650,33 +1707,36 @@ func testUserStoreGetForLogin(t *testing.T, ss store.Store) { auth2 := model.NewId() auth3 := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), AuthService: model.USER_AUTH_SERVICE_GITLAB, AuthData: &auth, - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), AuthService: model.USER_AUTH_SERVICE_LDAP, AuthData: &auth2, - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), AuthService: model.USER_AUTH_SERVICE_LDAP, AuthData: &auth3, - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -1733,7 +1793,8 @@ func testUserStoreUpdatePassword(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) @@ -1755,7 +1816,8 @@ func testUserStoreUpdatePassword(t *testing.T, ss store.Store) { func testUserStoreDelete(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) @@ -1769,14 +1831,15 @@ func testUserStoreUpdateAuthData(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) service := "someservice" authData := model.NewId() - _, err := ss.User().UpdateAuthData(u1.Id, service, &authData, "", true) + _, err = ss.User().UpdateAuthData(u1.Id, service, &authData, "", true) require.Nil(t, err) if user, err := ss.User().GetByEmail(u1.Email); err != nil { @@ -1812,19 +1875,21 @@ func testUserUnreadCount(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Username = "user1" + model.NewId() u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) u2 := &model.User{} u2.Email = MakeEmail() u2.Username = "user2" + model.NewId() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - if _, err := ss.Channel().Save(&c1, -1); err != nil { - t.Fatal("couldn't save item", err) + if _, channelErr := ss.Channel().Save(&c1, -1); err != nil { + t.Fatal("couldn't save item", channelErr) } m1 := model.ChannelMember{} @@ -1843,7 +1908,7 @@ func testUserUnreadCount(t *testing.T, ss store.Store) { m1.ChannelId = c2.Id m2.ChannelId = c2.Id - if _, err := ss.Channel().SaveDirectChannel(&c2, &m1, &m2); err != nil { + if _, err = ss.Channel().SaveDirectChannel(&c2, &m1, &m2); err != nil { t.Fatal("couldn't save direct channel", err) } @@ -1853,7 +1918,7 @@ func testUserUnreadCount(t *testing.T, ss store.Store) { p1.Message = "this is a message for @" + u2.Username // Post one message with mention to open channel - _, err := ss.Post().Save(&p1) + _, err = ss.Post().Save(&p1) require.Nil(t, err) err = ss.Channel().IncrementMentionCount(c1.Id, u2.Id) require.Nil(t, err) @@ -1899,17 +1964,16 @@ func testUserUnreadCount(t *testing.T, ss store.Store) { func testUserStoreUpdateMfaSecret(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(&u1)) + _, err := ss.User().Save(&u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - time.Sleep(100 * time.Millisecond) - - if err := ss.User().UpdateMfaSecret(u1.Id, "12345"); err != nil { + if err = ss.User().UpdateMfaSecret(u1.Id, "12345"); err != nil { t.Fatal(err) } // should pass, no update will occur though - if err := ss.User().UpdateMfaSecret("junk", "12345"); err != nil { + if err = ss.User().UpdateMfaSecret("junk", "12345"); err != nil { t.Fatal(err) } } @@ -1917,21 +1981,22 @@ func testUserStoreUpdateMfaSecret(t *testing.T, ss store.Store) { func testUserStoreUpdateMfaActive(t *testing.T, ss store.Store) { u1 := model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(&u1)) + _, err := ss.User().Save(&u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() time.Sleep(100 * time.Millisecond) - if err := (<-ss.User().UpdateMfaActive(u1.Id, true)).Err; err != nil { + if err = (<-ss.User().UpdateMfaActive(u1.Id, true)).Err; err != nil { t.Fatal(err) } - if err := (<-ss.User().UpdateMfaActive(u1.Id, false)).Err; err != nil { + if err = (<-ss.User().UpdateMfaActive(u1.Id, false)).Err; err != nil { t.Fatal(err) } // should pass, no update will occur though - if err := (<-ss.User().UpdateMfaActive("junk", true)).Err; err != nil { + if err = (<-ss.User().UpdateMfaActive("junk", true)).Err; err != nil { t.Fatal(err) } } @@ -1939,27 +2004,30 @@ func testUserStoreUpdateMfaActive(t *testing.T, ss store.Store) { func testUserStoreGetRecentlyActiveUsersForTeam(t *testing.T, ss store.Store) { teamId := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -2008,27 +2076,30 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, ss store.Store) { teamId := model.NewId() teamId2 := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -2037,10 +2108,11 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, ss store.Store) { u3.IsBot = true defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }() - u4 := store.Must(ss.User().Save(&model.User{ + u4, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u4.Id}, -1)) @@ -2120,7 +2192,8 @@ func testUserStoreSearch(t *testing.T, ss store.Store) { Email: "harold" + model.NewId() + "@simulator.amazonses.com", Roles: "system_user system_admin", } - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() u2 := &model.User{ @@ -2128,7 +2201,8 @@ func testUserStoreSearch(t *testing.T, ss store.Store) { Email: MakeEmail(), Roles: "system_user", } - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() u3 := &model.User{ @@ -2137,9 +2211,10 @@ func testUserStoreSearch(t *testing.T, ss store.Store) { DeleteAt: 1, Roles: "system_admin", } - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -2155,7 +2230,8 @@ func testUserStoreSearch(t *testing.T, ss store.Store) { Nickname: "enyu", Email: MakeEmail(), } - store.Must(ss.User().Save(u5)) + _, err = ss.User().Save(u5) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u5.Id)) }() u6 := &model.User{ @@ -2165,7 +2241,8 @@ func testUserStoreSearch(t *testing.T, ss store.Store) { Nickname: "lodash", Email: MakeEmail(), } - store.Must(ss.User().Save(u6)) + _, err = ss.User().Save(u6) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u6.Id)) }() tid := model.NewId() @@ -2460,14 +2537,16 @@ func testUserStoreSearchNotInChannel(t *testing.T, ss store.Store) { Nickname: "Rob", Email: "harold" + model.NewId() + "@simulator.amazonses.com", } - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() u2 := &model.User{ Username: "jim2-bobby" + model.NewId(), Email: MakeEmail(), } - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() u3 := &model.User{ @@ -2475,9 +2554,10 @@ func testUserStoreSearchNotInChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 1, } - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -2677,14 +2757,16 @@ func testUserStoreSearchInChannel(t *testing.T, ss store.Store) { Nickname: "Rob", Email: "harold" + model.NewId() + "@simulator.amazonses.com", } - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() u2 := &model.User{ Username: "jim-bobby" + model.NewId(), Email: MakeEmail(), } - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() u3 := &model.User{ @@ -2692,9 +2774,10 @@ func testUserStoreSearchInChannel(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 1, } - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -2833,14 +2916,16 @@ func testUserStoreSearchNotInTeam(t *testing.T, ss store.Store) { Nickname: "Rob", Email: "harold" + model.NewId() + "@simulator.amazonses.com", } - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() u2 := &model.User{ Username: "jim-bobby" + model.NewId(), Email: MakeEmail(), } - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() u3 := &model.User{ @@ -2848,9 +2933,10 @@ func testUserStoreSearchNotInTeam(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 1, } - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -2864,7 +2950,8 @@ func testUserStoreSearchNotInTeam(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 0, } - store.Must(ss.User().Save(u4)) + _, err = ss.User().Save(u4) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() u5 := &model.User{ @@ -2874,7 +2961,8 @@ func testUserStoreSearchNotInTeam(t *testing.T, ss store.Store) { Nickname: "enyu", Email: MakeEmail(), } - store.Must(ss.User().Save(u5)) + _, err = ss.User().Save(u5) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u5.Id)) }() u6 := &model.User{ @@ -2884,7 +2972,8 @@ func testUserStoreSearchNotInTeam(t *testing.T, ss store.Store) { Nickname: "lodash", Email: MakeEmail(), } - store.Must(ss.User().Save(u6)) + _, err = ss.User().Save(u6) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u6.Id)) }() teamId1 := model.NewId() @@ -3013,14 +3102,16 @@ func testUserStoreSearchWithoutTeam(t *testing.T, ss store.Store) { Nickname: "Rob", Email: "harold" + model.NewId() + "@simulator.amazonses.com", } - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() u2 := &model.User{ Username: "jim2-bobby" + model.NewId(), Email: MakeEmail(), } - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() u3 := &model.User{ @@ -3028,9 +3119,10 @@ func testUserStoreSearchWithoutTeam(t *testing.T, ss store.Store) { Email: MakeEmail(), DeleteAt: 1, } - store.Must(ss.User().Save(u3)) + _, err = ss.User().Save(u3) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -3111,7 +3203,8 @@ func testCount(t *testing.T, ss store.Store) { teamId := model.NewId() u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) @@ -3119,15 +3212,17 @@ func testCount(t *testing.T, ss store.Store) { u2 := &model.User{} u2.Email = MakeEmail() u2.DeleteAt = model.GetMillis() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() // Bot - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, OwnerId: u1.Id, @@ -3215,7 +3310,8 @@ func testCount(t *testing.T, ss store.Store) { func testUserStoreAnalyticsGetInactiveUsersCount(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() count, err := ss.User().AnalyticsGetInactiveUsersCount() @@ -3226,7 +3322,8 @@ func testUserStoreAnalyticsGetInactiveUsersCount(t *testing.T, ss store.Store) { u2 := &model.User{} u2.Email = MakeEmail() u2.DeleteAt = model.GetMillis() - store.Must(ss.User().Save(u2)) + _, err = ss.User().Save(u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() newCount, err := ss.User().AnalyticsGetInactiveUsersCount() @@ -3256,12 +3353,12 @@ func testUserStoreAnalyticsGetSystemAdminCount(t *testing.T, ss store.Store) { u2.Email = MakeEmail() u2.Username = model.NewId() - if err := (<-ss.User().Save(&u1)).Err; err != nil { + if _, err := ss.User().Save(&u1); err != nil { t.Fatal("couldn't save user", err) } defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - if err := (<-ss.User().Save(&u2)).Err; err != nil { + if _, err := ss.User().Save(&u2); err != nil { t.Fatal("couldn't save user", err) } defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() @@ -3287,30 +3384,33 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { teamId := team.Id teamId2 := model.NewId() - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u1" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) // Ensure update at timestamp changes time.Sleep(time.Millisecond * 10) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u2.Id}, -1)) // Ensure update at timestamp changes time.Sleep(time.Millisecond * 10) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u3" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, @@ -3403,10 +3503,11 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { // Ensure update at timestamp changes time.Sleep(time.Millisecond * 10) - u4 := store.Must(ss.User().Save(&model.User{ + u4, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u4" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1)) @@ -3492,13 +3593,17 @@ func testUserStoreClearAllCustomRoleAssignments(t *testing.T, ss store.Store) { Roles: "custom_only", } - store.Must(ss.User().Save(&u1)) + _, err := ss.User().Save(&u1) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - store.Must(ss.User().Save(&u2)) + _, err = ss.User().Save(&u2) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() - store.Must(ss.User().Save(&u3)) + _, err = ss.User().Save(&u3) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }() - store.Must(ss.User().Save(&u4)) + _, err = ss.User().Save(&u4) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u4.Id)) }() require.Nil(t, ss.User().ClearAllCustomRoleAssignments()) @@ -3521,19 +3626,21 @@ func testUserStoreClearAllCustomRoleAssignments(t *testing.T, ss store.Store) { } func testUserStoreGetAllAfter(t *testing.T, ss store.Store) { - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: model.NewId(), Roles: "system_user system_admin system_post_all", - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: "u2" + model.NewId(), - })).(*model.User) + }) + require.Nil(t, err) defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() - _, err := ss.Bot().Save(&model.Bot{ + _, err = ss.Bot().Save(&model.Bot{ UserId: u2.Id, Username: u2.Username, OwnerId: u1.Id, @@ -3600,19 +3707,21 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) { cPriv, err := ss.Channel().Save(ch3, -1) require.Nil(t, err) - u1 := store.Must(ss.User().Save(&model.User{ + u1, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: model.NewId(), CreateAt: model.GetMillis(), - })).(*model.User) + }) + require.Nil(t, err) time.Sleep(10 * time.Millisecond) - u2 := store.Must(ss.User().Save(&model.User{ + u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: model.NewId(), CreateAt: model.GetMillis(), - })).(*model.User) + }) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ UserId: u2.Id, TeamId: t1.Id, @@ -3631,11 +3740,12 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) { startTime := u2.CreateAt time.Sleep(10 * time.Millisecond) - u3 := store.Must(ss.User().Save(&model.User{ + u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), Username: model.NewId(), CreateAt: model.GetMillis(), - })).(*model.User) + }) + require.Nil(t, err) store.Must(ss.Team().SaveMember(&model.TeamMember{ UserId: u3.Id, TeamId: t1.Id, @@ -3711,7 +3821,7 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) { var testUsers []*model.User for i := 0; i < 3; i++ { id = model.NewId() - res := <-ss.User().Save(&model.User{ + user, userErr := ss.User().Save(&model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -3719,8 +3829,7 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) { LastName: "l_" + id, Password: "Password1", }) - require.Nil(t, res.Err) - user := res.Data.(*model.User) + require.Nil(t, userErr) require.NotNil(t, user) testUsers = append(testUsers, user) } @@ -3832,7 +3941,7 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) { var testUsers []*model.User for i := 0; i < 3; i++ { id = model.NewId() - res := <-ss.User().Save(&model.User{ + user, userErr := ss.User().Save(&model.User{ Email: id + "@test.com", Username: "un_" + id, Nickname: "nn_" + id, @@ -3840,8 +3949,7 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) { LastName: "l_" + id, Password: "Password1", }) - require.Nil(t, res.Err) - user := res.Data.(*model.User) + require.Nil(t, userErr) require.NotNil(t, user) testUsers = append(testUsers, user) } @@ -3943,11 +4051,11 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) { func testUserStoreResetLastPictureUpdate(t *testing.T, ss store.Store) { u1 := &model.User{} u1.Email = MakeEmail() - store.Must(ss.User().Save(u1)) + _, err := ss.User().Save(u1) defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) - err := ss.User().UpdateLastPictureUpdate(u1.Id) + err = ss.User().UpdateLastPictureUpdate(u1.Id) require.Nil(t, err) user, err := ss.User().Get(u1.Id)