package auth import ( "context" "sync/atomic" "testing" ) type countingStore struct { saveCount atomic.Int32 } func (s *countingStore) List(context.Context) ([]*Auth, error) { return nil, nil } func (s *countingStore) Save(context.Context, *Auth) (string, error) { s.saveCount.Add(1) return "", nil } func (s *countingStore) Delete(context.Context, string) error { return nil } func TestWithSkipPersist_DisablesUpdatePersistence(t *testing.T) { store := &countingStore{} mgr := NewManager(store, nil, nil) auth := &Auth{ ID: "auth-1", Provider: "antigravity", Metadata: map[string]any{"type": "antigravity"}, } if _, err := mgr.Update(context.Background(), auth); err != nil { t.Fatalf("Update returned error: %v", err) } if got := store.saveCount.Load(); got != 1 { t.Fatalf("expected 1 Save call, got %d", got) } ctxSkip := WithSkipPersist(context.Background()) if _, err := mgr.Update(ctxSkip, auth); err != nil { t.Fatalf("Update(skipPersist) returned error: %v", err) } if got := store.saveCount.Load(); got != 1 { t.Fatalf("expected Save call count to remain 1, got %d", got) } } func TestWithSkipPersist_DisablesRegisterPersistence(t *testing.T) { store := &countingStore{} mgr := NewManager(store, nil, nil) auth := &Auth{ ID: "auth-1", Provider: "antigravity", Metadata: map[string]any{"type": "antigravity"}, } if _, err := mgr.Register(WithSkipPersist(context.Background()), auth); err != nil { t.Fatalf("Register(skipPersist) returned error: %v", err) } if got := store.saveCount.Load(); got != 0 { t.Fatalf("expected 0 Save calls, got %d", got) } }