auth/internal/token/repository/memory/memory_token_test.go

44 lines
1.0 KiB
Go
Raw Normal View History

2021-09-22 21:32:40 +00:00
package memory_test
import (
"context"
"path"
2021-09-22 21:32:40 +00:00
"sync"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"source.toby3d.me/website/oauth/internal/domain"
repository "source.toby3d.me/website/oauth/internal/token/repository/memory"
2021-09-22 21:32:40 +00:00
)
func TestCreate(t *testing.T) {
t.Parallel()
store := new(sync.Map)
token := domain.TestToken(t)
repo := repository.NewMemoryTokenRepository(store)
require.NoError(t, repo.Create(context.TODO(), token))
2021-09-22 21:32:40 +00:00
result, ok := store.Load(path.Join(repository.DefaultPathPrefix, token.AccessToken))
2021-09-22 21:32:40 +00:00
assert.True(t, ok)
assert.Equal(t, token, result)
2021-09-22 21:32:40 +00:00
assert.ErrorIs(t, repo.Create(context.TODO(), token), repository.ErrExist)
2021-09-22 21:32:40 +00:00
}
func TestGet(t *testing.T) {
2021-09-22 21:32:40 +00:00
t.Parallel()
store := new(sync.Map)
token := domain.TestToken(t)
2021-09-22 21:32:40 +00:00
store.Store(path.Join(repository.DefaultPathPrefix, token.AccessToken), token)
2021-09-22 21:32:40 +00:00
result, err := repository.NewMemoryTokenRepository(store).Get(context.TODO(), token.AccessToken)
assert.NoError(t, err)
assert.Equal(t, token, result)
2021-09-22 21:32:40 +00:00
}