[MM-55735] Add Request Context to PostStore.Save (#26048)

This commit is contained in:
Aditya Pratap Singh Hada 2024-02-20 21:37:20 +05:30 committed by GitHub
parent 287962a309
commit 6541708a93
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 396 additions and 400 deletions

View File

@ -786,7 +786,7 @@ func (th *TestHelper) CreateMessagePostWithClient(client *model.Client4, channel
} }
func (th *TestHelper) CreateMessagePostNoClient(channel *model.Channel, message string, createAtTime int64) *model.Post { func (th *TestHelper) CreateMessagePostNoClient(channel *model.Channel, message string, createAtTime int64) *model.Post {
post, err := th.App.Srv().Store().Post().Save(&model.Post{ post, err := th.App.Srv().Store().Post().Save(th.Context, &model.Post{
UserId: th.BasicUser.Id, UserId: th.BasicUser.Id,
ChannelId: channel.Id, ChannelId: channel.Id,
Message: message, Message: message,

View File

@ -2646,7 +2646,7 @@ func TestConvertGroupMessageToChannel(t *testing.T) {
mockPostStore := mocks.PostStore{} mockPostStore := mocks.PostStore{}
mockStore.On("Post").Return(&mockPostStore) mockStore.On("Post").Return(&mockPostStore)
mockPostStore.On("Save", mock.AnythingOfType("*model.Post")).Return(&model.Post{}, nil) mockPostStore.On("Save", mock.AnythingOfType("*request.Context"), mock.AnythingOfType("*model.Post")).Return(&model.Post{}, nil)
mockPostStore.On("InvalidateLastPostTimeCache", "channelidchannelidchanneli") mockPostStore.On("InvalidateLastPostTimeCache", "channelidchannelidchanneli")
mockSystemStore := mocks.SystemStore{} mockSystemStore := mocks.SystemStore{}

View File

@ -305,7 +305,7 @@ func (a *App) CreatePost(c request.CTX, post *model.Post, channel *model.Channel
post.AddProp(model.PostPropsPreviewedPost, previewPost.PostID) post.AddProp(model.PostPropsPreviewedPost, previewPost.PostID)
} }
rpost, nErr := a.Srv().Store().Post().Save(post) rpost, nErr := a.Srv().Store().Post().Save(c, post)
if nErr != nil { if nErr != nil {
var appErr *model.AppError var appErr *model.AppError
var invErr *store.ErrInvalidInput var invErr *store.ErrInvalidInput

View File

@ -6802,7 +6802,7 @@ func (s *OpenTracingLayerPostStore) PermanentDeleteByUser(rctx request.CTX, user
return err return err
} }
func (s *OpenTracingLayerPostStore) Save(post *model.Post) (*model.Post, error) { func (s *OpenTracingLayerPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
origCtx := s.Root.Store.Context() origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "PostStore.Save") span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "PostStore.Save")
s.Root.Store.SetContext(newCtx) s.Root.Store.SetContext(newCtx)
@ -6811,7 +6811,7 @@ func (s *OpenTracingLayerPostStore) Save(post *model.Post) (*model.Post, error)
}() }()
defer span.Finish() defer span.Finish()
result, err := s.PostStore.Save(post) result, err := s.PostStore.Save(rctx, post)
if err != nil { if err != nil {
span.LogFields(spanlog.Error(err)) span.LogFields(spanlog.Error(err))
ext.Error.Set(span, true) ext.Error.Set(span, true)

View File

@ -7712,11 +7712,11 @@ func (s *RetryLayerPostStore) PermanentDeleteByUser(rctx request.CTX, userID str
} }
func (s *RetryLayerPostStore) Save(post *model.Post) (*model.Post, error) { func (s *RetryLayerPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
tries := 0 tries := 0
for { for {
result, err := s.PostStore.Save(post) result, err := s.PostStore.Save(rctx, post)
if err == nil { if err == nil {
return result, nil return result, nil
} }

View File

@ -96,11 +96,8 @@ func (s *SearchPostStore) Overwrite(rctx request.CTX, post *model.Post) (*model.
return post, err return post, err
} }
func (s SearchPostStore) Save(post *model.Post) (*model.Post, error) { func (s SearchPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
// TODO: Use the actuall request context from the App layer npost, err := s.PostStore.Save(rctx, post)
// https://mattermost.atlassian.net/browse/MM-55735
rctx := request.EmptyContext(s.rootStore.Logger())
npost, err := s.PostStore.Save(post)
if err == nil { if err == nil {
s.indexPost(rctx, npost) s.indexPost(rctx, npost)

View File

@ -369,7 +369,7 @@ func (th *SearchTestHelper) createPost(userID, channelID, message, hashtags, pos
creationTime = createAt creationTime = createAt
} }
postModel := th.createPostModel(userID, channelID, message, hashtags, postType, creationTime, pinned) postModel := th.createPostModel(userID, channelID, message, hashtags, postType, creationTime, pinned)
return th.Store.Post().Save(postModel) return th.Store.Post().Save(th.Context, postModel)
} }
func (th *SearchTestHelper) createFileInfoModel(creatorID, postID, channelID, name, content, extension, mimeType string, createAt, size int64) *model.FileInfo { func (th *SearchTestHelper) createFileInfoModel(creatorID, postID, channelID, name, content, extension, mimeType string, createAt, size int64) *model.FileInfo {
@ -401,7 +401,7 @@ func (th *SearchTestHelper) createFileInfo(creatorID, postID, channelID, name, c
func (th *SearchTestHelper) createReply(userID, message, hashtags string, parent *model.Post, createAt int64, pinned bool) (*model.Post, error) { func (th *SearchTestHelper) createReply(userID, message, hashtags string, parent *model.Post, createAt int64, pinned bool) (*model.Post, error) {
replyModel := th.createPostModel(userID, parent.ChannelId, message, hashtags, parent.Type, createAt, pinned) replyModel := th.createPostModel(userID, parent.ChannelId, message, hashtags, parent.Type, createAt, pinned)
replyModel.RootId = parent.Id replyModel.RootId = parent.Id
return th.Store.Post().Save(replyModel) return th.Store.Post().Save(th.Context, replyModel)
} }
func (th *SearchTestHelper) deleteUserPosts(userID string) error { func (th *SearchTestHelper) deleteUserPosts(userID string) error {

View File

@ -177,22 +177,22 @@ func createOutgoingWebhook(ss store.Store, userId, channelId, teamId string) *mo
return wh return wh
} }
func createPost(ss store.Store, channelId, userId, rootId, parentId string) *model.Post { func createPost(rctx request.CTX, ss store.Store, channelId, userId, rootId, parentId string) *model.Post {
m := model.Post{} m := model.Post{}
m.ChannelId = channelId m.ChannelId = channelId
m.UserId = userId m.UserId = userId
m.RootId = rootId m.RootId = rootId
m.Message = "zz" + model.NewId() + "b" m.Message = "zz" + model.NewId() + "b"
p, _ := ss.Post().Save(&m) p, _ := ss.Post().Save(rctx, &m)
return p return p
} }
func createPostWithChannelId(ss store.Store, id string) *model.Post { func createPostWithChannelId(rctx request.CTX, ss store.Store, id string) *model.Post {
return createPost(ss, id, model.NewId(), "", "") return createPost(rctx, ss, id, model.NewId(), "", "")
} }
func createPostWithUserId(ss store.Store, id string) *model.Post { func createPostWithUserId(rctx request.CTX, ss store.Store, id string) *model.Post {
return createPost(ss, model.NewId(), id, "", "") return createPost(rctx, ss, model.NewId(), id, "", "")
} }
func createPreferences(ss store.Store, userId string) model.Preferences { func createPreferences(ss store.Store, userId string) model.Preferences {
@ -569,7 +569,7 @@ func TestCheckChannelsPostsIntegrity(t *testing.T) {
}) })
t.Run("should generate a report with one record", func(t *testing.T) { t.Run("should generate a report with one record", func(t *testing.T) {
post := createPostWithChannelId(ss, model.NewId()) post := createPostWithChannelId(rctx, ss, model.NewId())
result := checkChannelsPostsIntegrity(store) result := checkChannelsPostsIntegrity(store)
require.NoError(t, result.Err) require.NoError(t, result.Err)
data := result.Data.(model.RelationalIntegrityCheckData) data := result.Data.(model.RelationalIntegrityCheckData)
@ -653,9 +653,9 @@ func TestCheckPostsPostsRootIdIntegrity(t *testing.T) {
t.Run("should generate a report with one record", func(t *testing.T) { t.Run("should generate a report with one record", func(t *testing.T) {
channel := createChannel(ss, model.NewId(), model.NewId()) channel := createChannel(ss, model.NewId(), model.NewId())
root := createPost(ss, channel.Id, model.NewId(), "", "") root := createPost(rctx, ss, channel.Id, model.NewId(), "", "")
rootId := root.Id rootId := root.Id
post := createPost(ss, channel.Id, model.NewId(), root.Id, root.Id) post := createPost(rctx, ss, channel.Id, model.NewId(), root.Id, root.Id)
dbmap.Exec(`DELETE FROM Posts WHERE Id=?`, root.Id) dbmap.Exec(`DELETE FROM Posts WHERE Id=?`, root.Id)
result := checkPostsPostsRootIdIntegrity(store) result := checkPostsPostsRootIdIntegrity(store)
require.NoError(t, result.Err) require.NoError(t, result.Err)
@ -1402,7 +1402,7 @@ func TestCheckUsersPostsIntegrity(t *testing.T) {
}) })
t.Run("should generate a report with one record", func(t *testing.T) { t.Run("should generate a report with one record", func(t *testing.T) {
post := createPostWithUserId(ss, model.NewId()) post := createPostWithUserId(rctx, ss, model.NewId())
result := checkUsersPostsIntegrity(store) result := checkUsersPostsIntegrity(store)
require.NoError(t, result.Err) require.NoError(t, result.Err)
data := result.Data.(model.RelationalIntegrityCheckData) data := result.Data.(model.RelationalIntegrityCheckData)
@ -1623,8 +1623,8 @@ func TestCheckThreadsTeamsIntegrity(t *testing.T) {
t.Run("should generate a report with one record", func(t *testing.T) { t.Run("should generate a report with one record", func(t *testing.T) {
team := createTeam(ss) team := createTeam(ss)
channel := createChannel(ss, team.Id, model.NewId()) channel := createChannel(ss, team.Id, model.NewId())
root := createPost(ss, channel.Id, model.NewId(), "", "") root := createPost(rctx, ss, channel.Id, model.NewId(), "", "")
post := createPost(ss, channel.Id, model.NewId(), root.Id, root.Id) post := createPost(rctx, ss, channel.Id, model.NewId(), root.Id, root.Id)
dbmap.Exec(`DELETE FROM Teams WHERE Id=?`, team.Id) dbmap.Exec(`DELETE FROM Teams WHERE Id=?`, team.Id)
result := checkThreadsTeamsIntegrity(store) result := checkThreadsTeamsIntegrity(store)

View File

@ -282,7 +282,7 @@ func (s *SqlPostStore) SaveMultiple(posts []*model.Post) ([]*model.Post, int, er
return posts, -1, nil return posts, -1, nil
} }
func (s *SqlPostStore) Save(post *model.Post) (*model.Post, error) { func (s *SqlPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
posts, _, err := s.SaveMultiple([]*model.Post{post}) posts, _, err := s.SaveMultiple([]*model.Post{post})
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -350,7 +350,7 @@ type ThreadStore interface {
type PostStore interface { type PostStore interface {
SaveMultiple(posts []*model.Post) ([]*model.Post, int, error) SaveMultiple(posts []*model.Post) ([]*model.Post, int, error)
Save(post *model.Post) (*model.Post, error) Save(rctx request.CTX, post *model.Post) (*model.Post, error)
Update(rctx request.CTX, newPost *model.Post, oldPost *model.Post) (*model.Post, error) Update(rctx request.CTX, newPost *model.Post, oldPost *model.Post) (*model.Post, error)
Get(ctx context.Context, id string, opts model.GetPostsOptions, userID string, sanitizeOptions map[string]bool) (*model.PostList, error) Get(ctx context.Context, id string, opts model.GetPostsOptions, userID string, sanitizeOptions map[string]bool) (*model.PostList, error)
GetSingle(id string, inclDeleted bool) (*model.Post, error) GetSingle(id string, inclDeleted bool) (*model.Post, error)

View File

@ -705,7 +705,7 @@ func testChannelStoreGetForPost(t *testing.T, rctx request.CTX, ss store.Store)
o1, nErr := ss.Channel().Save(ch, -1) o1, nErr := ss.Channel().Save(ch, -1)
require.NoError(t, nErr) require.NoError(t, nErr)
p1, err := ss.Post().Save(&model.Post{ p1, err := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o1.Id, ChannelId: o1.Id,
Message: "test", Message: "test",
@ -4611,28 +4611,28 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId() channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{ p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1000, CreateAt: 1000,
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1001, CreateAt: 1001,
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId2, UserId: userId2,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1002, CreateAt: 1002,
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId3, UserId: userId3,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1003, CreateAt: 1003,
@ -4661,14 +4661,14 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId() channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{ p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1000, CreateAt: 1000,
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1001, CreateAt: 1001,
@ -4690,14 +4690,14 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId() channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{ p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1000, CreateAt: 1000,
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1001, CreateAt: 1001,
@ -4705,7 +4705,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1002, CreateAt: 1002,
@ -4713,7 +4713,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1003, CreateAt: 1003,
@ -4721,7 +4721,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
p5, err := ss.Post().Save(&model.Post{ p5, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1004, CreateAt: 1004,
@ -4729,7 +4729,7 @@ func testCountPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1005, CreateAt: 1005,
@ -4763,7 +4763,7 @@ func testCountUrgentPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
channelId := model.NewId() channelId := model.NewId()
p1, err := ss.Post().Save(&model.Post{ p1, err := ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1000, CreateAt: 1000,
@ -4777,7 +4777,7 @@ func testCountUrgentPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId1, UserId: userId1,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1001, CreateAt: 1001,
@ -4791,14 +4791,14 @@ func testCountUrgentPostsAfter(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId2, UserId: userId2,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1002, CreateAt: 1002,
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: userId3, UserId: userId3,
ChannelId: channelId, ChannelId: channelId,
CreateAt: 1003, CreateAt: 1003,
@ -5089,7 +5089,7 @@ func testChannelStoreGetMemberForPost(t *testing.T, rctx request.CTX, ss store.S
}) })
require.NoError(t, err) require.NoError(t, err)
p1, nErr := ss.Post().Save(&model.Post{ p1, nErr := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o1.Id, ChannelId: o1.Id,
Message: "test", Message: "test",
@ -6947,7 +6947,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
o1, nErr := ss.Channel().Save(ch1, -1) o1, nErr := ss.Channel().Save(ch1, -1)
require.NoError(t, nErr) require.NoError(t, nErr)
p1, err := ss.Post().Save(&model.Post{ p1, err := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o1.Id, ChannelId: o1.Id,
Message: "test", Message: "test",
@ -6969,7 +6969,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
o2, nErr := ss.Channel().Save(ch2, -1) o2, nErr := ss.Channel().Save(ch2, -1)
require.NoError(t, nErr) require.NoError(t, nErr)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o2.Id, ChannelId: o2.Id,
Message: "test", Message: "test",
@ -6992,7 +6992,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
userId := model.NewId() userId := model.NewId()
post1, err := ss.Post().Save(&model.Post{ post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: userId, UserId: userId,
Message: "message", Message: "message",
@ -7001,7 +7001,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
require.NoError(t, err) require.NoError(t, err)
time.Sleep(time.Millisecond) time.Sleep(time.Millisecond)
post2, err := ss.Post().Save(&model.Post{ post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: userId, UserId: userId,
Message: "message", Message: "message",
@ -7010,7 +7010,7 @@ func testChannelStoreGetPinnedPosts(t *testing.T, rctx request.CTX, ss store.Sto
require.NoError(t, err) require.NoError(t, err)
time.Sleep(time.Millisecond) time.Sleep(time.Millisecond)
post3, err := ss.Post().Save(&model.Post{ post3, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: userId, UserId: userId,
RootId: post1.Id, RootId: post1.Id,
@ -7040,7 +7040,7 @@ func testChannelStoreGetPinnedPostCount(t *testing.T, rctx request.CTX, ss store
o1, nErr := ss.Channel().Save(ch1, -1) o1, nErr := ss.Channel().Save(ch1, -1)
require.NoError(t, nErr) require.NoError(t, nErr)
_, err := ss.Post().Save(&model.Post{ _, err := ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o1.Id, ChannelId: o1.Id,
Message: "test", Message: "test",
@ -7048,7 +7048,7 @@ func testChannelStoreGetPinnedPostCount(t *testing.T, rctx request.CTX, ss store
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o1.Id, ChannelId: o1.Id,
Message: "test", Message: "test",
@ -7070,14 +7070,14 @@ func testChannelStoreGetPinnedPostCount(t *testing.T, rctx request.CTX, ss store
o2, nErr := ss.Channel().Save(ch2, -1) o2, nErr := ss.Channel().Save(ch2, -1)
require.NoError(t, nErr) require.NoError(t, nErr)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o2.Id, ChannelId: o2.Id,
Message: "test", Message: "test",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
UserId: model.NewId(), UserId: model.NewId(),
ChannelId: o2.Id, ChannelId: o2.Id,
Message: "test", Message: "test",

View File

@ -140,7 +140,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o1.UserId = u1.Id o1.UserId = u1.Id
o1.CreateAt = model.GetMillis() o1.CreateAt = model.GetMillis()
o1.Message = NewTestId() o1.Message = NewTestId()
o1, nErr = ss.Post().Save(o1) o1, nErr = ss.Post().Save(rctx, o1)
require.NoError(t, nErr) require.NoError(t, nErr)
o1a := &model.Post{} o1a := &model.Post{}
@ -148,7 +148,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o1a.UserId = u1.Id o1a.UserId = u1.Id
o1a.CreateAt = o1.CreateAt + 10 o1a.CreateAt = o1.CreateAt + 10
o1a.Message = NewTestId() o1a.Message = NewTestId()
_, nErr = ss.Post().Save(o1a) _, nErr = ss.Post().Save(rctx, o1a)
require.NoError(t, nErr) require.NoError(t, nErr)
o2 := &model.Post{} o2 := &model.Post{}
@ -156,7 +156,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o2.UserId = u1.Id o2.UserId = u1.Id
o2.CreateAt = o1.CreateAt + 20 o2.CreateAt = o1.CreateAt + 20
o2.Message = NewTestId() o2.Message = NewTestId()
_, nErr = ss.Post().Save(o2) _, nErr = ss.Post().Save(rctx, o2)
require.NoError(t, nErr) require.NoError(t, nErr)
o2a := &model.Post{} o2a := &model.Post{}
@ -164,7 +164,7 @@ func testComplianceExport(t *testing.T, rctx request.CTX, ss store.Store) {
o2a.UserId = u2.Id o2a.UserId = u2.Id
o2a.CreateAt = o1.CreateAt + 30 o2a.CreateAt = o1.CreateAt + 30
o2a.Message = NewTestId() o2a.Message = NewTestId()
o2a, nErr = ss.Post().Save(o2a) o2a, nErr = ss.Post().Save(rctx, o2a)
require.NoError(t, nErr) require.NoError(t, nErr)
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond)
@ -276,7 +276,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o1.UserId = u1.Id o1.UserId = u1.Id
o1.CreateAt = model.GetMillis() o1.CreateAt = model.GetMillis()
o1.Message = NewTestId() o1.Message = NewTestId()
o1, nErr = ss.Post().Save(o1) o1, nErr = ss.Post().Save(rctx, o1)
require.NoError(t, nErr) require.NoError(t, nErr)
o1a := &model.Post{} o1a := &model.Post{}
@ -284,7 +284,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o1a.UserId = u1.Id o1a.UserId = u1.Id
o1a.CreateAt = o1.CreateAt + 10 o1a.CreateAt = o1.CreateAt + 10
o1a.Message = NewTestId() o1a.Message = NewTestId()
_, nErr = ss.Post().Save(o1a) _, nErr = ss.Post().Save(rctx, o1a)
require.NoError(t, nErr) require.NoError(t, nErr)
o2 := &model.Post{} o2 := &model.Post{}
@ -292,7 +292,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o2.UserId = u1.Id o2.UserId = u1.Id
o2.CreateAt = o1.CreateAt + 20 o2.CreateAt = o1.CreateAt + 20
o2.Message = NewTestId() o2.Message = NewTestId()
_, nErr = ss.Post().Save(o2) _, nErr = ss.Post().Save(rctx, o2)
require.NoError(t, nErr) require.NoError(t, nErr)
o2a := &model.Post{} o2a := &model.Post{}
@ -300,7 +300,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o2a.UserId = u2.Id o2a.UserId = u2.Id
o2a.CreateAt = o1.CreateAt + 30 o2a.CreateAt = o1.CreateAt + 30
o2a.Message = NewTestId() o2a.Message = NewTestId()
_, nErr = ss.Post().Save(o2a) _, nErr = ss.Post().Save(rctx, o2a)
require.NoError(t, nErr) require.NoError(t, nErr)
o3 := &model.Post{} o3 := &model.Post{}
@ -308,7 +308,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
o3.UserId = u1.Id o3.UserId = u1.Id
o3.CreateAt = o1.CreateAt + 40 o3.CreateAt = o1.CreateAt + 40
o3.Message = NewTestId() o3.Message = NewTestId()
o3, nErr = ss.Post().Save(o3) o3, nErr = ss.Post().Save(rctx, o3)
require.NoError(t, nErr) require.NoError(t, nErr)
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond)
@ -363,7 +363,7 @@ func testComplianceExportDirectMessages(t *testing.T, rctx request.CTX, ss store
post.UserId = u1.Id post.UserId = u1.Id
post.CreateAt = createAt post.CreateAt = createAt
post.Message = NewTestId() post.Message = NewTestId()
_, nErr = ss.Post().Save(post) _, nErr = ss.Post().Save(rctx, post)
require.NoError(t, nErr) require.NoError(t, nErr)
} }
@ -456,7 +456,7 @@ func testMessageExportPublicChannel(t *testing.T, rctx request.CTX, ss store.Sto
CreateAt: startTime, CreateAt: startTime,
Message: NewTestId(), Message: NewTestId(),
} }
post1, err = ss.Post().Save(post1) post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err) require.NoError(t, err)
post2 := &model.Post{ post2 := &model.Post{
@ -465,7 +465,7 @@ func testMessageExportPublicChannel(t *testing.T, rctx request.CTX, ss store.Sto
CreateAt: startTime + 10, CreateAt: startTime + 10,
Message: NewTestId(), Message: NewTestId(),
} }
post2, err = ss.Post().Save(post2) post2, err = ss.Post().Save(rctx, post2)
require.NoError(t, err) require.NoError(t, err)
// fetch the message exports for both posts that user1 sent // fetch the message exports for both posts that user1 sent
@ -560,7 +560,7 @@ func testMessageExportPrivateChannel(t *testing.T, rctx request.CTX, ss store.St
CreateAt: startTime, CreateAt: startTime,
Message: NewTestId(), Message: NewTestId(),
} }
post1, err = ss.Post().Save(post1) post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err) require.NoError(t, err)
post2 := &model.Post{ post2 := &model.Post{
@ -569,7 +569,7 @@ func testMessageExportPrivateChannel(t *testing.T, rctx request.CTX, ss store.St
CreateAt: startTime + 10, CreateAt: startTime + 10,
Message: NewTestId(), Message: NewTestId(),
} }
post2, err = ss.Post().Save(post2) post2, err = ss.Post().Save(rctx, post2)
require.NoError(t, err) require.NoError(t, err)
// fetch the message exports for both posts that user1 sent // fetch the message exports for both posts that user1 sent
@ -660,7 +660,7 @@ func testMessageExportDirectMessageChannel(t *testing.T, rctx request.CTX, ss st
CreateAt: startTime + 20, CreateAt: startTime + 20,
Message: NewTestId(), Message: NewTestId(),
} }
post, err = ss.Post().Save(post) post, err = ss.Post().Save(rctx, post)
require.NoError(t, err) require.NoError(t, err)
// fetch the message export for the post that user1 sent // fetch the message export for the post that user1 sent
@ -758,7 +758,7 @@ func testMessageExportGroupMessageChannel(t *testing.T, rctx request.CTX, ss sto
CreateAt: startTime + 20, CreateAt: startTime + 20,
Message: NewTestId(), Message: NewTestId(),
} }
post, err = ss.Post().Save(post) post, err = ss.Post().Save(rctx, post)
require.NoError(t, err) require.NoError(t, err)
// fetch the message export for the post that user1 sent // fetch the message export for the post that user1 sent
@ -833,7 +833,7 @@ func testEditExportMessage(t *testing.T, rctx request.CTX, ss store.Store) {
CreateAt: startTime, CreateAt: startTime,
Message: NewTestId(), Message: NewTestId(),
} }
post1, err = ss.Post().Save(post1) post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err) require.NoError(t, err)
//user 1 edits the previous post //user 1 edits the previous post
@ -925,7 +925,7 @@ func testEditAfterExportMessage(t *testing.T, rctx request.CTX, ss store.Store)
CreateAt: startTime, CreateAt: startTime,
Message: NewTestId(), Message: NewTestId(),
} }
post1, err = ss.Post().Save(post1) post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err) require.NoError(t, err)
// fetch the message exports from the start // fetch the message exports from the start
@ -1036,7 +1036,7 @@ func testDeleteExportMessage(t *testing.T, rctx request.CTX, ss store.Store) {
CreateAt: startTime, CreateAt: startTime,
Message: NewTestId(), Message: NewTestId(),
} }
post1, err = ss.Post().Save(post1) post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err) require.NoError(t, err)
//user 1 deletes the previous post //user 1 deletes the previous post
@ -1121,7 +1121,7 @@ func testDeleteAfterExportMessage(t *testing.T, rctx request.CTX, ss store.Store
CreateAt: startTime, CreateAt: startTime,
Message: NewTestId(), Message: NewTestId(),
} }
post1, err = ss.Post().Save(post1) post1, err = ss.Post().Save(rctx, post1)
require.NoError(t, err) require.NoError(t, err)
// fetch the message exports from the start // fetch the message exports from the start

View File

@ -420,11 +420,11 @@ func clearPosts(t *testing.T, rctx request.CTX, ss store.Store) {
require.NoError(t, err) require.NoError(t, err)
} }
func makeDraftsWithNonDeletedPosts(t *testing.T, ss store.Store, count int, message string) { func makeDraftsWithNonDeletedPosts(t *testing.T, rctx request.CTX, ss store.Store, count int, message string) {
t.Helper() t.Helper()
for i := 1; i <= count; i++ { for i := 1; i <= count; i++ {
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
CreateAt: model.GetMillis(), CreateAt: model.GetMillis(),
UpdateAt: model.GetMillis(), UpdateAt: model.GetMillis(),
UserId: model.NewId(), UserId: model.NewId(),
@ -451,11 +451,11 @@ func makeDraftsWithNonDeletedPosts(t *testing.T, ss store.Store, count int, mess
time.Sleep(5 * time.Millisecond) time.Sleep(5 * time.Millisecond)
} }
func makeDraftsWithDeletedPosts(t *testing.T, ss store.Store, count int, message string) { func makeDraftsWithDeletedPosts(t *testing.T, rctx request.CTX, ss store.Store, count int, message string) {
t.Helper() t.Helper()
for i := 1; i <= count; i++ { for i := 1; i <= count; i++ {
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
CreateAt: model.GetMillis(), CreateAt: model.GetMillis(),
UpdateAt: model.GetMillis(), UpdateAt: model.GetMillis(),
DeleteAt: model.GetMillis(), DeleteAt: model.GetMillis(),
@ -714,7 +714,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss) clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss) clearPosts(t, rctx, ss)
makeDraftsWithDeletedPosts(t, ss, 100, "Okay") makeDraftsWithDeletedPosts(t, rctx, ss, 100, "Okay")
createAt, userId := int64(0), "" createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId) nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -735,7 +735,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss) clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss) clearPosts(t, rctx, ss)
makeDraftsWithDeletedPosts(t, ss, 300, "Okay") makeDraftsWithDeletedPosts(t, rctx, ss, 300, "Okay")
createAt, userId := int64(0), "" createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId) nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -772,7 +772,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss) clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss) clearPosts(t, rctx, ss)
makeDraftsWithNonDeletedPosts(t, ss, 100, "Okay") makeDraftsWithNonDeletedPosts(t, rctx, ss, 100, "Okay")
createAt, userId := int64(0), "" createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId) nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -794,7 +794,7 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
clearDrafts(t, rctx, ss) clearDrafts(t, rctx, ss)
clearPosts(t, rctx, ss) clearPosts(t, rctx, ss)
makeDraftsWithNonDeletedPosts(t, ss, 300, "Okay") makeDraftsWithNonDeletedPosts(t, rctx, ss, 300, "Okay")
createAt, userId := int64(0), "" createAt, userId := int64(0), ""
nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId) nextCreateAt, nextUserId, err := ss.Draft().GetLastCreateAtAndUserIdValuesForEmptyDraftsMigration(createAt, userId)
@ -837,23 +837,23 @@ func testDeleteOrphanDraftsByCreateAtAndUserId(t *testing.T, rctx request.CTX, s
// 50 drafts will be deleted from this page // 50 drafts will be deleted from this page
makeDrafts(t, ss, 50, "Yup") makeDrafts(t, ss, 50, "Yup")
makeDraftsWithNonDeletedPosts(t, ss, 50, "Okay") makeDraftsWithNonDeletedPosts(t, rctx, ss, 50, "Okay")
// 100 drafts will be deleted from this page // 100 drafts will be deleted from this page
makeDrafts(t, ss, 50, "Yup") makeDrafts(t, ss, 50, "Yup")
makeDraftsWithDeletedPosts(t, ss, 50, "Okay") makeDraftsWithDeletedPosts(t, rctx, ss, 50, "Okay")
// 50 drafts will be deleted from this page // 50 drafts will be deleted from this page
makeDraftsWithDeletedPosts(t, ss, 50, "Okay") makeDraftsWithDeletedPosts(t, rctx, ss, 50, "Okay")
makeDraftsWithNonDeletedPosts(t, ss, 50, "Okay") makeDraftsWithNonDeletedPosts(t, rctx, ss, 50, "Okay")
// 70 drafts will be deleted from this page // 70 drafts will be deleted from this page
makeDrafts(t, ss, 40, "Yup") makeDrafts(t, ss, 40, "Yup")
makeDraftsWithDeletedPosts(t, ss, 30, "Okay") makeDraftsWithDeletedPosts(t, rctx, ss, 30, "Okay")
makeDraftsWithNonDeletedPosts(t, ss, 30, "Okay") makeDraftsWithNonDeletedPosts(t, rctx, ss, 30, "Okay")
// No drafts will be deleted from this page // No drafts will be deleted from this page
makeDraftsWithNonDeletedPosts(t, ss, 100, "Okay") makeDraftsWithNonDeletedPosts(t, rctx, ss, 100, "Okay")
// Verify initially 5 pages with 500 drafts // Verify initially 5 pages with 500 drafts
assert.Equal(t, 5, countDraftPages(t, rctx, ss), "incorrect number of pages") assert.Equal(t, 5, countDraftPages(t, rctx, ss), "incorrect number of pages")
@ -949,14 +949,14 @@ func testDeleteDraftsAssociatedWithPost(t *testing.T, rctx request.CTX, ss store
}) })
require.NoError(t, err) require.NoError(t, err)
post1, err := ss.Post().Save(&model.Post{ post1, err := ss.Post().Save(rctx, &model.Post{
UserId: user1.Id, UserId: user1.Id,
ChannelId: channel1.Id, ChannelId: channel1.Id,
Message: "post1", Message: "post1",
}) })
require.NoError(t, err) require.NoError(t, err)
post2, err := ss.Post().Save(&model.Post{ post2, err := ss.Post().Save(rctx, &model.Post{
UserId: user2.Id, UserId: user2.Id,
ChannelId: channel2.Id, ChannelId: channel2.Id,
Message: "post2", Message: "post2",

View File

@ -282,7 +282,7 @@ func testFileInfoGetWithOptions(t *testing.T, rctx request.CTX, ss store.Store)
post := model.Post{} post := model.Post{}
post.ChannelId = chId post.ChannelId = chId
post.UserId = user post.UserId = user
_, err := ss.Post().Save(&post) _, err := ss.Post().Save(rctx, &post)
require.NoError(t, err) require.NoError(t, err)
return &post return &post
} }
@ -696,7 +696,7 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, rctx request.CTX, s
o1.ChannelId = c1.Id o1.ChannelId = c1.Id
o1.UserId = model.NewId() o1.UserId = model.NewId()
o1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" o1.Message = "zz" + model.NewId() + "AAAAAAAAAAA"
o1, err := ss.Post().Save(o1) o1, err := ss.Post().Save(rctx, o1)
require.NoError(t, err) require.NoError(t, err)
f1, err := ss.FileInfo().Save(rctx, &model.FileInfo{ f1, err := ss.FileInfo().Save(rctx, &model.FileInfo{
PostId: o1.Id, PostId: o1.Id,
@ -714,7 +714,7 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, rctx request.CTX, s
o2.ChannelId = c2.Id o2.ChannelId = c2.Id
o2.UserId = model.NewId() o2.UserId = model.NewId()
o2.Message = "zz" + model.NewId() + "CCCCCCCCC" o2.Message = "zz" + model.NewId() + "CCCCCCCCC"
o2, err = ss.Post().Save(o2) o2, err = ss.Post().Save(rctx, o2)
require.NoError(t, err) require.NoError(t, err)
f2, err := ss.FileInfo().Save(rctx, &model.FileInfo{ f2, err := ss.FileInfo().Save(rctx, &model.FileInfo{
@ -734,7 +734,7 @@ func testFileInfoStoreGetFilesBatchForIndexing(t *testing.T, rctx request.CTX, s
o3.UserId = model.NewId() o3.UserId = model.NewId()
o3.RootId = o1.Id o3.RootId = o1.Id
o3.Message = "zz" + model.NewId() + "QQQQQQQQQQ" o3.Message = "zz" + model.NewId() + "QQQQQQQQQQ"
o3, err = ss.Post().Save(o3) o3, err = ss.Post().Save(rctx, o3)
require.NoError(t, err) require.NoError(t, err)
f3, err := ss.FileInfo().Save(rctx, &model.FileInfo{ f3, err := ss.FileInfo().Save(rctx, &model.FileInfo{

View File

@ -989,25 +989,25 @@ func (_m *PostStore) PermanentDeleteByUser(rctx request.CTX, userID string) erro
return r0 return r0
} }
// Save provides a mock function with given fields: post // Save provides a mock function with given fields: rctx, post
func (_m *PostStore) Save(post *model.Post) (*model.Post, error) { func (_m *PostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
ret := _m.Called(post) ret := _m.Called(rctx, post)
var r0 *model.Post var r0 *model.Post
var r1 error var r1 error
if rf, ok := ret.Get(0).(func(*model.Post) (*model.Post, error)); ok { if rf, ok := ret.Get(0).(func(request.CTX, *model.Post) (*model.Post, error)); ok {
return rf(post) return rf(rctx, post)
} }
if rf, ok := ret.Get(0).(func(*model.Post) *model.Post); ok { if rf, ok := ret.Get(0).(func(request.CTX, *model.Post) *model.Post); ok {
r0 = rf(post) r0 = rf(rctx, post)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(*model.Post) r0 = ret.Get(0).(*model.Post)
} }
} }
if rf, ok := ret.Get(1).(func(*model.Post) error); ok { if rf, ok := ret.Get(1).(func(request.CTX, *model.Post) error); ok {
r1 = rf(post) r1 = rf(rctx, post)
} else { } else {
r1 = ret.Error(1) r1 = ret.Error(1)
} }

View File

@ -33,7 +33,7 @@ func testPostAcknowledgementsStoreSave(t *testing.T, rctx request.CTX, ss store.
PersistentNotifications: model.NewBool(false), PersistentNotifications: model.NewBool(false),
}, },
} }
post, err := ss.Post().Save(&p1) post, err := ss.Post().Save(rctx, &p1)
require.NoError(t, err) require.NoError(t, err)
t.Run("consecutive saves should just update the acknowledged at", func(t *testing.T) { t.Run("consecutive saves should just update the acknowledged at", func(t *testing.T) {
@ -78,7 +78,7 @@ func testPostAcknowledgementsStoreGetForPost(t *testing.T, rctx request.CTX, ss
PersistentNotifications: model.NewBool(false), PersistentNotifications: model.NewBool(false),
}, },
} }
_, err := ss.Post().Save(&p1) _, err := ss.Post().Save(rctx, &p1)
require.NoError(t, err) require.NoError(t, err)
t.Run("get acknowledgements for post", func(t *testing.T) { t.Run("get acknowledgements for post", func(t *testing.T) {

File diff suppressed because it is too large Load Diff

View File

@ -349,14 +349,14 @@ func testPreferenceDeleteOrphanedRows(t *testing.T, rctx request.CTX, ss store.S
category := model.PreferenceCategoryFlaggedPost category := model.PreferenceCategoryFlaggedPost
userId := model.NewId() userId := model.NewId()
olderPost, err := ss.Post().Save(&model.Post{ olderPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: userId, UserId: userId,
Message: "message", Message: "message",
CreateAt: 1000, CreateAt: 1000,
}) })
require.NoError(t, err) require.NoError(t, err)
newerPost, err := ss.Post().Save(&model.Post{ newerPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: userId, UserId: userId,
Message: "message", Message: "message",

View File

@ -34,7 +34,7 @@ func TestReactionStore(t *testing.T, rctx request.CTX, ss store.Store, s SqlStor
} }
func testReactionSave(t *testing.T, rctx request.CTX, ss store.Store) { func testReactionSave(t *testing.T, rctx request.CTX, ss store.Store) {
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -91,7 +91,7 @@ func testReactionSave(t *testing.T, rctx request.CTX, ss store.Store) {
// different post // different post
// create post1 // create post1
post1, err := ss.Post().Save(&model.Post{ post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -136,7 +136,7 @@ func testReactionSave(t *testing.T, rctx request.CTX, ss store.Store) {
func testReactionDelete(t *testing.T, rctx request.CTX, ss store.Store) { func testReactionDelete(t *testing.T, rctx request.CTX, ss store.Store) {
t.Run("Delete", func(t *testing.T) { t.Run("Delete", func(t *testing.T) {
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -172,7 +172,7 @@ func testReactionDelete(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
t.Run("Undelete", func(t *testing.T) { t.Run("Undelete", func(t *testing.T) {
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -207,12 +207,12 @@ func testReactionDelete(t *testing.T, rctx request.CTX, ss store.Store) {
func testReactionGetForPost(t *testing.T, rctx request.CTX, ss store.Store) { func testReactionGetForPost(t *testing.T, rctx request.CTX, ss store.Store) {
userId := model.NewId() userId := model.NewId()
// create post // create post
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
require.NoError(t, err) require.NoError(t, err)
post1, err := ss.Post().Save(&model.Post{ post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
@ -313,11 +313,11 @@ func testReactionGetForPostSince(t *testing.T, rctx request.CTX, ss store.Store,
userId := model.NewId() userId := model.NewId()
// create post // create post
post, _ := ss.Post().Save(&model.Post{ post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
post1, _ := ss.Post().Save(&model.Post{ post1, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
@ -473,17 +473,17 @@ func forceNULL(reaction *model.Reaction, s SqlStore) error {
func testReactionDeleteAllWithEmojiName(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) { func testReactionDeleteAllWithEmojiName(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) {
emojiToDelete := model.NewId() emojiToDelete := model.NewId()
post, err1 := ss.Post().Save(&model.Post{ post, err1 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
require.NoError(t, err1) require.NoError(t, err1)
post2, err2 := ss.Post().Save(&model.Post{ post2, err2 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
require.NoError(t, err2) require.NoError(t, err2)
post3, err3 := ss.Post().Save(&model.Post{ post3, err3 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -566,17 +566,17 @@ func testReactionDeleteAllWithEmojiName(t *testing.T, rctx request.CTX, ss store
func testPermanentDeleteByUser(t *testing.T, rctx request.CTX, ss store.Store) { func testPermanentDeleteByUser(t *testing.T, rctx request.CTX, ss store.Store) {
userId := model.NewId() userId := model.NewId()
post, err1 := ss.Post().Save(&model.Post{ post, err1 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
require.NoError(t, err1) require.NoError(t, err1)
post2, err2 := ss.Post().Save(&model.Post{ post2, err2 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
require.NoError(t, err2) require.NoError(t, err2)
post3, err3 := ss.Post().Save(&model.Post{ post3, err3 := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -665,13 +665,13 @@ func testReactionStorePermanentDeleteBatch(t *testing.T, rctx request.CTX, ss st
Type: model.ChannelTypeOpen, Type: model.ChannelTypeOpen,
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
olderPost, err := ss.Post().Save(&model.Post{ olderPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: model.NewId(), UserId: model.NewId(),
CreateAt: 1000, CreateAt: 1000,
}) })
require.NoError(t, err) require.NoError(t, err)
newerPost, err := ss.Post().Save(&model.Post{ newerPost, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: model.NewId(), UserId: model.NewId(),
CreateAt: 3000, CreateAt: 3000,
@ -732,22 +732,22 @@ func testReactionStorePermanentDeleteBatch(t *testing.T, rctx request.CTX, ss st
func testReactionBulkGetForPosts(t *testing.T, rctx request.CTX, ss store.Store) { func testReactionBulkGetForPosts(t *testing.T, rctx request.CTX, ss store.Store) {
userId := model.NewId() userId := model.NewId()
post, _ := ss.Post().Save(&model.Post{ post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
postId := post.Id postId := post.Id
post, _ = ss.Post().Save(&model.Post{ post, _ = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
post2Id := post.Id post2Id := post.Id
post, _ = ss.Post().Save(&model.Post{ post, _ = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
post3Id := post.Id post3Id := post.Id
post, _ = ss.Post().Save(&model.Post{ post, _ = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: userId, UserId: userId,
}) })
@ -812,13 +812,13 @@ func testReactionBulkGetForPosts(t *testing.T, rctx request.CTX, ss store.Store)
func testReactionDeadlock(t *testing.T, rctx request.CTX, ss store.Store) { func testReactionDeadlock(t *testing.T, rctx request.CTX, ss store.Store) {
ss = retrylayer.New(ss) ss = retrylayer.New(ss)
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
require.NoError(t, err) require.NoError(t, err)
postId := post.Id postId := post.Id
post, err = ss.Post().Save(&model.Post{ post, err = ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -877,7 +877,7 @@ func testReactionDeadlock(t *testing.T, rctx request.CTX, ss store.Store) {
} }
func testExistsOnPost(t *testing.T, rctx request.CTX, ss store.Store) { func testExistsOnPost(t *testing.T, rctx request.CTX, ss store.Store) {
post, _ := ss.Post().Save(&model.Post{ post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })
@ -898,7 +898,7 @@ func testExistsOnPost(t *testing.T, rctx request.CTX, ss store.Store) {
} }
func testGetUniqueCountForPost(t *testing.T, rctx request.CTX, ss store.Store) { func testGetUniqueCountForPost(t *testing.T, rctx request.CTX, ss store.Store) {
post, _ := ss.Post().Save(&model.Post{ post, _ := ss.Post().Save(rctx, &model.Post{
ChannelId: model.NewId(), ChannelId: model.NewId(),
UserId: model.NewId(), UserId: model.NewId(),
}) })

View File

@ -71,7 +71,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
} }
} }
otmp, err3 := ss.Post().Save(&o) otmp, err3 := ss.Post().Save(rctx, &o)
require.NoError(t, err3) require.NoError(t, err3)
o2 := model.Post{} o2 := model.Post{}
o2.ChannelId = c.Id o2.ChannelId = c.Id
@ -230,7 +230,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o1.ChannelId = channel.Id o1.ChannelId = channel.Id
o1.UserId = model.NewId() o1.UserId = model.NewId()
o1.Message = NewTestId() o1.Message = NewTestId()
rootPost, err := ss.Post().Save(&o1) rootPost, err := ss.Post().Save(rctx, &o1)
require.NoError(t, err) require.NoError(t, err)
o2 := model.Post{} o2 := model.Post{}
@ -238,7 +238,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o2.ChannelId = rootPost.ChannelId o2.ChannelId = rootPost.ChannelId
o2.UserId = model.NewId() o2.UserId = model.NewId()
o2.Message = NewTestId() o2.Message = NewTestId()
replyPost, err := ss.Post().Save(&o2) replyPost, err := ss.Post().Save(rctx, &o2)
require.NoError(t, err) require.NoError(t, err)
o3 := model.Post{} o3 := model.Post{}
@ -246,7 +246,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o3.ChannelId = rootPost.ChannelId o3.ChannelId = rootPost.ChannelId
o3.UserId = o2.UserId o3.UserId = o2.UserId
o3.Message = NewTestId() o3.Message = NewTestId()
replyPost2, err := ss.Post().Save(&o3) replyPost2, err := ss.Post().Save(rctx, &o3)
require.NoError(t, err) require.NoError(t, err)
o4 := model.Post{} o4 := model.Post{}
@ -254,7 +254,7 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
o4.ChannelId = rootPost.ChannelId o4.ChannelId = rootPost.ChannelId
o4.UserId = model.NewId() o4.UserId = model.NewId()
o4.Message = NewTestId() o4.Message = NewTestId()
replyPost3, err := ss.Post().Save(&o4) replyPost3, err := ss.Post().Save(rctx, &o4)
require.NoError(t, err) require.NoError(t, err)
thread, err := ss.Thread().Get(rootPost.Id) thread, err := ss.Thread().Get(rootPost.Id)
@ -477,10 +477,9 @@ func testThreadStorePopulation(t *testing.T, rctx request.CTX, ss store.Store) {
} }
} }
func threadStoreCreateReply(t *testing.T, ss store.Store, channelID, postID, userID string, createAt int64) *model.Post { func threadStoreCreateReply(t *testing.T, rctx request.CTX, ss store.Store, channelID, postID, userID string, createAt int64) *model.Post {
t.Helper() t.Helper()
reply, err := ss.Post().Save(rctx, &model.Post{
reply, err := ss.Post().Save(&model.Post{
ChannelId: channelID, ChannelId: channelID,
UserId: userID, UserId: userID,
CreateAt: createAt, CreateAt: createAt,
@ -508,12 +507,12 @@ func testThreadStorePermanentDeleteBatchForRetentionPolicies(t *testing.T, rctx
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: model.NewId(), UserId: model.NewId(),
}) })
require.NoError(t, err) require.NoError(t, err)
threadStoreCreateReply(t, ss, channel.Id, post.Id, post.UserId, 2000) threadStoreCreateReply(t, rctx, ss, channel.Id, post.Id, post.UserId, 2000)
thread, err := ss.Thread().Get(post.Id) thread, err := ss.Thread().Get(post.Id)
require.NoError(t, err) require.NoError(t, err)
@ -535,7 +534,7 @@ func testThreadStorePermanentDeleteBatchForRetentionPolicies(t *testing.T, rctx
assert.Nil(t, thread, "thread should have been deleted by channel policy") assert.Nil(t, thread, "thread should have been deleted by channel policy")
// create a new thread // create a new thread
threadStoreCreateReply(t, ss, channel.Id, post.Id, post.UserId, 2000) threadStoreCreateReply(t, rctx, ss, channel.Id, post.Id, post.UserId, 2000)
thread, err = ss.Thread().Get(post.Id) thread, err = ss.Thread().Get(post.Id)
require.NoError(t, err) require.NoError(t, err)
@ -596,12 +595,12 @@ func testThreadStorePermanentDeleteBatchThreadMembershipsForRetentionPolicies(t
Type: model.ChannelTypeOpen, Type: model.ChannelTypeOpen,
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: model.NewId(), UserId: model.NewId(),
}) })
require.NoError(t, err) require.NoError(t, err)
threadStoreCreateReply(t, ss, channel.Id, post.Id, post.UserId, 2000) threadStoreCreateReply(t, rctx, ss, channel.Id, post.Id, post.UserId, 2000)
threadMembership := createThreadMembership(userID, post.Id) threadMembership := createThreadMembership(userID, post.Id)
@ -691,13 +690,13 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
Type: model.ChannelTypeOpen, Type: model.ChannelTypeOpen,
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: userID, UserId: userID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
threadStoreCreateReply(t, ss, channel1.Id, post.Id, post.UserId, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, channel1.Id, post.Id, post.UserId, model.GetMillis())
createThreadMembership(userID, post.Id) createThreadMembership(userID, post.Id)
teamsUnread, err := ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id}, true) teamsUnread, err := ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id}, true)
@ -705,13 +704,13 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
assert.Len(t, teamsUnread, 1) assert.Len(t, teamsUnread, 1)
assert.Equal(t, int64(1), teamsUnread[team1.Id].ThreadCount) assert.Equal(t, int64(1), teamsUnread[team1.Id].ThreadCount)
post, err = ss.Post().Save(&model.Post{ post, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: userID, UserId: userID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
threadStoreCreateReply(t, ss, channel1.Id, post.Id, post.UserId, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, channel1.Id, post.Id, post.UserId, model.GetMillis())
createThreadMembership(userID, post.Id) createThreadMembership(userID, post.Id)
teamsUnread, err = ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id}, true) teamsUnread, err = ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id}, true)
@ -734,7 +733,7 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
post2, err := ss.Post().Save(&model.Post{ post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id, ChannelId: channel2.Id,
UserId: userID, UserId: userID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
@ -747,7 +746,7 @@ func testGetTeamsUnreadForUser(t *testing.T, rctx request.CTX, ss store.Store) {
}, },
}) })
require.NoError(t, err) require.NoError(t, err)
threadStoreCreateReply(t, ss, channel2.Id, post2.Id, post2.UserId, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, channel2.Id, post2.Id, post2.UserId, model.GetMillis())
createThreadMembership(userID, post2.Id) createThreadMembership(userID, post2.Id)
teamsUnread, err = ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id, team2.Id}, true) teamsUnread, err = ss.Thread().GetTeamsUnreadForUser(userID, []string{team1.Id, team2.Id}, true)
@ -862,21 +861,21 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
team1channel1post1, err := ss.Post().Save(&model.Post{ team1channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id, ChannelId: team1channel1.Id,
UserId: user1ID, UserId: user1ID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
team1channel1post2, err := ss.Post().Save(&model.Post{ team1channel1post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id, ChannelId: team1channel1.Id,
UserId: user1ID, UserId: user1ID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
team1channel1post3, err := ss.Post().Save(&model.Post{ team1channel1post3, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id, ChannelId: team1channel1.Id,
UserId: user1ID, UserId: user1ID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
@ -890,28 +889,28 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
team2channel1post1, err := ss.Post().Save(&model.Post{ team2channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id, ChannelId: team2channel1.Id,
UserId: user1ID, UserId: user1ID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
team2channel1post2deleted, err := ss.Post().Save(&model.Post{ team2channel1post2deleted, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id, ChannelId: team2channel1.Id,
UserId: user1ID, UserId: user1ID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
dm1post1, err := ss.Post().Save(&model.Post{ dm1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: dm1.Id, ChannelId: dm1.Id,
UserId: user1ID, UserId: user1ID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
gm1post1, err := ss.Post().Save(&model.Post{ gm1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: gm1.Id, ChannelId: gm1.Id,
UserId: user1ID, UserId: user1ID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
@ -928,13 +927,13 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
gm1post1.Id: "gm1post1", gm1post1.Id: "gm1post1",
} }
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post1.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post3.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post3.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team2channel1.Id, team2channel1post1.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, team2channel1.Id, team2channel1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, team2channel1.Id, team2channel1post2deleted.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, team2channel1.Id, team2channel1post2deleted.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, dm1.Id, dm1post1.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, dm1.Id, dm1post1.Id, user2ID, model.GetMillis())
threadStoreCreateReply(t, ss, gm1.Id, gm1post1.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, gm1.Id, gm1post1.Id, user2ID, model.GetMillis())
// Create thread memberships, with simulated unread mentions. // Create thread memberships, with simulated unread mentions.
createThreadMembership(user1ID, team1channel1post1.Id, false) createThreadMembership(user1ID, team1channel1post1.Id, false)
@ -953,7 +952,7 @@ func testVarious(t *testing.T, rctx request.CTX, ss store.Store) {
// Add reply to a viewed thread to confirm it's unread again. // Add reply to a viewed thread to confirm it's unread again.
time.Sleep(2 * time.Millisecond) time.Sleep(2 * time.Millisecond)
threadStoreCreateReply(t, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis()) threadStoreCreateReply(t, rctx, ss, team1channel1.Id, team1channel1post2.Id, user2ID, model.GetMillis())
// Actually make team2channel1post2deleted deleted // Actually make team2channel1post2deleted deleted
err = ss.Post().Delete(rctx, team2channel1post2deleted.Id, model.GetMillis(), user1ID) err = ss.Post().Delete(rctx, team2channel1post2deleted.Id, model.GetMillis(), user1ID)
@ -1261,14 +1260,14 @@ func testMarkAllAsReadByChannels(t *testing.T, rctx request.CTX, ss store.Store)
}) })
t.Run("single channel", func(t *testing.T) { t.Run("single channel", func(t *testing.T) {
post, err := ss.Post().Save(&model.Post{ post, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: post.Id, RootId: post.Id,
@ -1296,14 +1295,14 @@ func testMarkAllAsReadByChannels(t *testing.T, rctx request.CTX, ss store.Store)
}) })
t.Run("multiple channels", func(t *testing.T) { t.Run("multiple channels", func(t *testing.T) {
post1, err := ss.Post().Save(&model.Post{ post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: post1.Id, RootId: post1.Id,
@ -1311,14 +1310,14 @@ func testMarkAllAsReadByChannels(t *testing.T, rctx request.CTX, ss store.Store)
}) })
require.NoError(t, err) require.NoError(t, err)
post2, err := ss.Post().Save(&model.Post{ post2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id, ChannelId: channel2.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id, ChannelId: channel2.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: post2.Id, RootId: post2.Id,
@ -1423,14 +1422,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
team1channel1post1, err := ss.Post().Save(&model.Post{ team1channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id, ChannelId: team1channel1.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id, ChannelId: team1channel1.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: team1channel1post1.Id, RootId: team1channel1post1.Id,
@ -1438,14 +1437,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
team1channel2post1, err := ss.Post().Save(&model.Post{ team1channel2post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel2.Id, ChannelId: team1channel2.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team1channel1.Id, ChannelId: team1channel1.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: team1channel2post1.Id, RootId: team1channel2post1.Id,
@ -1453,14 +1452,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
team2channel1post1, err := ss.Post().Save(&model.Post{ team2channel1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id, ChannelId: team2channel1.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id, ChannelId: team2channel1.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: team2channel1post1.Id, RootId: team2channel1post1.Id,
@ -1468,14 +1467,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}) })
require.NoError(t, err) require.NoError(t, err)
team2channel2post1, err := ss.Post().Save(&model.Post{ team2channel2post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel2.Id, ChannelId: team2channel2.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: team2channel1.Id, ChannelId: team2channel1.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: team2channel2post1.Id, RootId: team2channel2post1.Id,
@ -1490,14 +1489,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
gm1post1, err := ss.Post().Save(&model.Post{ gm1post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: gm1.Id, ChannelId: gm1.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: gm1.Id, ChannelId: gm1.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: gm1post1.Id, RootId: gm1post1.Id,
@ -1512,14 +1511,14 @@ func testMarkAllAsReadByTeam(t *testing.T, rctx request.CTX, ss store.Store) {
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
gm2post1, err := ss.Post().Save(&model.Post{ gm2post1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: gm2.Id, ChannelId: gm2.Id,
UserId: postingUserId, UserId: postingUserId,
Message: "Root", Message: "Root",
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: gm2.Id, ChannelId: gm2.Id,
UserId: postingUserId, UserId: postingUserId,
RootId: gm2post1.Id, RootId: gm2post1.Id,
@ -1620,14 +1619,14 @@ func testDeleteMembershipsForChannel(t *testing.T, rctx request.CTX, ss store.St
}, -1) }, -1)
require.NoError(t, err) require.NoError(t, err)
rootPost1, err := ss.Post().Save(&model.Post{ rootPost1, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: postingUserID, UserId: postingUserID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel1.Id, ChannelId: channel1.Id,
UserId: postingUserID, UserId: postingUserID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
@ -1635,13 +1634,13 @@ func testDeleteMembershipsForChannel(t *testing.T, rctx request.CTX, ss store.St
}) })
require.NoError(t, err) require.NoError(t, err)
rootPost2, err := ss.Post().Save(&model.Post{ rootPost2, err := ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id, ChannelId: channel2.Id,
UserId: postingUserID, UserId: postingUserID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),
}) })
require.NoError(t, err) require.NoError(t, err)
_, err = ss.Post().Save(&model.Post{ _, err = ss.Post().Save(rctx, &model.Post{
ChannelId: channel2.Id, ChannelId: channel2.Id,
UserId: postingUserID, UserId: postingUserID,
Message: model.NewRandomString(10), Message: model.NewRandomString(10),

View File

@ -2468,7 +2468,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) {
p1.Message = "this is a message for @" + u2.Username + " and " + "@" + u3.Username p1.Message = "this is a message for @" + u2.Username + " and " + "@" + u3.Username
// Post one message with mention to open channel // Post one message with mention to open channel
_, nErr = ss.Post().Save(&p1) _, nErr = ss.Post().Save(rctx, &p1)
require.NoError(t, nErr) require.NoError(t, nErr)
nErr = ss.Channel().IncrementMentionCount(c1.Id, []string{u2.Id, u3.Id}, false, false) nErr = ss.Channel().IncrementMentionCount(c1.Id, []string{u2.Id, u3.Id}, false, false)
require.NoError(t, nErr) require.NoError(t, nErr)
@ -2479,7 +2479,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) {
p2.UserId = u1.Id p2.UserId = u1.Id
p2.Message = "first message" p2.Message = "first message"
_, nErr = ss.Post().Save(&p2) _, nErr = ss.Post().Save(rctx, &p2)
require.NoError(t, nErr) require.NoError(t, nErr)
nErr = ss.Channel().IncrementMentionCount(c2.Id, []string{u2.Id}, false, false) nErr = ss.Channel().IncrementMentionCount(c2.Id, []string{u2.Id}, false, false)
require.NoError(t, nErr) require.NoError(t, nErr)
@ -2488,7 +2488,7 @@ func testUserUnreadCount(t *testing.T, rctx request.CTX, ss store.Store) {
p3.ChannelId = c2.Id p3.ChannelId = c2.Id
p3.UserId = u1.Id p3.UserId = u1.Id
p3.Message = "second message" p3.Message = "second message"
_, nErr = ss.Post().Save(&p3) _, nErr = ss.Post().Save(rctx, &p3)
require.NoError(t, nErr) require.NoError(t, nErr)
nErr = ss.Channel().IncrementMentionCount(c2.Id, []string{u2.Id}, false, false) nErr = ss.Channel().IncrementMentionCount(c2.Id, []string{u2.Id}, false, false)
@ -6231,7 +6231,7 @@ func testGetUserReport(t *testing.T, rctx request.CTX, ss store.Store, s SqlStor
for _, user := range users { for _, user := range users {
for i := 0; i < numPostsPerUser; i++ { for i := 0; i < numPostsPerUser; i++ {
post := model.Post{UserId: user.Id, ChannelId: model.NewId(), Message: NewTestId(), CreateAt: now.AddDate(0, 0, -i).UnixMilli()} post := model.Post{UserId: user.Id, ChannelId: model.NewId(), Message: NewTestId(), CreateAt: now.AddDate(0, 0, -i).UnixMilli()}
_, err := ss.Post().Save(&post) _, err := ss.Post().Save(rctx, &post)
require.NoError(t, err) require.NoError(t, err)
} }
} }

View File

@ -6153,10 +6153,10 @@ func (s *TimerLayerPostStore) PermanentDeleteByUser(rctx request.CTX, userID str
return err return err
} }
func (s *TimerLayerPostStore) Save(post *model.Post) (*model.Post, error) { func (s *TimerLayerPostStore) Save(rctx request.CTX, post *model.Post) (*model.Post, error) {
start := time.Now() start := time.Now()
result, err := s.PostStore.Save(post) result, err := s.PostStore.Save(rctx, post)
elapsed := float64(time.Since(start)) / float64(time.Second) elapsed := float64(time.Since(start)) / float64(time.Second)
if s.Root.Metrics != nil { if s.Root.Metrics != nil {

View File

@ -670,7 +670,7 @@ func (si *SlackImporter) oldImportPost(rctx request.CTX, post *model.Post) strin
post.RootId = firstPostId post.RootId = firstPostId
_, err := si.store.Post().Save(post) _, err := si.store.Post().Save(rctx, post)
if err != nil { if err != nil {
rctx.Logger().Debug("Error saving post.", mlog.String("user_id", post.UserId), mlog.String("message", post.Message)) rctx.Logger().Debug("Error saving post.", mlog.String("user_id", post.UserId), mlog.String("message", post.Message))
} }