67 lines
1.9 KiB
Go
67 lines
1.9 KiB
Go
package auth
|
|
|
|
// MockStorer mocks Storer interface.
|
|
type MockStorer struct {
|
|
GetByIDFn func(id int) (*Account, error)
|
|
GetByIDInvoked bool
|
|
|
|
GetByEmailFn func(email string) (*Account, error)
|
|
GetByEmailInvoked bool
|
|
|
|
GetByRefreshTokenFn func(token string) (*Account, *Token, error)
|
|
GetByRefreshTokenInvoked bool
|
|
|
|
UpdateAccountFn func(a *Account) error
|
|
UpdateAccountInvoked bool
|
|
|
|
SaveRefreshTokenFn func(t *Token) error
|
|
SaveRefreshTokenInvoked bool
|
|
|
|
DeleteRefreshTokenFn func(t *Token) error
|
|
DeleteRefreshTokenInvoked bool
|
|
|
|
PurgeExpiredTokenFn func() error
|
|
PurgeExpiredTokenInvoked bool
|
|
}
|
|
|
|
// GetByID mock returns an account by ID.
|
|
func (s *MockStorer) GetByID(id int) (*Account, error) {
|
|
s.GetByIDInvoked = true
|
|
return s.GetByIDFn(id)
|
|
}
|
|
|
|
// GetByEmail mock returns an account by email.
|
|
func (s *MockStorer) GetByEmail(email string) (*Account, error) {
|
|
s.GetByEmailInvoked = true
|
|
return s.GetByEmailFn(email)
|
|
}
|
|
|
|
// GetByRefreshToken mock returns an account and refresh token by token identifier.
|
|
func (s *MockStorer) GetByRefreshToken(token string) (*Account, *Token, error) {
|
|
s.GetByRefreshTokenInvoked = true
|
|
return s.GetByRefreshTokenFn(token)
|
|
}
|
|
|
|
// UpdateAccount mock upates account data related to authentication.
|
|
func (s *MockStorer) UpdateAccount(a *Account) error {
|
|
s.UpdateAccountInvoked = true
|
|
return s.UpdateAccountFn(a)
|
|
}
|
|
|
|
// SaveRefreshToken mock creates or updates a refresh token.
|
|
func (s *MockStorer) SaveRefreshToken(t *Token) error {
|
|
s.SaveRefreshTokenInvoked = true
|
|
return s.SaveRefreshTokenFn(t)
|
|
}
|
|
|
|
// DeleteRefreshToken mock deletes a refresh token.
|
|
func (s *MockStorer) DeleteRefreshToken(t *Token) error {
|
|
s.DeleteRefreshTokenInvoked = true
|
|
return s.DeleteRefreshTokenFn(t)
|
|
}
|
|
|
|
// PurgeExpiredToken mock deletes expired refresh token.
|
|
func (s *MockStorer) PurgeExpiredToken() error {
|
|
s.PurgeExpiredTokenInvoked = true
|
|
return s.PurgeExpiredTokenFn()
|
|
}
|