Files
weichen d8c445bfd5 feat(auth): persist sessions and accounts via PostgresAuthStore
Add PgStore with hashed token sessions, IAM bootstrap, and store factory wiring; remove in-memory token map and allow_dev_switch from login payload.
2026-09-13 02:50:22 +00:00

30 lines
734 B
Go

package auth_test
import (
"context"
"testing"
"chat-agent-system/internal/auth"
)
func TestHashTokenAndMemorySessionStore(t *testing.T) {
store := auth.NewMemorySessionStore()
ctx := context.Background()
token := "sample-token-abc"
hash := auth.HashToken(token)
if err := store.CreateSession(ctx, 42, hash, auth.SessionMeta{}); err != nil {
t.Fatalf("CreateSession: %v", err)
}
userID, err := store.ResolveUserID(ctx, hash)
if err != nil || userID != 42 {
t.Fatalf("ResolveUserID got (%d, %v)", userID, err)
}
if err := store.RevokeByTokenHash(ctx, hash); err != nil {
t.Fatalf("Revoke: %v", err)
}
if _, err := store.ResolveUserID(ctx, hash); err == nil {
t.Fatal("expected revoked session to fail")
}
}