Fix flaky/incorrect desktop token test, clarify the parameter names (#24565)

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Devin Binnie
2023-09-19 08:49:51 +02:00
коммит произвёл GitHub
родитель d08f1ca3fb
Коммит 11cdd2b66b
9 изменённых файлов: 19 добавлений и 19 удалений

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

@@ -577,7 +577,7 @@ type AppIface interface {
FilterUsersByVisible(viewer *model.User, otherUsers []*model.User) ([]*model.User, *model.AppError) FilterUsersByVisible(viewer *model.User, otherUsers []*model.User) ([]*model.User, *model.AppError)
FindTeamByName(name string) bool FindTeamByName(name string) bool
FinishSendAdminNotifyPost(trial bool, now int64, pluginBasedData map[string][]*model.NotifyAdminData) FinishSendAdminNotifyPost(trial bool, now int64, pluginBasedData map[string][]*model.NotifyAdminData)
GenerateAndSaveDesktopToken(expiryTime int64, user *model.User) (*string, *model.AppError) GenerateAndSaveDesktopToken(createAt int64, user *model.User) (*string, *model.AppError)
GenerateMfaSecret(userID string) (*model.MfaSecret, *model.AppError) GenerateMfaSecret(userID string) (*model.MfaSecret, *model.AppError)
GeneratePresignURLForExport(name string) (*model.PresignURLResponse, *model.AppError) GeneratePresignURLForExport(name string) (*model.PresignURLResponse, *model.AppError)
GeneratePublicLink(siteURL string, info *model.FileInfo) string GeneratePublicLink(siteURL string, info *model.FileInfo) string

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

@@ -9,9 +9,9 @@ import (
"github.com/mattermost/mattermost/server/public/model" "github.com/mattermost/mattermost/server/public/model"
) )
func (a *App) GenerateAndSaveDesktopToken(expiryTime int64, user *model.User) (*string, *model.AppError) { func (a *App) GenerateAndSaveDesktopToken(createAt int64, user *model.User) (*string, *model.AppError) {
token := model.NewRandomString(64) token := model.NewRandomString(64)
err := a.Srv().Store().DesktopTokens().Insert(token, expiryTime, user.Id) err := a.Srv().Store().DesktopTokens().Insert(token, createAt, user.Id)
if err != nil { if err != nil {
// Delete any other related tokens if there's an error // Delete any other related tokens if there's an error
a.Srv().Store().DesktopTokens().DeleteByUserId(user.Id) a.Srv().Store().DesktopTokens().DeleteByUserId(user.Id)

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

@@ -22,7 +22,7 @@ func TestGenerateAndSaveDesktopToken(t *testing.T) {
defer th.TearDown() defer th.TearDown()
t.Run("generate token", func(t *testing.T) { t.Run("generate token", func(t *testing.T) {
token, err := th.App.GenerateAndSaveDesktopToken(time.Now().Add(-TTL).Unix(), th.BasicUser) token, err := th.App.GenerateAndSaveDesktopToken(time.Now().Unix(), th.BasicUser)
assert.Nil(t, err) assert.Nil(t, err)
assert.NotNil(t, token) assert.NotNil(t, token)
}) })
@@ -32,7 +32,7 @@ func TestValidateDesktopToken(t *testing.T) {
th := Setup(t).InitBasic() th := Setup(t).InitBasic()
defer th.TearDown() defer th.TearDown()
authenticatedServerToken, err := th.App.GenerateAndSaveDesktopToken(time.Now().Add(-TTL).Unix(), th.BasicUser) authenticatedServerToken, err := th.App.GenerateAndSaveDesktopToken(time.Now().Unix(), th.BasicUser)
require.Nil(t, err) require.Nil(t, err)
require.NotNil(t, authenticatedServerToken) require.NotNil(t, authenticatedServerToken)
@@ -41,7 +41,7 @@ func TestValidateDesktopToken(t *testing.T) {
require.NotNil(t, expiredServerToken) require.NotNil(t, expiredServerToken)
badUser := model.User{Id: "some_garbage_user_id"} badUser := model.User{Id: "some_garbage_user_id"}
badUserServerToken, err := th.App.GenerateAndSaveDesktopToken(time.Now().Add(-TTL).Unix(), &badUser) badUserServerToken, err := th.App.GenerateAndSaveDesktopToken(time.Now().Unix(), &badUser)
require.Nil(t, err) require.Nil(t, err)
require.NotNil(t, badUserServerToken) require.NotNil(t, badUserServerToken)

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

@@ -4540,7 +4540,7 @@ func (a *OpenTracingAppLayer) FinishSendAdminNotifyPost(trial bool, now int64, p
a.app.FinishSendAdminNotifyPost(trial, now, pluginBasedData) a.app.FinishSendAdminNotifyPost(trial, now, pluginBasedData)
} }
func (a *OpenTracingAppLayer) GenerateAndSaveDesktopToken(expiryTime int64, user *model.User) (*string, *model.AppError) { func (a *OpenTracingAppLayer) GenerateAndSaveDesktopToken(createAt int64, user *model.User) (*string, *model.AppError) {
origCtx := a.ctx origCtx := a.ctx
span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.GenerateAndSaveDesktopToken") span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.GenerateAndSaveDesktopToken")
@@ -4552,7 +4552,7 @@ func (a *OpenTracingAppLayer) GenerateAndSaveDesktopToken(expiryTime int64, user
}() }()
defer span.Finish() defer span.Finish()
resultVar0, resultVar1 := a.app.GenerateAndSaveDesktopToken(expiryTime, user) resultVar0, resultVar1 := a.app.GenerateAndSaveDesktopToken(createAt, user)
if resultVar1 != nil { if resultVar1 != nil {
span.LogFields(spanlog.Error(resultVar1)) span.LogFields(spanlog.Error(resultVar1))

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

@@ -3317,7 +3317,7 @@ func (s *OpenTracingLayerDesktopTokensStore) GetUserId(token string, minCreatedA
return result, err return result, err
} }
func (s *OpenTracingLayerDesktopTokensStore) Insert(token string, createdAt int64, userId string) error { func (s *OpenTracingLayerDesktopTokensStore) Insert(token string, createAt int64, userId string) error {
origCtx := s.Root.Store.Context() origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "DesktopTokensStore.Insert") span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "DesktopTokensStore.Insert")
s.Root.Store.SetContext(newCtx) s.Root.Store.SetContext(newCtx)
@@ -3326,7 +3326,7 @@ func (s *OpenTracingLayerDesktopTokensStore) Insert(token string, createdAt int6
}() }()
defer span.Finish() defer span.Finish()
err := s.DesktopTokensStore.Insert(token, createdAt, userId) err := s.DesktopTokensStore.Insert(token, createAt, userId)
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)

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

@@ -3703,11 +3703,11 @@ func (s *RetryLayerDesktopTokensStore) GetUserId(token string, minCreatedAt int6
} }
func (s *RetryLayerDesktopTokensStore) Insert(token string, createdAt int64, userId string) error { func (s *RetryLayerDesktopTokensStore) Insert(token string, createAt int64, userId string) error {
tries := 0 tries := 0
for { for {
err := s.DesktopTokensStore.Insert(token, createdAt, userId) err := s.DesktopTokensStore.Insert(token, createAt, userId)
if err == nil { if err == nil {
return nil return nil
} }

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

@@ -654,7 +654,7 @@ type TokenStore interface {
type DesktopTokensStore interface { type DesktopTokensStore interface {
GetUserId(token string, minCreatedAt int64) (*string, error) GetUserId(token string, minCreatedAt int64) (*string, error)
Insert(token string, createdAt int64, userId string) error Insert(token string, createAt int64, userId string) error
Delete(token string) error Delete(token string) error
DeleteByUserId(userId string) error DeleteByUserId(userId string) error
DeleteOlderThan(minCreatedAt int64) error DeleteOlderThan(minCreatedAt int64) error

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

@@ -79,13 +79,13 @@ func (_m *DesktopTokensStore) GetUserId(token string, minCreatedAt int64) (*stri
return r0, r1 return r0, r1
} }
// Insert provides a mock function with given fields: token, createdAt, userId // Insert provides a mock function with given fields: token, createAt, userId
func (_m *DesktopTokensStore) Insert(token string, createdAt int64, userId string) error { func (_m *DesktopTokensStore) Insert(token string, createAt int64, userId string) error {
ret := _m.Called(token, createdAt, userId) ret := _m.Called(token, createAt, userId)
var r0 error var r0 error
if rf, ok := ret.Get(0).(func(string, int64, string) error); ok { if rf, ok := ret.Get(0).(func(string, int64, string) error); ok {
r0 = rf(token, createdAt, userId) r0 = rf(token, createAt, userId)
} else { } else {
r0 = ret.Error(0) r0 = ret.Error(0)
} }

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

@@ -3043,10 +3043,10 @@ func (s *TimerLayerDesktopTokensStore) GetUserId(token string, minCreatedAt int6
return result, err return result, err
} }
func (s *TimerLayerDesktopTokensStore) Insert(token string, createdAt int64, userId string) error { func (s *TimerLayerDesktopTokensStore) Insert(token string, createAt int64, userId string) error {
start := time.Now() start := time.Now()
err := s.DesktopTokensStore.Insert(token, createdAt, userId) err := s.DesktopTokensStore.Insert(token, createAt, userId)
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 {