testing.go 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. }
  16. func NewFakeUserAuthTokenService() *FakeUserAuthTokenService {
  17. return &FakeUserAuthTokenService{
  18. CreateTokenProvider: func(ctx context.Context, userId int64, clientIP, userAgent string) (*models.UserToken, error) {
  19. return &models.UserToken{
  20. UserId: 0,
  21. UnhashedToken: "",
  22. }, nil
  23. },
  24. TryRotateTokenProvider: func(ctx context.Context, token *models.UserToken, clientIP, userAgent string) (bool, error) {
  25. return false, nil
  26. },
  27. LookupTokenProvider: func(ctx context.Context, unhashedToken string) (*models.UserToken, error) {
  28. return &models.UserToken{
  29. UserId: 0,
  30. UnhashedToken: "",
  31. }, nil
  32. },
  33. RevokeTokenProvider: func(ctx context.Context, token *models.UserToken) error {
  34. return nil
  35. },
  36. RevokeAllUserTokensProvider: func(ctx context.Context, userId int64) error {
  37. return nil
  38. },
  39. ActiveAuthTokenCount: func(ctx context.Context) (int64, error) {
  40. return 10, nil
  41. },
  42. GetUserTokenProvider: func(ctx context.Context, userId, userTokenId int64) (*models.UserToken, error) {
  43. return nil, nil
  44. },
  45. GetUserTokensProvider: func(ctx context.Context, userId int64) ([]*models.UserToken, error) {
  46. return nil, nil
  47. },
  48. }
  49. }
  50. func (s *FakeUserAuthTokenService) CreateToken(ctx context.Context, userId int64, clientIP, userAgent string) (*models.UserToken, error) {
  51. return s.CreateTokenProvider(context.Background(), userId, clientIP, userAgent)
  52. }
  53. func (s *FakeUserAuthTokenService) LookupToken(ctx context.Context, unhashedToken string) (*models.UserToken, error) {
  54. return s.LookupTokenProvider(context.Background(), unhashedToken)
  55. }
  56. func (s *FakeUserAuthTokenService) TryRotateToken(ctx context.Context, token *models.UserToken, clientIP, userAgent string) (bool, error) {
  57. return s.TryRotateTokenProvider(context.Background(), token, clientIP, userAgent)
  58. }
  59. func (s *FakeUserAuthTokenService) RevokeToken(ctx context.Context, token *models.UserToken) error {
  60. return s.RevokeTokenProvider(context.Background(), token)
  61. }
  62. func (s *FakeUserAuthTokenService) RevokeAllUserTokens(ctx context.Context, userId int64) error {
  63. return s.RevokeAllUserTokensProvider(context.Background(), userId)
  64. }
  65. func (s *FakeUserAuthTokenService) ActiveTokenCount(ctx context.Context) (int64, error) {
  66. return s.ActiveAuthTokenCount(context.Background())
  67. }
  68. func (s *FakeUserAuthTokenService) GetUserToken(ctx context.Context, userId, userTokenId int64) (*models.UserToken, error) {
  69. return s.GetUserTokenProvider(context.Background(), userId, userTokenId)
  70. }
  71. func (s *FakeUserAuthTokenService) GetUserTokens(ctx context.Context, userId int64) ([]*models.UserToken, error) {
  72. return s.GetUserTokensProvider(context.Background(), userId)
  73. }