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) }