[16331] Migrated Channel.SaveMember to sync by default (#11158) (#11624)

* Added - golang version validation.

* Updated error message to include the minor version that is supported.

* Fixed issue with variable.

* Renamed variable.

* Added - golang version validation.

Added validation for major and minor versions of go.

* Fixed the way the validation is performed.

* Changed function declaration (define validate_go_version) to a target (validate_go_version).

* remove unneeded call to validate_go_version

* [16331] Migrated Channel.SaveMember to sync by default (#10613)

* Used require.Nil to check for err variable instaed of using panic with if statement.

* Used require.Nil to check for err variable instaed of using panic with if statement in user_store

* fixed errors about shadowing with err variable.

* Fixed issue with vet tool validation.

* Fixed go fmt tool validation.
Этот коммит содержится в:
Max Vovshin
2019-07-18 17:26:22 +03:00
коммит произвёл Jesús Espino
родитель 4ada8aacd4
Коммит 5f61047d02
10 изменённых файлов: 293 добавлений и 192 удалений

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

@@ -93,9 +93,7 @@ func (a *App) JoinDefaultChannels(teamId string, user *model.User, shouldBeAdmin
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
if cmResult := <-a.Srv.Store.Channel().SaveMember(cm); cmResult.Err != nil {
err = cmResult.Err
}
_, err = a.Srv.Store.Channel().SaveMember(cm)
if histErr := a.Srv.Store.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()); histErr != nil {
mlog.Warn(fmt.Sprintf("Failed to update ChannelMemberHistory table %v", histErr))
}
@@ -240,8 +238,8 @@ func (a *App) CreateChannel(channel *model.Channel, addMember bool) (*model.Chan
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
if cmresult := <-a.Srv.Store.Channel().SaveMember(cm); cmresult.Err != nil {
return nil, cmresult.Err
if _, err := a.Srv.Store.Channel().SaveMember(cm); err != nil {
return nil, err
}
if err := a.Srv.Store.ChannelMemberHistory().LogJoinEvent(channel.CreatorId, sc.Id, model.GetMillis()); err != nil {
mlog.Warn(fmt.Sprintf("Failed to update ChannelMemberHistory table %v", err))
@@ -466,8 +464,8 @@ func (a *App) createGroupChannel(userIds []string, creatorId string) (*model.Cha
SchemeUser: !user.IsGuest(),
}
if result := <-a.Srv.Store.Channel().SaveMember(cm); result.Err != nil {
return nil, result.Err
if _, err := a.Srv.Store.Channel().SaveMember(cm); err != nil {
return nil, err
}
if err := a.Srv.Store.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()); err != nil {
mlog.Warn(fmt.Sprintf("Failed to update ChannelMemberHistory table %v", err))
@@ -918,8 +916,8 @@ func (a *App) addUserToChannel(user *model.User, channel *model.Channel, teamMem
SchemeGuest: user.IsGuest(),
SchemeUser: !user.IsGuest(),
}
if result := <-a.Srv.Store.Channel().SaveMember(newMember); result.Err != nil {
mlog.Error(fmt.Sprintf("Failed to add member user_id=%v channel_id=%v err=%v", user.Id, channel.Id, result.Err), mlog.String("user_id", user.Id))
if _, err = a.Srv.Store.Channel().SaveMember(newMember); err != nil {
mlog.Error(fmt.Sprintf("Failed to add member user_id=%v channel_id=%v err=%v", user.Id, channel.Id, err), mlog.String("user_id", user.Id))
return nil, model.NewAppError("AddUserToChannel", "api.channel.add_user.to.channel.failed.app_error", nil, "", http.StatusInternalServerError)
}
a.WaitForChannelMembership(channel.Id, user.Id)

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

@@ -1291,34 +1291,31 @@ var CHANNEL_MEMBERS_WITH_SCHEME_SELECT_QUERY = `
Schemes TeamScheme ON Teams.SchemeId = TeamScheme.Id
`
func (s SqlChannelStore) SaveMember(member *model.ChannelMember) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
defer s.InvalidateAllChannelMembersForUser(member.UserId)
func (s SqlChannelStore) SaveMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError) {
defer s.InvalidateAllChannelMembersForUser(member.UserId)
// Grab the channel we are saving this member to
channel, errCh := s.GetFromMaster(member.ChannelId)
if errCh != nil {
result.Err = errCh
return
}
// Grab the channel we are saving this member to
channel, errCh := s.GetFromMaster(member.ChannelId)
if errCh != nil {
return nil, errCh
}
transaction, err := s.GetMaster().Begin()
if err != nil {
result.Err = model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
defer finalizeTransaction(transaction)
transaction, err := s.GetMaster().Begin()
if err != nil {
return nil, model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
defer finalizeTransaction(transaction)
*result = s.saveMemberT(transaction, member, channel)
if result.Err != nil {
return
}
storeResult := s.saveMemberT(transaction, member, channel)
if storeResult.Err != nil {
return nil, storeResult.Err
}
if err := transaction.Commit(); err != nil {
result.Err = model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
})
if err := transaction.Commit(); err != nil {
return nil, model.NewAppError("SqlChannelStore.SaveMember", "store.sql_channel.save_member.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
return storeResult.Data.(*model.ChannelMember), nil
}
func (s SqlChannelStore) saveMemberT(transaction *gorp.Transaction, member *model.ChannelMember, channel *model.Channel) store.StoreResult {

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

@@ -158,7 +158,7 @@ type ChannelStore interface {
GetAll(teamId string) ([]*model.Channel, *model.AppError)
GetChannelsByIds(channelIds []string) ([]*model.Channel, *model.AppError)
GetForPost(postId string) (*model.Channel, *model.AppError)
SaveMember(member *model.ChannelMember) StoreChannel
SaveMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError)
UpdateMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError)
GetMembers(channelId string, offset, limit int) (*model.ChannelMembers, *model.AppError)
GetMember(channelId string, userId string) (*model.ChannelMember, *model.AppError)

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

@@ -207,11 +207,12 @@ func testGetUsersInChannelAtChannelMembers(t *testing.T, ss store.Store) {
// available in the ChannelMemberHistory table. Instead, we'll fall back to the ChannelMembers table for a rough approximation
joinTime := int64(1000)
leaveTime := joinTime + 5000
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: channel.Id,
UserId: user.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
// in every single case, the user will be included in the export, because ChannelMembers says they were in the channel at some point in
// the past, even though the time that they were actually in the channel doesn't necessarily overlap with the export period

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

@@ -304,7 +304,8 @@ func testGetChannelUnread(t *testing.T, ss store.Store) {
require.Nil(t, err)
cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: notifyPropsModel, MsgCount: 90}
store.Must(ss.Channel().SaveMember(cm1))
_, err = ss.Channel().SaveMember(cm1)
require.Nil(t, err)
// Setup Channel 2
c2 := &model.Channel{TeamId: m2.TeamId, Name: model.NewId(), DisplayName: "Cultural", Type: model.CHANNEL_OPEN, TotalMsgCount: 100}
@@ -312,7 +313,8 @@ func testGetChannelUnread(t *testing.T, ss store.Store) {
require.Nil(t, err)
cm2 := &model.ChannelMember{ChannelId: c2.Id, UserId: m2.UserId, NotifyProps: notifyPropsModel, MsgCount: 90, MentionCount: 5}
store.Must(ss.Channel().SaveMember(cm2))
_, err = ss.Channel().SaveMember(cm2)
require.Nil(t, err)
// Check for Channel 1
if ch, err := ss.Channel().GetChannelUnread(c1.Id, uid); err != nil {
@@ -609,13 +611,15 @@ func testChannelStoreDelete(t *testing.T, ss store.Store) {
m1.ChannelId = o1.Id
m1.UserId = model.NewId()
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{}
m2.ChannelId = o2.Id
m2.UserId = m1.UserId
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
if err = ss.Channel().Delete(o1.Id, model.GetMillis()); err != nil {
t.Fatal(err)
@@ -887,13 +891,15 @@ func testChannelMemberStore(t *testing.T, ss store.Store) {
o1.ChannelId = c1.Id
o1.UserId = u1.Id
o1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&o1))
_, err = ss.Channel().SaveMember(&o1)
require.Nil(t, err)
o2 := model.ChannelMember{}
o2.ChannelId = c1.Id
o2.UserId = u2.Id
o2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&o2))
_, err = ss.Channel().SaveMember(&o2)
require.Nil(t, err)
c1t2, _ := ss.Channel().Get(c1.Id, false)
assert.EqualValues(t, 0, c1t2.ExtraUpdateAt, "ExtraUpdateAt should be 0")
@@ -941,7 +947,7 @@ func testChannelMemberStore(t *testing.T, ss store.Store) {
t.Fatal("should have go member")
}
if err := (<-ss.Channel().SaveMember(&o1)).Err; err == nil {
if _, err := ss.Channel().SaveMember(&o1); err == nil {
t.Fatal("Should have been a duplicate")
}
@@ -979,13 +985,15 @@ func testChannelDeleteMemberStore(t *testing.T, ss store.Store) {
o1.ChannelId = c1.Id
o1.UserId = u1.Id
o1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&o1))
_, err = ss.Channel().SaveMember(&o1)
require.Nil(t, err)
o2 := model.ChannelMember{}
o2.ChannelId = c1.Id
o2.UserId = u2.Id
o2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&o2))
_, err = ss.Channel().SaveMember(&o2)
require.Nil(t, err)
c1t2, _ := ss.Channel().Get(c1.Id, false)
assert.EqualValues(t, 0, c1t2.ExtraUpdateAt, "ExtraUpdateAt should be 0")
@@ -1037,19 +1045,22 @@ func testChannelStoreGetChannels(t *testing.T, ss store.Store) {
m1.ChannelId = o1.Id
m1.UserId = model.NewId()
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{}
m2.ChannelId = o1.Id
m2.UserId = model.NewId()
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
m3 := model.ChannelMember{}
m3.ChannelId = o2.Id
m3.UserId = model.NewId()
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
list, err := ss.Channel().GetChannels(o1.TeamId, m1.UserId, false)
require.Nil(t, err)
@@ -1226,17 +1237,19 @@ func testChannelStoreGetMoreChannels(t *testing.T, ss store.Store) {
_, err := ss.Channel().Save(&o1, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: o1.Id,
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: o1.Id,
UserId: otherUserId1,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
// o2 is a channel on the other team to which the user belongs
o2 := model.Channel{
@@ -1248,11 +1261,12 @@ func testChannelStoreGetMoreChannels(t *testing.T, ss store.Store) {
_, err = ss.Channel().Save(&o2, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: o2.Id,
UserId: otherUserId2,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
// o3 is a channel on the team to which the user does not belong, and thus should show up
// in "more channels"
@@ -1285,11 +1299,12 @@ func testChannelStoreGetMoreChannels(t *testing.T, ss store.Store) {
_, err = ss.Channel().Save(&o5, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: o5.Id,
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
t.Run("only o3 listed in more channels", func(t *testing.T) {
list, channelErr := ss.Channel().GetMoreChannels(teamId, userId, 0, 100)
@@ -1547,19 +1562,22 @@ func testChannelStoreGetChannelCounts(t *testing.T, ss store.Store) {
m1.ChannelId = o1.Id
m1.UserId = model.NewId()
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{}
m2.ChannelId = o1.Id
m2.UserId = model.NewId()
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
m3 := model.ChannelMember{}
m3.ChannelId = o2.Id
m3.UserId = model.NewId()
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
counts, _ := ss.Channel().GetChannelCounts(o1.TeamId, m1.UserId)
@@ -1601,13 +1619,15 @@ func testChannelStoreGetMembersForUser(t *testing.T, ss store.Store) {
m1.ChannelId = o1.Id
m1.UserId = model.NewId()
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{}
m2.ChannelId = o2.Id
m2.UserId = m1.UserId
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
members, err := ss.Channel().GetMembersForUser(o1.TeamId, m1.UserId)
require.Nil(t, err)
@@ -1647,13 +1667,15 @@ func testChannelStoreGetMembersForUserWithPagination(t *testing.T, ss store.Stor
m1.ChannelId = o1.Id
m1.UserId = model.NewId()
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{}
m2.ChannelId = o2.Id
m2.UserId = m1.UserId
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
members, err := ss.Channel().GetMembersForUserWithPagination(o1.TeamId, m1.UserId, 0, 1)
require.Nil(t, err)
@@ -1679,7 +1701,8 @@ func testChannelStoreUpdateLastViewedAt(t *testing.T, ss store.Store) {
m1.ChannelId = o1.Id
m1.UserId = model.NewId()
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
o2 := model.Channel{}
o2.TeamId = model.NewId()
@@ -1695,7 +1718,8 @@ func testChannelStoreUpdateLastViewedAt(t *testing.T, ss store.Store) {
m2.ChannelId = o2.Id
m2.UserId = m1.UserId
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
var times map[string]int64
if times, err = ss.Channel().UpdateLastViewedAt([]string{m1.ChannelId}, m1.UserId); err != nil {
@@ -1741,7 +1765,8 @@ func testChannelStoreIncrementMentionCount(t *testing.T, ss store.Store) {
m1.ChannelId = o1.Id
m1.UserId = model.NewId()
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
err = ss.Channel().IncrementMentionCount(m1.ChannelId, m1.UserId)
if err != nil {
@@ -1781,7 +1806,8 @@ func testUpdateChannelMember(t *testing.T, ss store.Store) {
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(m1))
_, err = ss.Channel().SaveMember(m1)
require.Nil(t, err)
m1.NotifyProps["test"] = "sometext"
if _, err := ss.Channel().UpdateMember(m1); err != nil {
@@ -1820,14 +1846,16 @@ func testGetMember(t *testing.T, ss store.Store) {
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(m1))
_, err = ss.Channel().SaveMember(m1)
require.Nil(t, err)
m2 := &model.ChannelMember{
ChannelId: c2.Id,
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(m2))
_, err = ss.Channel().SaveMember(m2)
require.Nil(t, err)
if _, err := ss.Channel().GetMember(model.NewId(), userId); err == nil {
t.Fatal("should've failed to get member for non-existent channel")
@@ -1880,11 +1908,12 @@ func testChannelStoreGetMemberForPost(t *testing.T, ss store.Store) {
o1, err := ss.Channel().Save(ch, -1)
require.Nil(t, err)
m1 := store.Must(ss.Channel().SaveMember(&model.ChannelMember{
m1, err := ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: o1.Id,
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
})).(*model.ChannelMember)
})
require.Nil(t, err)
p1, err := ss.Post().Save(&model.Post{
UserId: model.NewId(),
@@ -1938,7 +1967,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
t.Fatalf("failed to get member count: %v", channelErr)
@@ -1959,7 +1989,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
UserId: u2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
t.Fatalf("failed to get member count: %v", channelErr)
@@ -1981,7 +2012,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
UserId: u3.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
t.Fatalf("failed to get member count: %v", channelErr)
@@ -2003,7 +2035,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
UserId: u4.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m4))
_, err = ss.Channel().SaveMember(&m4)
require.Nil(t, err)
if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil {
t.Fatalf("failed to get member count: %v", err)
@@ -2030,14 +2063,16 @@ func testChannelStoreSearchMore(t *testing.T, ss store.Store) {
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{
ChannelId: o1.Id,
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
o2 := model.Channel{
TeamId: otherTeamId,
@@ -2053,7 +2088,8 @@ func testChannelStoreSearchMore(t *testing.T, ss store.Store) {
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
o3 := model.Channel{
TeamId: teamId,
@@ -2205,21 +2241,24 @@ func testChannelStoreSearchInTeam(t *testing.T, ss store.Store) {
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{
ChannelId: o1.Id,
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
m3 := model.ChannelMember{
ChannelId: o2.Id,
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
o3 := model.Channel{
TeamId: teamId,
@@ -2408,21 +2447,24 @@ func testChannelStoreSearchAllChannels(t *testing.T, ss store.Store) {
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{
ChannelId: o1.Id,
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
m3 := model.ChannelMember{
ChannelId: o2.Id,
UserId: model.NewId(),
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
o3 := model.Channel{
TeamId: t1.Id,
@@ -2616,7 +2658,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
m1.ChannelId = o1.Id
m1.UserId = u1.Id
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
o2 := model.Channel{}
o2.TeamId = model.NewId()
@@ -2630,7 +2673,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
m2.ChannelId = o2.Id
m2.UserId = m1.UserId
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
o3 := model.Channel{}
o3.TeamId = o1.TeamId
@@ -2644,7 +2688,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
m3.ChannelId = o3.Id
m3.UserId = m1.UserId
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
err = ss.Channel().SetDeleteAt(o3.Id, 100, 100)
require.Nil(t, err, "channel should have been deleted")
@@ -2661,7 +2706,8 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
m4.ChannelId = o4.Id
m4.UserId = m1.UserId
m4.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m4))
_, err = ss.Channel().SaveMember(&m4)
require.Nil(t, err)
o5 := model.Channel{}
o5.TeamId = o1.TeamId
@@ -2714,9 +2760,11 @@ func testChannelStoreGetMembersByIds(t *testing.T, ss store.Store) {
require.Nil(t, err)
m1 := &model.ChannelMember{ChannelId: o1.Id, UserId: model.NewId(), NotifyProps: model.GetDefaultChannelNotifyProps()}
store.Must(ss.Channel().SaveMember(m1))
_, err = ss.Channel().SaveMember(m1)
require.Nil(t, err)
if members, err := ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId}); err != nil {
var members *model.ChannelMembers
if members, err = ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId}); err != nil {
t.Fatal(err)
} else {
rm1 := (*members)[0]
@@ -2731,9 +2779,10 @@ func testChannelStoreGetMembersByIds(t *testing.T, ss store.Store) {
}
m2 := &model.ChannelMember{ChannelId: o1.Id, UserId: model.NewId(), NotifyProps: model.GetDefaultChannelNotifyProps()}
store.Must(ss.Channel().SaveMember(m2))
_, err = ss.Channel().SaveMember(m2)
require.Nil(t, err)
if members, err := ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId, m2.UserId, model.NewId()}); err != nil {
if members, err = ss.Channel().GetMembersByIds(m1.ChannelId, []string{m1.UserId, m2.UserId, model.NewId()}); err != nil {
t.Fatal(err)
} else {
if len(*members) != 2 {
@@ -2741,7 +2790,7 @@ func testChannelStoreGetMembersByIds(t *testing.T, ss store.Store) {
}
}
if _, err := ss.Channel().GetMembersByIds(m1.ChannelId, []string{}); err == nil {
if _, err = ss.Channel().GetMembersByIds(m1.ChannelId, []string{}); err == nil {
t.Fatal("empty user ids - should have failed")
}
}
@@ -2786,11 +2835,12 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
require.Nil(t, err)
for _, userId := range userIds {
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: gc1.Id,
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
}
userIds = []string{u1.Id, u4.Id}
@@ -2802,11 +2852,12 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
require.Nil(t, err)
for _, userId := range userIds {
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: gc2.Id,
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
}
userIds = []string{u1.Id, u2.Id, u3.Id, u4.Id}
@@ -2818,11 +2869,12 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
require.Nil(t, err)
for _, userId := range userIds {
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err := ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: gc3.Id,
UserId: userId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
}
defer func() {
@@ -3146,9 +3198,9 @@ func testChannelStoreMigrateChannelMembers(t *testing.T, ss store.Store) {
NotifyProps: model.GetDefaultChannelNotifyProps(),
}
cm1 = (<-ss.Channel().SaveMember(cm1)).Data.(*model.ChannelMember)
cm2 = (<-ss.Channel().SaveMember(cm2)).Data.(*model.ChannelMember)
cm3 = (<-ss.Channel().SaveMember(cm3)).Data.(*model.ChannelMember)
cm1, _ = ss.Channel().SaveMember(cm1)
cm2, _ = ss.Channel().SaveMember(cm2)
cm3, _ = ss.Channel().SaveMember(cm3)
lastDoneChannelId := strings.Repeat("0", 26)
lastDoneUserId := strings.Repeat("0", 26)
@@ -3265,10 +3317,14 @@ func testChannelStoreClearAllCustomRoleAssignments(t *testing.T, ss store.Store)
ExplicitRoles: "custom_only",
}
store.Must(ss.Channel().SaveMember(m1))
store.Must(ss.Channel().SaveMember(m2))
store.Must(ss.Channel().SaveMember(m3))
store.Must(ss.Channel().SaveMember(m4))
_, err := ss.Channel().SaveMember(m1)
require.Nil(t, err)
_, err = ss.Channel().SaveMember(m2)
require.Nil(t, err)
_, err = ss.Channel().SaveMember(m3)
require.Nil(t, err)
_, err = ss.Channel().SaveMember(m4)
require.Nil(t, err)
require.Nil(t, ss.Channel().ClearAllCustomRoleAssignments())
@@ -3515,13 +3571,15 @@ func testChannelStoreGetChannelMembersForExport(t *testing.T, ss store.Store) {
m1.ChannelId = c1.Id
m1.UserId = u1.Id
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{}
m2.ChannelId = c2.Id
m2.UserId = u1.Id
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
d1, err := ss.Channel().GetChannelMembersForExport(u1.Id, t1.Id)
assert.Nil(t, err)
@@ -3574,19 +3632,22 @@ func testChannelStoreRemoveAllDeactivatedMembers(t *testing.T, ss store.Store) {
m1.ChannelId = c1.Id
m1.UserId = u1.Id
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err = ss.Channel().SaveMember(&m1)
require.Nil(t, err)
m2 := model.ChannelMember{}
m2.ChannelId = c1.Id
m2.UserId = u2.Id
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
m3 := model.ChannelMember{}
m3.ChannelId = c1.Id
m3.UserId = u3.Id
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
// Get all the channel members. Check there are 3.
d1, err := ss.Channel().GetMembers(c1.Id, 0, 1000)

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

@@ -1524,12 +1524,12 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
}
for _, item := range userIDChannelIDs {
res := <-ss.Channel().SaveMember(&model.ChannelMember{
_, err := ss.Channel().SaveMember(&model.ChannelMember{
UserId: item[0],
ChannelId: item[1],
NotifyProps: model.GetDefaultChannelNotifyProps(),
})
require.Nil(t, res.Err)
require.Nil(t, err)
}
return &removalsData{
@@ -2382,14 +2382,14 @@ func testChannelMembersMinusGroupMembers(t *testing.T, ss store.Store) {
users = append(users, user)
trueOrFalse := int(math.Mod(float64(i), 2)) == 0
res := <-ss.Channel().SaveMember(&model.ChannelMember{
_, err := ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: channel.Id,
UserId: user.Id,
SchemeUser: trueOrFalse,
SchemeAdmin: !trueOrFalse,
NotifyProps: model.GetDefaultChannelNotifyProps(),
})
require.Nil(t, res.Err)
require.Nil(t, err)
}
for i := 0; i < numberOfGroups; i++ {

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

@@ -1329,19 +1329,28 @@ func (_m *ChannelStore) SaveDirectChannel(channel *model.Channel, member1 *model
}
// SaveMember provides a mock function with given fields: member
func (_m *ChannelStore) SaveMember(member *model.ChannelMember) store.StoreChannel {
func (_m *ChannelStore) SaveMember(member *model.ChannelMember) (*model.ChannelMember, *model.AppError) {
ret := _m.Called(member)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(*model.ChannelMember) store.StoreChannel); ok {
var r0 *model.ChannelMember
if rf, ok := ret.Get(0).(func(*model.ChannelMember) *model.ChannelMember); ok {
r0 = rf(member)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel)
r0 = ret.Get(0).(*model.ChannelMember)
}
}
return r0
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(*model.ChannelMember) *model.AppError); ok {
r1 = rf(member)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// SearchAllChannels provides a mock function with given fields: term, opts

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

@@ -1181,7 +1181,8 @@ func testPostStoreSearch(t *testing.T, ss store.Store) {
m1.ChannelId = c1.Id
m1.UserId = userId
m1.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
_, err := ss.Channel().SaveMember(&m1)
require.Nil(t, err)
c2 := &model.Channel{}
c2.TeamId = teamId
@@ -1203,13 +1204,14 @@ func testPostStoreSearch(t *testing.T, ss store.Store) {
m3.ChannelId = c3.Id
m3.UserId = userId
m3.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m3))
_, err = ss.Channel().SaveMember(&m3)
require.Nil(t, err)
o1 := &model.Post{}
o1.ChannelId = c1.Id
o1.UserId = model.NewId()
o1.Message = "corey mattermost new york"
o1, err := ss.Post().Save(o1)
o1, err = ss.Post().Save(o1)
require.Nil(t, err)
o1a := &model.Post{}

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

@@ -1197,9 +1197,11 @@ func testGetChannelUnreadsForAllTeams(t *testing.T, ss store.Store) {
require.Nil(t, err)
cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
store.Must(ss.Channel().SaveMember(cm1))
_, err = ss.Channel().SaveMember(cm1)
require.Nil(t, err)
cm2 := &model.ChannelMember{ChannelId: c2.Id, UserId: m2.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
store.Must(ss.Channel().SaveMember(cm2))
_, err = ss.Channel().SaveMember(cm2)
require.Nil(t, err)
if ms1, err := ss.Team().GetChannelUnreadsForAllTeams("", uid); err != nil {
t.Fatal(err)
@@ -1261,9 +1263,11 @@ func testGetChannelUnreadsForTeam(t *testing.T, ss store.Store) {
require.Nil(t, err)
cm1 := &model.ChannelMember{ChannelId: c1.Id, UserId: m1.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
store.Must(ss.Channel().SaveMember(cm1))
_, err = ss.Channel().SaveMember(cm1)
require.Nil(t, err)
cm2 := &model.ChannelMember{ChannelId: c2.Id, UserId: m1.UserId, NotifyProps: model.GetDefaultChannelNotifyProps(), MsgCount: 90}
store.Must(ss.Channel().SaveMember(cm2))
_, err = ss.Channel().SaveMember(cm2)
require.Nil(t, err)
if ms, err := ss.Team().GetChannelUnreadsForTeam(m1.TeamId, m1.UserId); err != nil {
t.Fatal(err)

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

@@ -706,30 +706,33 @@ func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) {
c2, err := ss.Channel().Save(ch2, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u3.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c2.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
t.Run("get in channel 1, offset 0, limit 100", func(t *testing.T) {
result := <-ss.User().GetProfilesInChannel(c1.Id, 0, 100)
require.Nil(t, result.Err)
@@ -802,30 +805,33 @@ func testUserStoreGetProfilesInChannelByStatus(t *testing.T, ss store.Store) {
c2, err := ss.Channel().Save(ch2, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u3.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c2.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
require.Nil(t, ss.Status().SaveOrUpdate(&model.Status{
UserId: u1.Id,
Status: model.STATUS_DND,
@@ -957,29 +963,35 @@ func testUserStoreGetAllProfilesInChannel(t *testing.T, ss store.Store) {
c2, err := ss.Channel().Save(ch2, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
if err != nil {
panic(err)
}
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u3.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c2.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
t.Run("all profiles in channel 1, no caching", func(t *testing.T) {
var profiles map[string]*model.User
@@ -1098,30 +1110,35 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) {
}, profiles)
})
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u3.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c2.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
if err != nil {
panic(err)
}
t.Run("get team 1, channel 1, offset 0, limit 100, after update", func(t *testing.T) {
var profiles []*model.User
profiles, err = ss.User().GetProfilesNotInChannel(teamId, c1.Id, false, 0, 100, nil)
@@ -1298,11 +1315,12 @@ func testUserStoreGetProfileByGroupChannelIdsForUser(t *testing.T, ss store.Stor
require.Nil(t, err)
for _, uId := range []string{u1.Id, u2.Id, u3.Id} {
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: gc1.Id,
UserId: uId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
}
gc2, err := ss.Channel().Save(&model.Channel{
@@ -1313,11 +1331,12 @@ func testUserStoreGetProfileByGroupChannelIdsForUser(t *testing.T, ss store.Stor
require.Nil(t, err)
for _, uId := range []string{u1.Id, u3.Id, u4.Id} {
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: gc2.Id,
UserId: uId,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
}
testCases := []struct {
@@ -1902,8 +1921,8 @@ func testUserUnreadCount(t *testing.T, ss store.Store) {
m2.UserId = u2.Id
m2.NotifyProps = model.GetDefaultChannelNotifyProps()
store.Must(ss.Channel().SaveMember(&m1))
store.Must(ss.Channel().SaveMember(&m2))
_, err = ss.Channel().SaveMember(&m2)
require.Nil(t, err)
m1.ChannelId = c2.Id
m2.ChannelId = c2.Id
@@ -2599,21 +2618,24 @@ func testUserStoreSearchNotInChannel(t *testing.T, ss store.Store) {
c2, err := ss.Channel().Save(&ch2, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c2.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
})
require.Nil(t, err)
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u3.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
})
require.Nil(t, err)
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c2.Id,
UserId: u2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
testCases := []struct {
Description string
@@ -2819,21 +2841,24 @@ func testUserStoreSearchInChannel(t *testing.T, ss store.Store) {
c2, err := ss.Channel().Save(&ch2, -1)
require.Nil(t, err)
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
})
require.Nil(t, err)
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c2.Id,
UserId: u2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
})
require.Nil(t, err)
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: c1.Id,
UserId: u3.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
testCases := []struct {
Description string
@@ -3731,16 +3756,18 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) {
UserId: u2.Id,
TeamId: t1.Id,
}, 100))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
UserId: u2.Id,
ChannelId: cPub1.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
})
require.Nil(t, err)
_, err = ss.Channel().SaveMember(&model.ChannelMember{
UserId: u2.Id,
ChannelId: cPub2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
startTime := u2.CreateAt
time.Sleep(10 * time.Millisecond)
@@ -3756,16 +3783,18 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) {
TeamId: t1.Id,
DeleteAt: model.GetMillis(),
}, 100))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
UserId: u3.Id,
ChannelId: cPub2.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
store.Must(ss.Channel().SaveMember(&model.ChannelMember{
})
require.Nil(t, err)
_, err = ss.Channel().SaveMember(&model.ChannelMember{
UserId: u3.Id,
ChannelId: cPriv.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
}))
})
require.Nil(t, err)
endTime := u3.CreateAt
@@ -3963,12 +3992,12 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) {
userNoGroup := testUsers[2]
// add non-group-member to the channel (to prove that the query isn't just returning all members)
res := <-ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: channel.Id,
UserId: userNoGroup.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
})
require.Nil(t, res.Err)
require.Nil(t, err)
// create groups
var testGroups []*model.Group
@@ -4035,12 +4064,12 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) {
requireNUsers(2)
// add team membership of allowed user
res = <-ss.Channel().SaveMember(&model.ChannelMember{
_, err = ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: channel.Id,
UserId: userGroupA.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
})
require.Nil(t, res.Err)
require.Nil(t, err)
// ensure allowed member still returned by query
requireNUsers(2)