[MM-48946] Fix read after write issue when uploading data (#21868)

* Fix read after write issue when uploading data

* Prefer request.CTX interface
Этот коммит содержится в:
Claudio Costa
2022-12-13 11:47:05 -06:00
коммит произвёл GitHub
родитель 68373e992b
Коммит 6fd174a95f
13 изменённых файлов: 45 добавлений и 34 удалений

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

@@ -5,6 +5,8 @@
package mocks
import (
context "context"
model "github.com/mattermost/mattermost-server/v6/model"
mock "github.com/stretchr/testify/mock"
)
@@ -28,13 +30,13 @@ func (_m *UploadSessionStore) Delete(id string) error {
return r0
}
// Get provides a mock function with given fields: id
func (_m *UploadSessionStore) Get(id string) (*model.UploadSession, error) {
ret := _m.Called(id)
// Get provides a mock function with given fields: ctx, id
func (_m *UploadSessionStore) Get(ctx context.Context, id string) (*model.UploadSession, error) {
ret := _m.Called(ctx, id)
var r0 *model.UploadSession
if rf, ok := ret.Get(0).(func(string) *model.UploadSession); ok {
r0 = rf(id)
if rf, ok := ret.Get(0).(func(context.Context, string) *model.UploadSession); ok {
r0 = rf(ctx, id)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*model.UploadSession)
@@ -42,8 +44,8 @@ func (_m *UploadSessionStore) Get(id string) (*model.UploadSession, error) {
}
var r1 error
if rf, ok := ret.Get(1).(func(string) error); ok {
r1 = rf(id)
if rf, ok := ret.Get(1).(func(context.Context, string) error); ok {
r1 = rf(ctx, id)
} else {
r1 = ret.Error(1)
}

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

@@ -4,6 +4,7 @@
package storetest
import (
"context"
"testing"
"time"
@@ -52,13 +53,13 @@ func testUploadSessionStoreSaveGet(t *testing.T, ss store.Store) {
})
t.Run("getting non-existing session should fail", func(t *testing.T) {
us, err := ss.UploadSession().Get("fake")
us, err := ss.UploadSession().Get(context.Background(), "fake")
require.Error(t, err)
require.Nil(t, us)
})
t.Run("getting existing session should succeed", func(t *testing.T) {
us, err := ss.UploadSession().Get(session.Id)
us, err := ss.UploadSession().Get(context.Background(), session.Id)
require.NoError(t, err)
require.NotNil(t, us)
require.Equal(t, session, us)
@@ -100,7 +101,7 @@ func testUploadSessionStoreUpdate(t *testing.T, ss store.Store) {
err = ss.UploadSession().Update(us)
require.NoError(t, err)
updated, err := ss.UploadSession().Get(us.Id)
updated, err := ss.UploadSession().Get(context.Background(), us.Id)
require.NoError(t, err)
require.NotNil(t, us)
require.Equal(t, us, updated)
@@ -199,7 +200,7 @@ func testUploadSessionStoreDelete(t *testing.T, ss store.Store) {
err = ss.UploadSession().Delete(session.Id)
require.NoError(t, err)
us, err = ss.UploadSession().Get(us.Id)
us, err = ss.UploadSession().Get(context.Background(), us.Id)
require.Error(t, err)
require.Nil(t, us)
require.IsType(t, &store.ErrNotFound{}, err)