Files
gochat/backend/internal/auth/refresh_store_test.go
T

28 lines
885 B
Go

package auth
import (
"context"
"testing"
"github.com/gochat/gochat/internal/config"
"github.com/stretchr/testify/require"
)
func TestRefreshTokenStoreScopesTokensByClient(t *testing.T) {
store := NewRefreshTokenStore(nil, &config.JWTConfig{RefreshExpiryHours: 24})
ctx := context.Background()
require.NoError(t, store.StoreForClient(ctx, 7, "chrome", "chrome-token"))
require.NoError(t, store.StoreForClient(ctx, 7, "firefox", "firefox-token"))
valid, err := store.ValidateForClient(ctx, 7, "chrome", "chrome-token")
require.NoError(t, err)
require.True(t, valid)
require.NoError(t, store.RevokeClient(ctx, 7, "chrome"))
valid, err = store.ValidateForClient(ctx, 7, "chrome", "chrome-token")
require.NoError(t, err)
require.False(t, valid)
valid, err = store.ValidateForClient(ctx, 7, "firefox", "firefox-token")
require.NoError(t, err)
require.True(t, valid)
}