🚨 Removed linter warnings in token package
This commit is contained in:
parent
35b4ae9e23
commit
88d78f243b
|
@ -13,6 +13,6 @@ type Repository interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
ErrExist error = errors.New("token already exist")
|
ErrExist = errors.New("token already exist")
|
||||||
ErrNotExist error = errors.New("token not exist")
|
ErrNotExist = errors.New("token not exist")
|
||||||
)
|
)
|
||||||
|
|
|
@ -46,6 +46,7 @@ func (repo *boltTokenRepository) Create(ctx context.Context, accessToken *domain
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = repo.db.Update(func(tx *bolt.Tx) error {
|
if err = repo.db.Update(func(tx *bolt.Tx) error {
|
||||||
|
//nolint: exhaustivestruct
|
||||||
bkt, err := tx.CreateBucketIfNotExists(Token{}.Bucket())
|
bkt, err := tx.CreateBucketIfNotExists(Token{}.Bucket())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "cannot create bucket")
|
return errors.Wrap(err, "cannot create bucket")
|
||||||
|
|
|
@ -19,12 +19,15 @@ import (
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
|
//nolint: exhaustivestruct
|
||||||
db, cleanup := util.TestBolt(t, repository.Token{}.Bucket())
|
db, cleanup := util.TestBolt(t, repository.Token{}.Bucket())
|
||||||
t.Cleanup(cleanup)
|
t.Cleanup(cleanup)
|
||||||
|
|
||||||
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
|
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
|
||||||
|
//nolint: exhaustivestruct
|
||||||
_, err := tx.CreateBucketIfNotExists(repository.Token{}.Bucket())
|
_, err := tx.CreateBucketIfNotExists(repository.Token{}.Bucket())
|
||||||
|
|
||||||
|
//nolint: wrapcheck
|
||||||
return err
|
return err
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
@ -38,7 +41,8 @@ func TestCreate(t *testing.T) {
|
||||||
require.NoError(t, db.View(func(tx *bolt.Tx) (err error) {
|
require.NoError(t, db.View(func(tx *bolt.Tx) (err error) {
|
||||||
dto := new(repository.Token)
|
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)
|
assert.Equal(t, accessToken, result)
|
||||||
|
|
||||||
|
@ -48,12 +52,14 @@ func TestCreate(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
|
//nolint: exhaustivestruct
|
||||||
db, cleanup := util.TestBolt(t, repository.Token{}.Bucket())
|
db, cleanup := util.TestBolt(t, repository.Token{}.Bucket())
|
||||||
t.Cleanup(cleanup)
|
t.Cleanup(cleanup)
|
||||||
|
|
||||||
accessToken := domain.TestToken(t)
|
accessToken := domain.TestToken(t)
|
||||||
|
|
||||||
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
|
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
|
||||||
|
//nolint: exhaustivestruct
|
||||||
bkt, err := tx.CreateBucketIfNotExists(repository.Token{}.Bucket())
|
bkt, err := tx.CreateBucketIfNotExists(repository.Token{}.Bucket())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "cannot create bucket")
|
return errors.Wrap(err, "cannot create bucket")
|
||||||
|
|
|
@ -2,7 +2,6 @@ package memory
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
|
||||||
"path"
|
"path"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
@ -18,8 +17,6 @@ type memoryTokenRepository struct {
|
||||||
|
|
||||||
const DefaultPathPrefix string = "tokens"
|
const DefaultPathPrefix string = "tokens"
|
||||||
|
|
||||||
var ErrExist error = errors.New("token already exist")
|
|
||||||
|
|
||||||
func NewMemoryTokenRepository(store *sync.Map) token.Repository {
|
func NewMemoryTokenRepository(store *sync.Map) token.Repository {
|
||||||
return &memoryTokenRepository{
|
return &memoryTokenRepository{
|
||||||
store: store,
|
store: store,
|
||||||
|
@ -33,7 +30,7 @@ func (repo *memoryTokenRepository) Create(ctx context.Context, accessToken *doma
|
||||||
}
|
}
|
||||||
|
|
||||||
if t != nil {
|
if t != nil {
|
||||||
return ErrExist
|
return token.ErrExist
|
||||||
}
|
}
|
||||||
|
|
||||||
repo.store.Store(path.Join(DefaultPathPrefix, accessToken.AccessToken), accessToken)
|
repo.store.Store(path.Join(DefaultPathPrefix, accessToken.AccessToken), accessToken)
|
||||||
|
|
|
@ -10,6 +10,7 @@ import (
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"source.toby3d.me/website/oauth/internal/domain"
|
"source.toby3d.me/website/oauth/internal/domain"
|
||||||
|
"source.toby3d.me/website/oauth/internal/token"
|
||||||
repository "source.toby3d.me/website/oauth/internal/token/repository/memory"
|
repository "source.toby3d.me/website/oauth/internal/token/repository/memory"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -17,27 +18,27 @@ func TestCreate(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
store := new(sync.Map)
|
store := new(sync.Map)
|
||||||
token := domain.TestToken(t)
|
accessToken := domain.TestToken(t)
|
||||||
|
|
||||||
repo := repository.NewMemoryTokenRepository(store)
|
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.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) {
|
func TestGet(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
store := new(sync.Map)
|
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.NoError(t, err)
|
||||||
assert.Equal(t, token, result)
|
assert.Equal(t, accessToken, result)
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,4 +12,4 @@ type UseCase interface {
|
||||||
Revoke(ctx context.Context, accessToken string) error
|
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")
|
||||||
|
|
|
@ -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) {
|
func (useCase *tokenUseCase) Verify(ctx context.Context, accessToken string) (*domain.Token, error) {
|
||||||
find, err := useCase.tokens.Get(ctx, accessToken)
|
find, err := useCase.tokens.Get(ctx, accessToken)
|
||||||
if err != nil && !xerrors.Is(err, token.ErrNotExist) {
|
if err != nil && !xerrors.Is(err, token.ErrNotExist) {
|
||||||
return nil, err
|
return nil, errors.Wrap(err, "cannot ckeck token in store")
|
||||||
}
|
}
|
||||||
|
|
||||||
if find != nil {
|
if find != nil {
|
||||||
|
|
Loading…
Reference in New Issue