🚨 Removed linter warnings in token package

This commit is contained in:
Maxim Lebedev 2021-10-18 04:12:00 +05:00
parent 35b4ae9e23
commit 88d78f243b
Signed by: toby3d
GPG Key ID: 1F14E25B7C119FC5
7 changed files with 23 additions and 18 deletions

View File

@ -13,6 +13,6 @@ type Repository interface {
}
var (
ErrExist error = errors.New("token already exist")
ErrNotExist error = errors.New("token not exist")
ErrExist = errors.New("token already exist")
ErrNotExist = errors.New("token not exist")
)

View File

@ -46,6 +46,7 @@ func (repo *boltTokenRepository) Create(ctx context.Context, accessToken *domain
}
if err = repo.db.Update(func(tx *bolt.Tx) error {
//nolint: exhaustivestruct
bkt, err := tx.CreateBucketIfNotExists(Token{}.Bucket())
if err != nil {
return errors.Wrap(err, "cannot create bucket")

View File

@ -19,12 +19,15 @@ import (
func TestCreate(t *testing.T) {
t.Parallel()
//nolint: exhaustivestruct
db, cleanup := util.TestBolt(t, repository.Token{}.Bucket())
t.Cleanup(cleanup)
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
//nolint: exhaustivestruct
_, err := tx.CreateBucketIfNotExists(repository.Token{}.Bucket())
//nolint: wrapcheck
return err
}))
@ -38,7 +41,8 @@ func TestCreate(t *testing.T) {
require.NoError(t, db.View(func(tx *bolt.Tx) (err error) {
dto := new(repository.Token)
return dto.Bind(tx.Bucket(repository.Token{}.Bucket()).Get([]byte(accessToken.AccessToken)), result)
//nolint: wrapcheck
return dto.Bind(tx.Bucket(dto.Bucket()).Get([]byte(accessToken.AccessToken)), result)
}))
assert.Equal(t, accessToken, result)
@ -48,12 +52,14 @@ func TestCreate(t *testing.T) {
func TestGet(t *testing.T) {
t.Parallel()
//nolint: exhaustivestruct
db, cleanup := util.TestBolt(t, repository.Token{}.Bucket())
t.Cleanup(cleanup)
accessToken := domain.TestToken(t)
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
//nolint: exhaustivestruct
bkt, err := tx.CreateBucketIfNotExists(repository.Token{}.Bucket())
if err != nil {
return errors.Wrap(err, "cannot create bucket")

View File

@ -2,7 +2,6 @@ package memory
import (
"context"
"errors"
"path"
"sync"
@ -18,8 +17,6 @@ type memoryTokenRepository struct {
const DefaultPathPrefix string = "tokens"
var ErrExist error = errors.New("token already exist")
func NewMemoryTokenRepository(store *sync.Map) token.Repository {
return &memoryTokenRepository{
store: store,
@ -33,7 +30,7 @@ func (repo *memoryTokenRepository) Create(ctx context.Context, accessToken *doma
}
if t != nil {
return ErrExist
return token.ErrExist
}
repo.store.Store(path.Join(DefaultPathPrefix, accessToken.AccessToken), accessToken)

View File

@ -10,6 +10,7 @@ import (
"github.com/stretchr/testify/require"
"source.toby3d.me/website/oauth/internal/domain"
"source.toby3d.me/website/oauth/internal/token"
repository "source.toby3d.me/website/oauth/internal/token/repository/memory"
)
@ -17,27 +18,27 @@ func TestCreate(t *testing.T) {
t.Parallel()
store := new(sync.Map)
token := domain.TestToken(t)
accessToken := domain.TestToken(t)
repo := repository.NewMemoryTokenRepository(store)
require.NoError(t, repo.Create(context.TODO(), token))
require.NoError(t, repo.Create(context.TODO(), accessToken))
result, ok := store.Load(path.Join(repository.DefaultPathPrefix, token.AccessToken))
result, ok := store.Load(path.Join(repository.DefaultPathPrefix, accessToken.AccessToken))
assert.True(t, ok)
assert.Equal(t, token, result)
assert.Equal(t, accessToken, result)
assert.ErrorIs(t, repo.Create(context.TODO(), token), repository.ErrExist)
assert.ErrorIs(t, repo.Create(context.TODO(), accessToken), token.ErrExist)
}
func TestGet(t *testing.T) {
t.Parallel()
store := new(sync.Map)
token := domain.TestToken(t)
accessToken := domain.TestToken(t)
store.Store(path.Join(repository.DefaultPathPrefix, token.AccessToken), token)
store.Store(path.Join(repository.DefaultPathPrefix, accessToken.AccessToken), accessToken)
result, err := repository.NewMemoryTokenRepository(store).Get(context.TODO(), token.AccessToken)
result, err := repository.NewMemoryTokenRepository(store).Get(context.TODO(), accessToken.AccessToken)
assert.NoError(t, err)
assert.Equal(t, token, result)
assert.Equal(t, accessToken, result)
}

View File

@ -12,4 +12,4 @@ type UseCase interface {
Revoke(ctx context.Context, accessToken string) error
}
var ErrRevoke error = errors.New("this token has been revoked")
var ErrRevoke = errors.New("this token has been revoked")

View File

@ -29,7 +29,7 @@ func NewTokenUseCase(tokens token.Repository, configer config.UseCase) token.Use
func (useCase *tokenUseCase) Verify(ctx context.Context, accessToken string) (*domain.Token, error) {
find, err := useCase.tokens.Get(ctx, accessToken)
if err != nil && !xerrors.Is(err, token.ErrNotExist) {
return nil, err
return nil, errors.Wrap(err, "cannot ckeck token in store")
}
if find != nil {