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

Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
Devin Binnie 2023-09-19 08:49:51 +02:00 committed by GitHub
parent d08f1ca3fb
commit 11cdd2b66b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 19 additions and 19 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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