Something went wrong. Try again.
A container registry that uses the AT Protocol for manifest storage and S3 for blob storage.
Something went wrong. Try again.
1.5 kB · 59 lines
Go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960package auth
import ( "testing")
func TestNewSessionValidator(t *testing.T) { validator := NewSessionValidator() if validator == nil { t.Fatal("Expected non-nil validator") }
if validator.httpClient == nil { t.Error("Expected httpClient to be initialized") }
if validator.cache == nil { t.Error("Expected cache to be initialized") }}
func TestGetCacheKey(t *testing.T) { // Cache key should be deterministic key1 := getCacheKey("alice.bsky.social", "password123") key2 := getCacheKey("alice.bsky.social", "password123")
if key1 != key2 { t.Error("Expected same cache key for same credentials") }
// Different credentials should produce different keys key3 := getCacheKey("bob.bsky.social", "password123") if key1 == key3 { t.Error("Expected different cache keys for different users") }
key4 := getCacheKey("alice.bsky.social", "different_password") if key1 == key4 { t.Error("Expected different cache keys for different passwords") }
// Cache key should be hex-encoded SHA256 (64 characters) if len(key1) != 64 { t.Errorf("Expected cache key length 64, got %d", len(key1)) }}
func TestSessionValidator_GetCachedSession_Miss(t *testing.T) { validator := NewSessionValidator() cacheKey := "nonexistent_key"
session, ok := validator.getCachedSession(cacheKey) if ok { t.Error("Expected cache miss for nonexistent key") } if session != nil { t.Error("Expected nil session for cache miss") }}