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

Этот коммит содержится в:
Aditya Pratap Singh Hada
2024-02-20 21:37:20 +05:30
коммит произвёл GitHub
родитель 287962a309
Коммит 6541708a93
23 изменённых файлов: 396 добавлений и 400 удалений

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

@@ -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,

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

@@ -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{}

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

@@ -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

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

@@ -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)

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

@@ -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
} }

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

@@ -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)

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

@@ -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 {

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

@@ -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)

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

@@ -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

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

@@ -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)

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

@@ -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",

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

@@ -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

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

@@ -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",

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

@@ -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{

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

@@ -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)
} }

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

@@ -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) {

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@@ -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",

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

@@ -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(),
}) })

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

@@ -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),

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

@@ -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)
} }
} }

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

@@ -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 {

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

@@ -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))
} }