testing.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package auth
  2. import (
  3. "context"
  4. "github.com/grafana/grafana/pkg/models"
  5. )
  6. type FakeUserAuthTokenService struct {
  7. CreateTokenProvider func(ctx context.Context, userId int64, clientIP, userAgent string) (*models.UserToken, error)
  8. TryRotateTokenProvider func(ctx context.Context, token *models.UserToken, clientIP, userAgent string) (bool, error)
  9. LookupTokenProvider func(ctx context.Context, unhashedToken string) (*models.UserToken, error)
  10. RevokeTokenProvider func(ctx context.Context, token *models.UserToken) error
  11. RevokeAllUserTokensProvider func(ctx context.Context, userId int64) error
  12. ActiveAuthTokenCount func(ctx context.Context) (int64, error)
  13. GetUserTokenProvider func(ctx context.Context, userId, userTokenId int64) (*models.UserToken, error)
  14. GetUserTokensProvider func(ctx context.Context, userId int64) ([]*models.UserToken, error)
  15. BatchRevokedTokenProvider func(ctx context.Context, userIds []int64) error
  16. }
  17. func NewFakeUserAuthTokenService() *FakeUserAuthTokenService {
  18. return &FakeUserAuthTokenService{
  19. CreateTokenProvider: func(ctx context.Context, userId int64, clientIP, userAgent string) (*models.UserToken, error) {
  20. return &models.UserToken{
  21. UserId: 0,
  22. UnhashedToken: "",
  23. }, nil
  24. },
  25. TryRotateTokenProvider: func(ctx context.Context, token *models.UserToken, clientIP, userAgent string) (bool, error) {
  26. return false, nil
  27. },
  28. LookupTokenProvider: func(ctx context.Context, unhashedToken string) (*models.UserToken, error) {
  29. return &models.UserToken{
  30. UserId: 0,
  31. UnhashedToken: "",
  32. }, nil
  33. },
  34. RevokeTokenProvider: func(ctx context.Context, token *models.UserToken) error {
  35. return nil
  36. },
  37. RevokeAllUserTokensProvider: func(ctx context.Context, userId int64) error {
  38. return nil
  39. },
  40. BatchRevokedTokenProvider: func(ctx context.Context, userIds []int64) error {
  41. return nil
  42. },
  43. ActiveAuthTokenCount: func(ctx context.Context) (int64, error) {
  44. return 10, nil
  45. },
  46. GetUserTokenProvider: func(ctx context.Context, userId, userTokenId int64) (*models.UserToken, error) {
  47. return nil, nil
  48. },
  49. GetUserTokensProvider: func(ctx context.Context, userId int64) ([]*models.UserToken, error) {
  50. return nil, nil
  51. },
  52. }
  53. }
  54. func (s *FakeUserAuthTokenService) CreateToken(ctx context.Context, userId int64, clientIP, userAgent string) (*models.UserToken, error) {
  55. return s.CreateTokenProvider(context.Background(), userId, clientIP, userAgent)
  56. }
  57. func (s *FakeUserAuthTokenService) LookupToken(ctx context.Context, unhashedToken string) (*models.UserToken, error) {
  58. return s.LookupTokenProvider(context.Background(), unhashedToken)
  59. }
  60. func (s *FakeUserAuthTokenService) TryRotateToken(ctx context.Context, token *models.UserToken, clientIP, userAgent string) (bool, error) {
  61. return s.TryRotateTokenProvider(context.Background(), token, clientIP, userAgent)
  62. }
  63. func (s *FakeUserAuthTokenService) RevokeToken(ctx context.Context, token *models.UserToken) error {
  64. return s.RevokeTokenProvider(context.Background(), token)
  65. }
  66. func (s *FakeUserAuthTokenService) RevokeAllUserTokens(ctx context.Context, userId int64) error {
  67. return s.RevokeAllUserTokensProvider(context.Background(), userId)
  68. }
  69. func (s *FakeUserAuthTokenService) ActiveTokenCount(ctx context.Context) (int64, error) {
  70. return s.ActiveAuthTokenCount(context.Background())
  71. }
  72. func (s *FakeUserAuthTokenService) GetUserToken(ctx context.Context, userId, userTokenId int64) (*models.UserToken, error) {
  73. return s.GetUserTokenProvider(context.Background(), userId, userTokenId)
  74. }
  75. func (s *FakeUserAuthTokenService) GetUserTokens(ctx context.Context, userId int64) ([]*models.UserToken, error) {
  76. return s.GetUserTokensProvider(context.Background(), userId)
  77. }
  78. func (s *FakeUserAuthTokenService) BatchRevokeAllUserTokens(ctx context.Context, userIds []int64) error {
  79. return s.BatchRevokedTokenProvider(ctx, userIds)
  80. }