From c362f0e802593ffcd67b7beaf7fa5eb532cbe357 Mon Sep 17 00:00:00 2001 From: Taufiq Rahman Date: Mon, 29 Jul 2019 15:30:16 +0600 Subject: [PATCH] [MM-16174] Migrate Team.SaveMember to Sync by default #11125 (#11354) * Migrate Team.SaveMember to Sync by default #11125 * Update migrate Team.SaveMember to Sync by default #11125 * Update migrate Team.SaveMember to Sync by default #11125 * fix shadow var #11125 * fix shadow vars #11125 * fix shadow vars #11125 * fix shadow vars #11125 * run gofmt * Fixing tests * Fix undefined var res * Fixing shadow variable * fixing tests * Addressing PR comments * Fixing build * Fixing compilation after merge * Addressing PR comments --- app/auto_users.go | 5 +- app/team.go | 9 +- manualtesting/manual_testing.go | 2 +- store/sqlstore/team_store.go | 87 ++++---- store/store.go | 2 +- store/storetest/channel_store.go | 86 +++++--- store/storetest/compliance_store.go | 57 +++-- store/storetest/group_store.go | 12 +- store/storetest/mocks/TeamStore.go | 20 +- store/storetest/post_store.go | 18 +- store/storetest/status_store.go | 16 +- store/storetest/team_store.go | 178 ++++++++------- store/storetest/user_store.go | 327 ++++++++++++++++++---------- 13 files changed, 502 insertions(+), 317 deletions(-) diff --git a/app/auto_users.go b/app/auto_users.go index a8fa11dc3f..7528377af9 100644 --- a/app/auto_users.go +++ b/app/auto_users.go @@ -6,7 +6,6 @@ package app import ( "github.com/mattermost/mattermost-server/mlog" "github.com/mattermost/mattermost-server/model" - "github.com/mattermost/mattermost-server/store" "github.com/mattermost/mattermost-server/utils" ) @@ -52,7 +51,9 @@ func (a *App) CreateBasicUser(client *model.Client4) *model.AppError { if err != nil { return err } - store.Must(a.Srv.Store.Team().SaveMember(&model.TeamMember{TeamId: basicteam.Id, UserId: ruser.Id}, *a.Config().TeamSettings.MaxUsersPerTeam)) + if _, err = a.Srv.Store.Team().SaveMember(&model.TeamMember{TeamId: basicteam.Id, UserId: ruser.Id}, *a.Config().TeamSettings.MaxUsersPerTeam); err != nil { + return err + } } return nil } diff --git a/app/team.go b/app/team.go index 41a981b5fa..b2d5738aa7 100644 --- a/app/team.go +++ b/app/team.go @@ -547,11 +547,12 @@ func (a *App) joinUserToTeam(team *model.Team, user *model.User) (*model.TeamMem rtm, err := a.Srv.Store.Team().GetMember(team.Id, user.Id) if err != nil { // Membership appears to be missing. Lets try to add. - tmr := <-a.Srv.Store.Team().SaveMember(tm, *a.Config().TeamSettings.MaxUsersPerTeam) - if tmr.Err != nil { - return nil, false, tmr.Err + var tmr *model.TeamMember + tmr, err = a.Srv.Store.Team().SaveMember(tm, *a.Config().TeamSettings.MaxUsersPerTeam) + if err != nil { + return nil, false, err } - return tmr.Data.(*model.TeamMember), false, nil + return tmr, false, nil } // Membership already exists. Check if deleted and update, otherwise do nothing diff --git a/manualtesting/manual_testing.go b/manualtesting/manual_testing.go index e7d8cc21ef..ae8e65637c 100644 --- a/manualtesting/manual_testing.go +++ b/manualtesting/manual_testing.go @@ -100,7 +100,7 @@ func manualTest(c *web.Context, w http.ResponseWriter, r *http.Request) { } c.App.Srv.Store.User().VerifyEmail(user.Id, user.Email) - <-c.App.Srv.Store.Team().SaveMember(&model.TeamMember{TeamId: teamID, UserId: user.Id}, *c.App.Config().TeamSettings.MaxUsersPerTeam) + c.App.Srv.Store.Team().SaveMember(&model.TeamMember{TeamId: teamID, UserId: user.Id}, *c.App.Config().TeamSettings.MaxUsersPerTeam) userID = user.Id diff --git a/store/sqlstore/team_store.go b/store/sqlstore/team_store.go index bf9f453967..d676b908c0 100644 --- a/store/sqlstore/team_store.go +++ b/store/sqlstore/team_store.go @@ -474,18 +474,16 @@ func (s SqlTeamStore) getTeamMembersWithSchemeSelectQuery() sq.SelectBuilder { LeftJoin("Schemes TeamScheme ON Teams.SchemeId = TeamScheme.Id") } -func (s SqlTeamStore) SaveMember(member *model.TeamMember, maxUsersPerTeam int) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - defer s.InvalidateAllTeamIdsForUser(member.UserId) - if result.Err = member.IsValid(); result.Err != nil { - return - } +func (s SqlTeamStore) SaveMember(member *model.TeamMember, maxUsersPerTeam int) (*model.TeamMember, *model.AppError) { + defer s.InvalidateAllTeamIdsForUser(member.UserId) + if err := member.IsValid(); err != nil { + return nil, err + } + dbMember := NewTeamMemberFromModel(member) - dbMember := NewTeamMemberFromModel(member) - - if maxUsersPerTeam >= 0 { - count, err := s.GetMaster().SelectInt( - `SELECT + if maxUsersPerTeam >= 0 { + count, err := s.GetMaster().SelectInt( + `SELECT COUNT(0) FROM TeamMembers @@ -498,47 +496,40 @@ func (s SqlTeamStore) SaveMember(member *model.TeamMember, maxUsersPerTeam int) AND TeamMembers.DeleteAt = 0 AND Users.DeleteAt = 0`, map[string]interface{}{"TeamId": member.TeamId}) - if err != nil { - result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.member_count.app_error", nil, "teamId="+member.TeamId+", "+err.Error(), http.StatusInternalServerError) - return - } - - if count >= int64(maxUsersPerTeam) { - result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.max_accounts.app_error", nil, "teamId="+member.TeamId, http.StatusBadRequest) - return - } - } - - if err := s.GetMaster().Insert(dbMember); err != nil { - if IsUniqueConstraintError(err, []string{"TeamId", "teammembers_pkey", "PRIMARY"}) { - result.Err = model.NewAppError("SqlTeamStore.SaveMember", TEAM_MEMBER_EXISTS_ERROR, nil, "team_id="+member.TeamId+", user_id="+member.UserId+", "+err.Error(), http.StatusBadRequest) - return - } - result.Err = model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.save_member.save.app_error", nil, "team_id="+member.TeamId+", user_id="+member.UserId+", "+err.Error(), http.StatusInternalServerError) - return - } - - query := s.getTeamMembersWithSchemeSelectQuery(). - Where(sq.Eq{"TeamMembers.TeamId": dbMember.TeamId}). - Where(sq.Eq{"TeamMembers.UserId": dbMember.UserId}) - - queryString, args, err := query.ToSql() if err != nil { - result.Err = model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.get_member.app_error", nil, err.Error(), http.StatusInternalServerError) - return + return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.member_count.app_error", nil, "teamId="+member.TeamId+", "+err.Error(), http.StatusInternalServerError) } - var retrievedMember teamMemberWithSchemeRoles - if err := s.GetMaster().SelectOne(&retrievedMember, queryString, args...); err != nil { - if err == sql.ErrNoRows { - result.Err = model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.get_member.missing.app_error", nil, "team_id="+dbMember.TeamId+"user_id="+dbMember.UserId+","+err.Error(), http.StatusNotFound) - return - } - result.Err = model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.get_member.app_error", nil, "team_id="+dbMember.TeamId+"user_id="+dbMember.UserId+","+err.Error(), http.StatusInternalServerError) - return + if count >= int64(maxUsersPerTeam) { + return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.max_accounts.app_error", nil, "teamId="+member.TeamId, http.StatusBadRequest) } - result.Data = retrievedMember.ToModel() - }) + } + + if err := s.GetMaster().Insert(dbMember); err != nil { + if IsUniqueConstraintError(err, []string{"TeamId", "teammembers_pkey", "PRIMARY"}) { + return nil, model.NewAppError("SqlTeamStore.SaveMember", TEAM_MEMBER_EXISTS_ERROR, nil, "team_id="+member.TeamId+", user_id="+member.UserId+", "+err.Error(), http.StatusBadRequest) + } + return nil, model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.save_member.save.app_error", nil, "team_id="+member.TeamId+", user_id="+member.UserId+", "+err.Error(), http.StatusInternalServerError) + } + + query := s.getTeamMembersWithSchemeSelectQuery(). + Where(sq.Eq{"TeamMembers.TeamId": dbMember.TeamId}). + Where(sq.Eq{"TeamMembers.UserId": dbMember.UserId}) + + queryString, args, err := query.ToSql() + if err != nil { + return nil, model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.get_member.app_error", nil, err.Error(), http.StatusInternalServerError) + } + + var retrievedMember teamMemberWithSchemeRoles + if err := s.GetMaster().SelectOne(&retrievedMember, queryString, args...); err != nil { + if err == sql.ErrNoRows { + return nil, model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.get_member.missing.app_error", nil, "team_id="+dbMember.TeamId+"user_id="+dbMember.UserId+","+err.Error(), http.StatusNotFound) + } + return nil, model.NewAppError("SqlTeamStore.SaveMember", "store.sql_team.get_member.app_error", nil, "team_id="+dbMember.TeamId+"user_id="+dbMember.UserId+","+err.Error(), http.StatusInternalServerError) + } + + return retrievedMember.ToModel(), nil } func (s SqlTeamStore) UpdateMember(member *model.TeamMember) (*model.TeamMember, *model.AppError) { diff --git a/store/store.go b/store/store.go index de16f15853..d2217792bf 100644 --- a/store/store.go +++ b/store/store.go @@ -100,7 +100,7 @@ type TeamStore interface { GetByInviteId(inviteId string) (*model.Team, *model.AppError) PermanentDelete(teamId string) *model.AppError AnalyticsTeamCount() (int64, *model.AppError) - SaveMember(member *model.TeamMember, maxUsersPerTeam int) StoreChannel + SaveMember(member *model.TeamMember, maxUsersPerTeam int) (*model.TeamMember, *model.AppError) UpdateMember(member *model.TeamMember) (*model.TeamMember, *model.AppError) GetMember(teamId string, userId string) (*model.TeamMember, *model.AppError) GetMembers(teamId string, offset int, limit int, restrictions *model.ViewUsersRestrictions) ([]*model.TeamMember, *model.AppError) diff --git a/store/storetest/channel_store.go b/store/storetest/channel_store.go index 891046f6dc..e6a1262fe8 100644 --- a/store/storetest/channel_store.go +++ b/store/storetest/channel_store.go @@ -134,14 +134,16 @@ func testChannelStoreSaveDirectChannel(t *testing.T, ss store.Store, s SqlSuppli u1.Nickname = model.NewId() _, err := ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = o1.Id @@ -217,14 +219,16 @@ func testChannelStoreCreateDirectChannel(t *testing.T, ss store.Store) { u1.Nickname = model.NewId() _, err := ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) c1, err := ss.Channel().CreateDirectChannel(u1.Id, u2.Id) if err != nil { @@ -296,13 +300,15 @@ func testGetChannelUnread(t *testing.T, ss store.Store) { uid := model.NewId() m1 := &model.TeamMember{TeamId: teamId1, UserId: uid} m2 := &model.TeamMember{TeamId: teamId2, UserId: uid} - store.Must(ss.Team().SaveMember(m1, -1)) - store.Must(ss.Team().SaveMember(m2, -1)) + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) notifyPropsModel := model.GetDefaultChannelNotifyProps() // Setup Channel 1 c1 := &model.Channel{TeamId: m1.TeamId, Name: model.NewId(), DisplayName: "Downtown", Type: model.CHANNEL_OPEN, TotalMsgCount: 100} - _, err := ss.Channel().Save(c1, -1) + _, err = ss.Channel().Save(c1, -1) require.Nil(t, err) cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: notifyPropsModel, MsgCount: 90} @@ -392,14 +398,16 @@ func testChannelStoreGet(t *testing.T, ss store.Store, s SqlSupplier) { u1.Nickname = model.NewId() _, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(&u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) o2 := model.Channel{} o2.TeamId = model.NewId() @@ -469,14 +477,16 @@ func testChannelStoreGetChannelsByIds(t *testing.T, ss store.Store) { u1.Nickname = model.NewId() _, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(&u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) o2 := model.Channel{} o2.TeamId = model.NewId() @@ -880,14 +890,16 @@ func testChannelMemberStore(t *testing.T, ss store.Store) { u1.Nickname = model.NewId() _, err = ss.User().Save(&u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(&u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) o1 := model.ChannelMember{} o1.ChannelId = c1.Id @@ -974,14 +986,16 @@ func testChannelDeleteMemberStore(t *testing.T, ss store.Store) { u1.Nickname = model.NewId() _, err = ss.User().Save(&u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(&u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) o1 := model.ChannelMember{} o1.ChannelId = c1.Id @@ -2006,7 +2020,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{ ChannelId: c1.Id, @@ -2028,7 +2043,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(&u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) m2 := model.ChannelMember{ ChannelId: c1.Id, @@ -2051,7 +2067,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(&u3) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) m3 := model.ChannelMember{ ChannelId: c2.Id, @@ -2074,7 +2091,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(u4) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1) + require.Nil(t, err) m4 := model.ChannelMember{ ChannelId: c1.Id, @@ -2120,7 +2138,8 @@ func testGetGuestCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{ ChannelId: c1.Id, @@ -2144,7 +2163,8 @@ func testGetGuestCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(&u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) m2 := model.ChannelMember{ ChannelId: c1.Id, @@ -2168,7 +2188,8 @@ func testGetGuestCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(&u3) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) m3 := model.ChannelMember{ ChannelId: c2.Id, @@ -2192,7 +2213,8 @@ func testGetGuestCount(t *testing.T, ss store.Store) { } _, err = ss.User().Save(u4) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1) + require.Nil(t, err) m4 := model.ChannelMember{ ChannelId: c1.Id, @@ -3966,14 +3988,16 @@ func testChannelStoreExportAllDirectChannels(t *testing.T, ss store.Store, s Sql u1.Nickname = model.NewId() _, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = o1.Id @@ -4027,14 +4051,16 @@ func testChannelStoreExportAllDirectChannelsExcludePrivateAndPublic(t *testing.T u1.Nickname = model.NewId() _, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = o1.Id @@ -4071,14 +4097,16 @@ func testChannelStoreExportAllDirectChannelsDeletedChannel(t *testing.T, ss stor u1.Nickname = model.NewId() _, err := ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = o1.Id diff --git a/store/storetest/compliance_store.go b/store/storetest/compliance_store.go index 4e7baed44c..f79b776ef2 100644 --- a/store/storetest/compliance_store.go +++ b/store/storetest/compliance_store.go @@ -78,14 +78,16 @@ func testComplianceExport(t *testing.T, ss store.Store) { u1.Username = model.NewId() u1, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Username = model.NewId() u2, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1) + require.Nil(t, err) c1 := &model.Channel{} c1.TeamId = t1.Id @@ -185,14 +187,16 @@ func testComplianceExportDirectMessages(t *testing.T, ss store.Store) { u1.Username = model.NewId() u1, err = ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Username = model.NewId() u2, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1) + require.Nil(t, err) c1 := &model.Channel{} c1.TeamId = t1.Id @@ -278,10 +282,11 @@ func testMessageExportPublicChannel(t *testing.T, ss store.Store) { } user1, err = ss.User().Save(user1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, - }, -1)) + }, -1) + require.Nil(t, err) user2 := &model.User{ Email: MakeEmail(), @@ -289,10 +294,11 @@ func testMessageExportPublicChannel(t *testing.T, ss store.Store) { } user2, err = ss.User().Save(user2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, - }, -1)) + }, -1) + require.Nil(t, err) // need a public channel channel := &model.Channel{ @@ -378,10 +384,11 @@ func testMessageExportPrivateChannel(t *testing.T, ss store.Store) { } user1, err = ss.User().Save(user1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, - }, -1)) + }, -1) + require.Nil(t, err) user2 := &model.User{ Email: MakeEmail(), @@ -389,10 +396,11 @@ func testMessageExportPrivateChannel(t *testing.T, ss store.Store) { } user2, err = ss.User().Save(user2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, - }, -1)) + }, -1) + require.Nil(t, err) // need a private channel channel := &model.Channel{ @@ -480,10 +488,11 @@ func testMessageExportDirectMessageChannel(t *testing.T, ss store.Store) { } user1, err = ss.User().Save(user1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, - }, -1)) + }, -1) + require.Nil(t, err) user2 := &model.User{ Email: MakeEmail(), @@ -491,10 +500,11 @@ func testMessageExportDirectMessageChannel(t *testing.T, ss store.Store) { } user2, err = ss.User().Save(user2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, - }, -1)) + }, -1) + require.Nil(t, err) // as well as a DM channel between those users directMessageChannel, err := ss.Channel().CreateDirectChannel(user1.Id, user2.Id) @@ -557,10 +567,11 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) { } user1, err = ss.User().Save(user1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user1.Id, - }, -1)) + }, -1) + require.Nil(t, err) user2 := &model.User{ Email: MakeEmail(), @@ -568,10 +579,11 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) { } user2, err = ss.User().Save(user2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user2.Id, - }, -1)) + }, -1) + require.Nil(t, err) user3 := &model.User{ Email: MakeEmail(), @@ -579,10 +591,11 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) { } user3, err = ss.User().Save(user3) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user3.Id, - }, -1)) + }, -1) + require.Nil(t, err) // can't create a group channel directly, because importing app creates an import cycle, so we have to fake it groupMessageChannel := &model.Channel{ diff --git a/store/storetest/group_store.go b/store/storetest/group_store.go index 76cd9fcbec..25ee660f74 100644 --- a/store/storetest/group_store.go +++ b/store/storetest/group_store.go @@ -1062,11 +1062,11 @@ 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{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: user.Id, }, 999) - require.Nil(t, res.Err) + require.Nil(t, err) teamMembers, err = ss.Group().TeamMembersToAdd(0) require.Nil(t, err) require.Len(t, teamMembers, 0) @@ -1517,11 +1517,11 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData } for _, item := range userIDTeamIDs { - res := <-ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ UserId: item[0], TeamId: item[1], }, 99) - require.Nil(t, res.Err) + require.Nil(t, err) } // add users to channels @@ -2247,8 +2247,8 @@ func testTeamMembersMinusGroupMembers(t *testing.T, ss store.Store) { 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) - require.Nil(t, res.Err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: user.Id, SchemeUser: trueOrFalse, SchemeAdmin: !trueOrFalse}, 999) + require.Nil(t, err) } for i := 0; i < numberOfGroups; i++ { diff --git a/store/storetest/mocks/TeamStore.go b/store/storetest/mocks/TeamStore.go index 9937270373..4e2eedaa5f 100644 --- a/store/storetest/mocks/TeamStore.go +++ b/store/storetest/mocks/TeamStore.go @@ -6,7 +6,6 @@ package mocks import mock "github.com/stretchr/testify/mock" import model "github.com/mattermost/mattermost-server/model" -import store "github.com/mattermost/mattermost-server/store" // TeamStore is an autogenerated mock type for the TeamStore type type TeamStore struct { @@ -787,19 +786,28 @@ func (_m *TeamStore) Save(team *model.Team) (*model.Team, *model.AppError) { } // SaveMember provides a mock function with given fields: member, maxUsersPerTeam -func (_m *TeamStore) SaveMember(member *model.TeamMember, maxUsersPerTeam int) store.StoreChannel { +func (_m *TeamStore) SaveMember(member *model.TeamMember, maxUsersPerTeam int) (*model.TeamMember, *model.AppError) { ret := _m.Called(member, maxUsersPerTeam) - var r0 store.StoreChannel - if rf, ok := ret.Get(0).(func(*model.TeamMember, int) store.StoreChannel); ok { + var r0 *model.TeamMember + if rf, ok := ret.Get(0).(func(*model.TeamMember, int) *model.TeamMember); ok { r0 = rf(member, maxUsersPerTeam) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(store.StoreChannel) + r0 = ret.Get(0).(*model.TeamMember) } } - return r0 + var r1 *model.AppError + if rf, ok := ret.Get(1).(func(*model.TeamMember, int) *model.AppError); ok { + r1 = rf(member, maxUsersPerTeam) + } else { + if ret.Get(1) != nil { + r1 = ret.Get(1).(*model.AppError) + } + } + + return r0, r1 } // SearchAll provides a mock function with given fields: term diff --git a/store/storetest/post_store.go b/store/storetest/post_store.go index 960bcd02bb..4398265921 100644 --- a/store/storetest/post_store.go +++ b/store/storetest/post_store.go @@ -2498,14 +2498,16 @@ func testPostStoreGetDirectPostParentsForExportAfter(t *testing.T, ss store.Stor u1.Nickname = model.NewId() _, err := ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = o1.Id @@ -2551,7 +2553,8 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, ss sto u1.Nickname = model.NewId() _, err := ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.DeleteAt = 1 @@ -2559,7 +2562,8 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, ss sto u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = o1.Id @@ -2618,14 +2622,16 @@ func testPostStoreGetDirectPostParentsForExportAfterBatched(t *testing.T, ss sto u1.Nickname = model.NewId() _, err := ss.User().Save(u1) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() u2.Nickname = model.NewId() _, err = ss.User().Save(u2) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) m1 := model.ChannelMember{} m1.ChannelId = o1.Id diff --git a/store/storetest/status_store.go b/store/storetest/status_store.go index 609da5b7c9..5b92507178 100644 --- a/store/storetest/status_store.go +++ b/store/storetest/status_store.go @@ -126,20 +126,20 @@ func testGetAllFromTeam(t *testing.T, ss store.Store) { } team1Member1 := &model.TeamMember{TeamId: team1.Id, UserId: model.NewId()} - if response := <-ss.Team().SaveMember(team1Member1, -1); response.Err != nil { - t.Fatal(response.Err) + if _, err := ss.Team().SaveMember(team1Member1, -1); err != nil { + t.Fatal(err) } team1Member2 := &model.TeamMember{TeamId: team1.Id, UserId: model.NewId()} - if response := <-ss.Team().SaveMember(team1Member2, -1); response.Err != nil { - t.Fatal(response.Err) + if _, err := ss.Team().SaveMember(team1Member2, -1); err != nil { + t.Fatal(err) } team2Member1 := &model.TeamMember{TeamId: team2.Id, UserId: model.NewId()} - if response := <-ss.Team().SaveMember(team2Member1, -1); response.Err != nil { - t.Fatal(response.Err) + if _, err := ss.Team().SaveMember(team2Member1, -1); err != nil { + t.Fatal(err) } team2Member2 := &model.TeamMember{TeamId: team2.Id, UserId: model.NewId()} - if response := <-ss.Team().SaveMember(team2Member2, -1); response.Err != nil { - t.Fatal(response.Err) + if _, err := ss.Team().SaveMember(team2Member2, -1); err != nil { + t.Fatal(err) } team1Member1Status := &model.Status{UserId: team1Member1.UserId, Status: model.STATUS_ONLINE, Manual: false, LastActivityAt: 0, ActiveChannel: ""} diff --git a/store/storetest/team_store.go b/store/storetest/team_store.go index 8406b69ea6..491547f1ba 100644 --- a/store/storetest/team_store.go +++ b/store/storetest/team_store.go @@ -278,7 +278,7 @@ func testTeamStoreSearchOpen(t *testing.T, ss store.Store) { testCases := []struct { Name string Term string - ExpectedLenth int + ExpectedLength int ExpectedFirstId string }{ { @@ -312,7 +312,7 @@ func testTeamStoreSearchOpen(t *testing.T, ss store.Store) { r1, err := ss.Team().SearchOpen(tc.Term) require.Nil(t, err) results := r1 - require.Equal(t, tc.ExpectedLenth, len(results)) + require.Equal(t, tc.ExpectedLength, len(results)) if tc.ExpectedFirstId != "" { assert.Equal(t, tc.ExpectedFirstId, results[0].Id) } @@ -344,7 +344,7 @@ func testTeamStoreSearchPrivate(t *testing.T, ss store.Store) { testCases := []struct { Name string Term string - ExpectedLenth int + ExpectedLength int ExpectedFirstId string }{ { @@ -378,7 +378,7 @@ func testTeamStoreSearchPrivate(t *testing.T, ss store.Store) { r1, err := ss.Team().SearchPrivate(tc.Term) require.Nil(t, err) results := r1 - require.Equal(t, tc.ExpectedLenth, len(results)) + require.Equal(t, tc.ExpectedLength, len(results)) if tc.ExpectedFirstId != "" { assert.Equal(t, tc.ExpectedFirstId, results[0].Id) } @@ -429,7 +429,8 @@ func testTeamStoreByUserId(t *testing.T, ss store.Store) { require.Nil(t, err) m1 := &model.TeamMember{TeamId: o1.Id, UserId: model.NewId()} - store.Must(ss.Team().SaveMember(m1, -1)) + _, err = ss.Team().SaveMember(m1, -1) + require.Nil(t, err) if teams, err := ss.Team().GetTeamsByUserId(m1.UserId); err != nil { t.Fatal(err) @@ -770,20 +771,18 @@ func testTeamMembers(t *testing.T, ss store.Store) { m2 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} m3 := &model.TeamMember{TeamId: teamId2, UserId: model.NewId()} - if r1 := <-ss.Team().SaveMember(m1, -1); r1.Err != nil { - t.Fatal(r1.Err) - } + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m3, -1) + require.Nil(t, err) - store.Must(ss.Team().SaveMember(m2, -1)) - store.Must(ss.Team().SaveMember(m3, -1)) + ms, err := ss.Team().GetMembers(teamId1, 0, 100, nil) + require.Nil(t, err) + assert.Len(t, ms, 2) - if ms, err := ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil { - t.Fatal(err) - } else { - require.Len(t, ms, 2) - } - - if ms, err := ss.Team().GetMembers(teamId2, 0, 100, nil); err != nil { + if ms, err = ss.Team().GetMembers(teamId2, 0, 100, nil); err != nil { t.Fatal(err) } else { @@ -791,7 +790,7 @@ func testTeamMembers(t *testing.T, ss store.Store) { require.Equal(t, m3.UserId, ms[0].UserId) } - if ms, err := ss.Team().GetTeamsForUser(m1.UserId); err != nil { + if ms, err = ss.Team().GetTeamsForUser(m1.UserId); err != nil { t.Fatal(err) } else { @@ -799,11 +798,11 @@ func testTeamMembers(t *testing.T, ss store.Store) { require.Equal(t, m1.TeamId, ms[0].TeamId) } - if err := ss.Team().RemoveMember(teamId1, m1.UserId); err != nil { + if err = ss.Team().RemoveMember(teamId1, m1.UserId); err != nil { t.Fatal(err) } - if ms, err := ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil { + if ms, err = ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil { t.Fatal(err) } else { @@ -811,13 +810,14 @@ func testTeamMembers(t *testing.T, ss store.Store) { require.Equal(t, m2.UserId, ms[0].UserId) } - store.Must(ss.Team().SaveMember(m1, -1)) + _, err = ss.Team().SaveMember(m1, -1) + require.Nil(t, err) - if err := ss.Team().RemoveAllMembersByTeam(teamId1); err != nil { + if err = ss.Team().RemoveAllMembersByTeam(teamId1); err != nil { t.Fatal(err) } - if ms, err := ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil { + if ms, err = ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil { t.Fatal(err) } else { @@ -827,21 +827,23 @@ func testTeamMembers(t *testing.T, ss store.Store) { uid := model.NewId() m4 := &model.TeamMember{TeamId: teamId1, UserId: uid} m5 := &model.TeamMember{TeamId: teamId2, UserId: uid} - store.Must(ss.Team().SaveMember(m4, -1)) - store.Must(ss.Team().SaveMember(m5, -1)) + _, err = ss.Team().SaveMember(m4, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m5, -1) + require.Nil(t, err) - if ms, err := ss.Team().GetTeamsForUser(uid); err != nil { + if ms, err = ss.Team().GetTeamsForUser(uid); err != nil { t.Fatal(err) } else { require.Len(t, ms, 2) } - if err := ss.Team().RemoveAllMembersByUser(uid); err != nil { + if err = ss.Team().RemoveAllMembersByUser(uid); err != nil { t.Fatal(err) } - if ms, err := ss.Team().GetTeamsForUser(m1.UserId); err != nil { + if ms, err = ss.Team().GetTeamsForUser(m1.UserId); err != nil { t.Fatal(err) } else { @@ -857,11 +859,13 @@ func testTeamMembersWithPagination(t *testing.T, ss store.Store) { m2 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} m3 := &model.TeamMember{TeamId: teamId2, UserId: model.NewId()} - r1 := <-ss.Team().SaveMember(m1, -1) - require.Nil(t, r1.Err) + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) - store.Must(ss.Team().SaveMember(m2, -1)) - store.Must(ss.Team().SaveMember(m3, -1)) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m3, -1) + require.Nil(t, err) ms, errTeam := ss.Team().GetTeamsForUserWithPagination(m1.UserId, 0, 1) require.Nil(t, errTeam) @@ -872,13 +876,14 @@ func testTeamMembersWithPagination(t *testing.T, ss store.Store) { e := ss.Team().RemoveMember(teamId1, m1.UserId) require.Nil(t, e) - ms, err := ss.Team().GetMembers(teamId1, 0, 100, nil) + ms, err = ss.Team().GetMembers(teamId1, 0, 100, nil) require.Nil(t, err) require.Len(t, ms, 1) require.Equal(t, m2.UserId, ms[0].UserId) - store.Must(ss.Team().SaveMember(m1, -1)) + _, err = ss.Team().SaveMember(m1, -1) + require.Nil(t, err) err = ss.Team().RemoveAllMembersByTeam(teamId1) require.Nil(t, err) @@ -886,8 +891,10 @@ func testTeamMembersWithPagination(t *testing.T, ss store.Store) { uid := model.NewId() m4 := &model.TeamMember{TeamId: teamId1, UserId: uid} m5 := &model.TeamMember{TeamId: teamId2, UserId: uid} - store.Must(ss.Team().SaveMember(m4, -1)) - store.Must(ss.Team().SaveMember(m5, -1)) + _, err = ss.Team().SaveMember(m4, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m5, -1) + require.Nil(t, err) result, err := ss.Team().GetTeamsForUserWithPagination(uid, 0, 1) require.Nil(t, err) @@ -928,10 +935,11 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { ss.User().PermanentDelete(userId) }(userIds[i]) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: userIds[i], - }, maxUsersPerTeam)) + }, maxUsersPerTeam) + require.Nil(t, err) defer func(userId string) { ss.Team().RemoveMember(team.Id, userId) @@ -954,10 +962,10 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { ss.User().PermanentDelete(newUserId) }() - if result := <-ss.Team().SaveMember(&model.TeamMember{ + if _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: newUserId, - }, maxUsersPerTeam); result.Err == nil { + }, maxUsersPerTeam); err == nil { t.Fatal("shouldn't be able to save member when at maximum members per team") } @@ -982,8 +990,8 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { t.Fatalf("should now only have 4 team members, had %v instead", totalMemberCount) } - if result := <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId}, maxUsersPerTeam); result.Err != nil { - t.Fatal("should've been able to save new member after deleting one", result.Err) + if _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId}, maxUsersPerTeam); err != nil { + t.Fatal("should've been able to save new member after deleting one", err) } else { defer func(userId string) { ss.Team().RemoveMember(team.Id, userId) @@ -1009,8 +1017,8 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { }) 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) + if _, err := ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId2}, maxUsersPerTeam); err != nil { + t.Fatal("should've been able to save new member after deleting one", err) } else { defer func(userId string) { ss.Team().RemoveMember(team.Id, userId) @@ -1022,9 +1030,11 @@ func testGetTeamMember(t *testing.T, ss store.Store) { teamId1 := model.NewId() m1 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} - store.Must(ss.Team().SaveMember(m1, -1)) + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) - if rm1, err := ss.Team().GetMember(m1.TeamId, m1.UserId); err != nil { + var rm1 *model.TeamMember + if rm1, err = ss.Team().GetMember(m1.TeamId, m1.UserId); err != nil { t.Fatal(err) } else { @@ -1037,11 +1047,11 @@ func testGetTeamMember(t *testing.T, ss store.Store) { } } - if _, err := ss.Team().GetMember(m1.TeamId, ""); err == nil { + if _, err = ss.Team().GetMember(m1.TeamId, ""); err == nil { t.Fatal("empty user id - should have failed") } - if _, err := ss.Team().GetMember("", m1.UserId); err == nil { + if _, err = ss.Team().GetMember("", m1.UserId); err == nil { t.Fatal("empty team id - should have failed") } @@ -1052,7 +1062,7 @@ func testGetTeamMember(t *testing.T, ss store.Store) { Description: model.NewId(), Scope: model.SCHEME_SCOPE_TEAM, } - s2, err := ss.Scheme().Save(s2) + s2, err = ss.Scheme().Save(s2) require.Nil(t, err) t.Log(s2) @@ -1069,7 +1079,8 @@ func testGetTeamMember(t *testing.T, ss store.Store) { }() m2 := &model.TeamMember{TeamId: t2.Id, UserId: model.NewId(), SchemeUser: true} - store.Must(ss.Team().SaveMember(m2, -1)) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) m3, err := ss.Team().GetMember(m2.TeamId, m2.UserId) require.Nil(t, err) @@ -1078,7 +1089,8 @@ func testGetTeamMember(t *testing.T, ss store.Store) { assert.Equal(t, s2.DefaultTeamUserRole, m3.Roles) m4 := &model.TeamMember{TeamId: t2.Id, UserId: model.NewId(), SchemeGuest: true} - store.Must(ss.Team().SaveMember(m4, -1)) + _, err = ss.Team().SaveMember(m4, -1) + require.Nil(t, err) m5, err := ss.Team().GetMember(m4.TeamId, m4.UserId) require.Nil(t, err) @@ -1090,9 +1102,11 @@ func testGetTeamMembersByIds(t *testing.T, ss store.Store) { teamId1 := model.NewId() m1 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} - store.Must(ss.Team().SaveMember(m1, -1)) + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) - if r, err := ss.Team().GetMembersByIds(m1.TeamId, []string{m1.UserId}, nil); err != nil { + var r []*model.TeamMember + if r, err = ss.Team().GetMembersByIds(m1.TeamId, []string{m1.UserId}, nil); err != nil { t.Fatal(err) } else { rm1 := r[0] @@ -1107,7 +1121,8 @@ func testGetTeamMembersByIds(t *testing.T, ss store.Store) { } m2 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} - store.Must(ss.Team().SaveMember(m2, -1)) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) if rm, err := ss.Team().GetMembersByIds(m1.TeamId, []string{m1.UserId, m2.UserId, model.NewId()}, nil); err != nil { t.Fatal(err) @@ -1137,12 +1152,15 @@ func testTeamStoreMemberCount(t *testing.T, ss store.Store) { teamId1 := model.NewId() m1 := &model.TeamMember{TeamId: teamId1, UserId: u1.Id} - store.Must(ss.Team().SaveMember(m1, -1)) + _, err = ss.Team().SaveMember(m1, -1) + require.Nil(t, err) m2 := &model.TeamMember{TeamId: teamId1, UserId: u2.Id} - store.Must(ss.Team().SaveMember(m2, -1)) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) - if totalMemberCount, err := ss.Team().GetTotalMemberCount(teamId1); err != nil { + var totalMemberCount int64 + if totalMemberCount, err = ss.Team().GetTotalMemberCount(teamId1); err != nil { t.Fatal(err) } else { if totalMemberCount != 2 { @@ -1150,7 +1168,8 @@ func testTeamStoreMemberCount(t *testing.T, ss store.Store) { } } - if result, err := ss.Team().GetActiveMemberCount(teamId1); err != nil { + var result int64 + if result, err = ss.Team().GetActiveMemberCount(teamId1); err != nil { t.Fatal(err) } else { if result != 1 { @@ -1159,7 +1178,8 @@ func testTeamStoreMemberCount(t *testing.T, ss store.Store) { } m3 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} - store.Must(ss.Team().SaveMember(m3, -1)) + _, err = ss.Team().SaveMember(m3, -1) + require.Nil(t, err) if totalMemberCount, err := ss.Team().GetTotalMemberCount(teamId1); err != nil { t.Fatal(err) @@ -1185,11 +1205,13 @@ func testGetChannelUnreadsForAllTeams(t *testing.T, ss store.Store) { uid := model.NewId() m1 := &model.TeamMember{TeamId: teamId1, UserId: uid} m2 := &model.TeamMember{TeamId: teamId2, UserId: uid} - store.Must(ss.Team().SaveMember(m1, -1)) - store.Must(ss.Team().SaveMember(m2, -1)) + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) c1 := &model.Channel{TeamId: m1.TeamId, Name: model.NewId(), DisplayName: "Town Square", Type: model.CHANNEL_OPEN, TotalMsgCount: 100} - _, err := ss.Channel().Save(c1, -1) + _, err = ss.Channel().Save(c1, -1) require.Nil(t, err) c2 := &model.Channel{TeamId: m2.TeamId, Name: model.NewId(), DisplayName: "Town Square", Type: model.CHANNEL_OPEN, TotalMsgCount: 100} @@ -1252,10 +1274,11 @@ func testGetChannelUnreadsForTeam(t *testing.T, ss store.Store) { uid := model.NewId() m1 := &model.TeamMember{TeamId: teamId1, UserId: uid} - store.Must(ss.Team().SaveMember(m1, -1)) + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) c1 := &model.Channel{TeamId: m1.TeamId, Name: model.NewId(), DisplayName: "Town Square", Type: model.CHANNEL_OPEN, TotalMsgCount: 100} - _, err := ss.Channel().Save(c1, -1) + _, err = ss.Channel().Save(c1, -1) require.Nil(t, err) c2 := &model.Channel{TeamId: m1.TeamId, Name: model.NewId(), DisplayName: "Town Square", Type: model.CHANNEL_OPEN, TotalMsgCount: 100} @@ -1409,9 +1432,12 @@ func testTeamStoreMigrateTeamMembers(t *testing.T, ss store.Store) { ExplicitRoles: "something_else", } - tm1 = (<-ss.Team().SaveMember(tm1, -1)).Data.(*model.TeamMember) - tm2 = (<-ss.Team().SaveMember(tm2, -1)).Data.(*model.TeamMember) - tm3 = (<-ss.Team().SaveMember(tm3, -1)).Data.(*model.TeamMember) + tm1, err = ss.Team().SaveMember(tm1, -1) + require.Nil(t, err) + tm2, err = ss.Team().SaveMember(tm2, -1) + require.Nil(t, err) + tm3, err = ss.Team().SaveMember(tm3, -1) + require.Nil(t, err) lastDoneTeamId := strings.Repeat("0", 26) lastDoneUserId := strings.Repeat("0", 26) @@ -1515,10 +1541,14 @@ func testTeamStoreClearAllCustomRoleAssignments(t *testing.T, ss store.Store) { ExplicitRoles: "custom_only", } - store.Must(ss.Team().SaveMember(m1, -1)) - store.Must(ss.Team().SaveMember(m2, -1)) - store.Must(ss.Team().SaveMember(m3, -1)) - store.Must(ss.Team().SaveMember(m4, -1)) + _, err := ss.Team().SaveMember(m1, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m3, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(m4, -1) + require.Nil(t, err) require.Nil(t, (ss.Team().ClearAllCustomRoleAssignments())) @@ -1656,10 +1686,12 @@ func testTeamStoreGetTeamMembersForExport(t *testing.T, ss store.Store) { require.Nil(t, err) m1 := &model.TeamMember{TeamId: t1.Id, UserId: u1.Id} - store.Must(ss.Team().SaveMember(m1, -1)) + _, err = ss.Team().SaveMember(m1, -1) + require.Nil(t, err) m2 := &model.TeamMember{TeamId: t1.Id, UserId: u2.Id} - store.Must(ss.Team().SaveMember(m2, -1)) + _, err = ss.Team().SaveMember(m2, -1) + require.Nil(t, err) d1, err := ss.Team().GetTeamMembersForExport(u1.Id) assert.Nil(t, err) diff --git a/store/storetest/user_store.go b/store/storetest/user_store.go index 20f75bc70e..04ec140fed 100644 --- a/store/storetest/user_store.go +++ b/store/storetest/user_store.go @@ -97,7 +97,8 @@ func testUserStoreSave(t *testing.T, ss store.Store) { } defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, maxUsersPerTeam)) + _, err := ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, maxUsersPerTeam) + require.Nil(t, err) if _, err := ss.User().Save(&u1); err == nil { t.Fatal("shouldn't be able to update user from save") @@ -132,7 +133,8 @@ func testUserStoreSave(t *testing.T, ss store.Store) { } defer func() { require.Nil(t, ss.User().PermanentDelete(u.Id)) }() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u.Id}, maxUsersPerTeam)) + _, err := ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u.Id}, maxUsersPerTeam) + require.Nil(t, err) } u2.Id = "" @@ -143,7 +145,7 @@ func testUserStoreSave(t *testing.T, ss store.Store) { } defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() - if err := (<-ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, maxUsersPerTeam)).Err; err == nil { + if _, err := ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, maxUsersPerTeam); err == nil { t.Fatal("should be the limit") } } @@ -155,7 +157,8 @@ func testUserStoreUpdate(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{ Email: MakeEmail(), @@ -164,7 +167,8 @@ func testUserStoreUpdate(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1) + require.Nil(t, err) if _, err = ss.User().Update(u1, false); err != nil { t.Fatal(err) @@ -195,7 +199,8 @@ func testUserStoreUpdate(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u3.Id}, -1) + require.Nil(t, err) u3.Email = MakeEmail() if userUpdate, err := ss.User().Update(u3, false); err != nil { @@ -228,7 +233,8 @@ func testUserStoreUpdateUpdateAt(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) if _, err = ss.User().UpdateUpdateAt(u1.Id); err != nil { t.Fatal(err) @@ -248,7 +254,8 @@ func testUserStoreUpdateFailedPasswordAttempts(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) if err = ss.User().UpdateFailedPasswordAttempts(u1.Id, 3); err != nil { t.Fatal(err) @@ -285,7 +292,8 @@ func testUserStoreGet(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(u2.Id)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) t.Run("fetch empty id", func(t *testing.T) { _, err := ss.User().Get("") @@ -318,7 +326,8 @@ func testGetAllUsingAuthService(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -327,7 +336,8 @@ func testGetAllUsingAuthService(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -336,7 +346,8 @@ func testGetAllUsingAuthService(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -542,7 +553,8 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -550,7 +562,8 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -566,7 +579,8 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { u3.IsBot = true defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }() 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) u4, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -575,7 +589,8 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1) + require.Nil(t, err) u5, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -584,7 +599,8 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u5.Id}, -1) + require.Nil(t, err) t.Run("get page 0, perPage 100", func(t *testing.T) { actual, err := ss.User().GetProfiles(&model.UserGetOptions{ @@ -633,7 +649,8 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: uNew.Id}, -1) + require.Nil(t, err) updatedEtag := ss.User().GetEtagForProfiles(teamId) require.NotEqual(t, etag, updatedEtag) @@ -675,7 +692,8 @@ func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -683,7 +701,8 @@ func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -691,7 +710,8 @@ func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -777,7 +797,8 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, ss store.Store, s S }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -785,7 +806,8 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, ss store.Store, s S }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -793,7 +815,8 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, ss store.Store, s S }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -883,7 +906,8 @@ func testUserStoreGetProfilesWithoutTeam(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -935,7 +959,8 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -943,7 +968,8 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -951,7 +977,8 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1060,7 +1087,8 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1068,7 +1096,8 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1076,7 +1105,8 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1220,7 +1250,8 @@ func testUserStoreGetProfilesByIds(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1228,7 +1259,8 @@ func testUserStoreGetProfilesByIds(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1236,7 +1268,8 @@ func testUserStoreGetProfilesByIds(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1426,7 +1459,8 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1434,7 +1468,8 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1442,7 +1477,8 @@ func testUserStoreGetProfilesByUsernames(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: team2Id, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1493,7 +1529,8 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1501,7 +1538,8 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1510,7 +1548,8 @@ func testUserStoreGetSystemAdminProfiles(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1539,7 +1578,8 @@ func testUserStoreGetByEmail(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1547,7 +1587,8 @@ func testUserStoreGetByEmail(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1555,7 +1596,8 @@ func testUserStoreGetByEmail(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1609,7 +1651,8 @@ func testUserStoreGetByAuthData(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1617,7 +1660,8 @@ func testUserStoreGetByAuthData(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1627,7 +1671,8 @@ func testUserStoreGetByAuthData(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1679,7 +1724,8 @@ func testUserStoreGetByUsername(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1687,7 +1733,8 @@ func testUserStoreGetByUsername(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1695,7 +1742,8 @@ func testUserStoreGetByUsername(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1750,7 +1798,8 @@ func testUserStoreGetForLogin(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1760,7 +1809,8 @@ func testUserStoreGetForLogin(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -1770,7 +1820,8 @@ func testUserStoreGetForLogin(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -1831,7 +1882,8 @@ func testUserStoreUpdatePassword(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) hashedPassword := model.HashPassword("newpwd") @@ -1854,7 +1906,8 @@ func testUserStoreDelete(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) if err := ss.User().PermanentDelete(u1.Id); err != nil { t.Fatal(err) @@ -1869,7 +1922,8 @@ func testUserStoreUpdateAuthData(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) service := "someservice" authData := model.NewId() @@ -1913,7 +1967,8 @@ func testUserUnreadCount(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2 := &model.User{} u2.Email = MakeEmail() @@ -1921,7 +1976,8 @@ func testUserUnreadCount(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) if _, channelErr := ss.Channel().Save(&c1, -1); err != nil { t.Fatal("couldn't save item", channelErr) @@ -2050,7 +2106,8 @@ func testUserStoreGetRecentlyActiveUsersForTeam(t *testing.T, ss store.Store, s }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -2058,7 +2115,8 @@ func testUserStoreGetRecentlyActiveUsersForTeam(t *testing.T, ss store.Store, s }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -2066,7 +2124,8 @@ func testUserStoreGetRecentlyActiveUsersForTeam(t *testing.T, ss store.Store, s }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -2122,7 +2181,8 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) u2, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -2130,7 +2190,8 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u3, err := ss.User().Save(&model.User{ Email: MakeEmail(), @@ -2138,7 +2199,8 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, ss store.Store) { }) 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.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1) + require.Nil(t, err) _, err = ss.Bot().Save(&model.Bot{ UserId: u3.Id, Username: u3.Username, @@ -2154,7 +2216,8 @@ func testUserStoreGetNewUsersForTeam(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u4.Id}, -1) + require.Nil(t, err) t.Run("get team 1, offset 0, limit 100", func(t *testing.T) { result, err := ss.User().GetNewUsersForTeam(teamId, 0, 100, nil) @@ -2286,11 +2349,16 @@ func testUserStoreSearch(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.User().PermanentDelete(u6.Id)) }() tid := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u1.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u2.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u5.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u6.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u1.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u2.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u5.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u6.Id}, -1) + require.Nil(t, err) // The users returned from the database will have AuthData as an empty string. nilAuthData := new(string) @@ -2607,9 +2675,12 @@ func testUserStoreSearchNotInChannel(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }() tid := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u1.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u2.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u1.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u2.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1) + require.Nil(t, err) // The users returned from the database will have AuthData as an empty string. nilAuthData := new(string) @@ -2830,9 +2901,12 @@ func testUserStoreSearchInChannel(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }() tid := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u1.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u2.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u1.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u2.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1) + require.Nil(t, err) // The users returned from the database will have AuthData as an empty string. nilAuthData := new(string) @@ -3023,15 +3097,21 @@ func testUserStoreSearchNotInTeam(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.User().PermanentDelete(u6.Id)) }() teamId1 := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u1.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u2.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u3.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u1.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u2.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u3.Id}, -1) + require.Nil(t, err) // u4 is not in team 1 - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u5.Id}, -1)) - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u6.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u5.Id}, -1) + require.Nil(t, err) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: u6.Id}, -1) + require.Nil(t, err) teamId2 := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u4.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u4.Id}, -1) + require.Nil(t, err) // The users returned from the database will have AuthData as an empty string. nilAuthData := new(string) @@ -3178,7 +3258,8 @@ func testUserStoreSearchWithoutTeam(t *testing.T, ss store.Store) { defer func() { require.Nil(t, ss.Bot().PermanentDelete(u3.Id)) }() tid := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: tid, UserId: u3.Id}, -1) + require.Nil(t, err) // The users returned from the database will have AuthData as an empty string. nilAuthData := new(string) @@ -3252,7 +3333,8 @@ func testCount(t *testing.T, ss store.Store) { _, 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) // Deleted u2 := &model.User{} @@ -3491,7 +3573,8 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1) + require.Nil(t, err) // Ensure update at timestamp changes time.Sleep(time.Millisecond * 10) @@ -3502,7 +3585,8 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u2.Id}, -1) + require.Nil(t, err) // Ensure update at timestamp changes time.Sleep(time.Millisecond * 10) @@ -3558,7 +3642,8 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { time.Sleep(time.Millisecond * 10) // Add u2 to team 1 - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1) + require.Nil(t, err) u2.UpdateAt, err = ss.User().UpdateUpdateAt(u2.Id) require.Nil(t, err) @@ -3613,7 +3698,8 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { }) 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)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1) + require.Nil(t, err) t.Run("etag for profiles not in team 1 after addition to team", func(t *testing.T) { etag4 := ss.User().GetEtagForProfilesNotInTeam(teamId) @@ -3621,7 +3707,8 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { }) // Add u3 to team 2 - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u3.Id}, -1)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: u3.Id}, -1) + require.Nil(t, err) u3.UpdateAt, err = ss.User().UpdateUpdateAt(u3.Id) require.Nil(t, err) @@ -3826,10 +3913,11 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) { CreateAt: model.GetMillis(), }) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ UserId: u2.Id, TeamId: t1.Id, - }, 100)) + }, 100) + require.Nil(t, err) _, err = ss.Channel().SaveMember(&model.ChannelMember{ UserId: u2.Id, ChannelId: cPub1.Id, @@ -3852,11 +3940,12 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) { CreateAt: model.GetMillis(), }) require.Nil(t, err) - store.Must(ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ UserId: u3.Id, TeamId: t1.Id, DeleteAt: model.GetMillis(), - }, 100)) + }, 100) + require.Nil(t, err) _, err = ss.Channel().SaveMember(&model.ChannelMember{ UserId: u3.Id, ChannelId: cPub2.Id, @@ -3946,16 +4035,17 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) { userNoGroup := testUsers[2] // add non-group-member to the team (to prove that the query isn't just returning all members) - res := <-ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: userNoGroup.Id, }, 999) - require.Nil(t, res.Err) + require.Nil(t, err) // create groups var testGroups []*model.Group for i := 0; i < 2; i++ { id = model.NewId() + var group *model.Group group, err = ss.Group().Create(&model.Group{ Name: "n_" + id, @@ -4017,11 +4107,11 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) { requireNUsers(2) // add team membership of allowed user - res = <-ss.Team().SaveMember(&model.TeamMember{ + _, err = ss.Team().SaveMember(&model.TeamMember{ TeamId: team.Id, UserId: userGroupA.Id, }, 999) - require.Nil(t, res.Err) + require.Nil(t, err) // ensure allowed member still returned by query requireNUsers(2) @@ -4172,7 +4262,8 @@ func testUserStorePromoteGuestToUser(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4215,7 +4306,8 @@ func testUserStorePromoteGuestToUser(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4278,7 +4370,8 @@ func testUserStorePromoteGuestToUser(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) err = ss.User().PromoteGuestToUser(user.Id) assert.Nil(t, err) @@ -4306,7 +4399,8 @@ func testUserStorePromoteGuestToUser(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4349,7 +4443,8 @@ func testUserStorePromoteGuestToUser(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4392,7 +4487,8 @@ func testUserStorePromoteGuestToUser(t *testing.T, ss store.Store) { require.Nil(t, err) teamId1 := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: user1.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: user1.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId1, @@ -4418,7 +4514,8 @@ func testUserStorePromoteGuestToUser(t *testing.T, ss store.Store) { require.Nil(t, err) teamId2 := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: user2.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: user2.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) _, err = ss.Channel().SaveMember(&model.ChannelMember{ChannelId: channel.Id, UserId: user2.Id, SchemeGuest: true, SchemeUser: false, NotifyProps: model.GetDefaultChannelNotifyProps()}) require.Nil(t, err) @@ -4471,7 +4568,8 @@ func testUserStoreDemoteUserToGuest(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4514,7 +4612,8 @@ func testUserStoreDemoteUserToGuest(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: true, SchemeUser: false}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4577,7 +4676,8 @@ func testUserStoreDemoteUserToGuest(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999) + require.Nil(t, err) err = ss.User().DemoteUserToGuest(user.Id) assert.Nil(t, err) @@ -4605,7 +4705,8 @@ func testUserStoreDemoteUserToGuest(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4648,7 +4749,8 @@ func testUserStoreDemoteUserToGuest(t *testing.T, ss store.Store) { require.Nil(t, err) teamId := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: user.Id, SchemeGuest: false, SchemeUser: true}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId, @@ -4691,7 +4793,8 @@ func testUserStoreDemoteUserToGuest(t *testing.T, ss store.Store) { require.Nil(t, err) teamId1 := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: user1.Id, SchemeGuest: false, SchemeUser: true}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId1, UserId: user1.Id, SchemeGuest: false, SchemeUser: true}, 999) + require.Nil(t, err) channel, err := ss.Channel().Save(&model.Channel{ TeamId: teamId1, @@ -4717,7 +4820,8 @@ func testUserStoreDemoteUserToGuest(t *testing.T, ss store.Store) { require.Nil(t, err) teamId2 := model.NewId() - store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: user2.Id, SchemeGuest: false, SchemeUser: true}, 999)) + _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId2, UserId: user2.Id, SchemeGuest: false, SchemeUser: true}, 999) + require.Nil(t, err) _, err = ss.Channel().SaveMember(&model.ChannelMember{ChannelId: channel.Id, UserId: user2.Id, SchemeGuest: false, SchemeUser: true, NotifyProps: model.GetDefaultChannelNotifyProps()}) require.Nil(t, err) @@ -4759,7 +4863,8 @@ func testUserStoreResetLastPictureUpdate(t *testing.T, ss store.Store) { u1.Email = MakeEmail() _, 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.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1) + require.Nil(t, err) err = ss.User().UpdateLastPictureUpdate(u1.Id) require.Nil(t, err)