mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Fix flaky/incorrect desktop token test, clarify the parameter names (#24565)
Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
parent
d08f1ca3fb
commit
11cdd2b66b
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user