1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-29 17:41:15 +03:00

fix race in tests

This commit is contained in:
Nedyalko Dyakov
2025-04-22 15:47:15 +03:00
parent 44628c5dbd
commit 4ab4980247

View File

@ -2,6 +2,7 @@ package auth
import ( import (
"errors" "errors"
"sync"
"testing" "testing"
"time" "time"
) )
@ -47,10 +48,13 @@ func TestStreamingCredentialsProvider(t *testing.T) {
var receivedCreds []Credentials var receivedCreds []Credentials
var receivedErrors []error var receivedErrors []error
var mu sync.Mutex
listener := NewReAuthCredentialsListener( listener := NewReAuthCredentialsListener(
func(creds Credentials) error { func(creds Credentials) error {
mu.Lock()
receivedCreds = append(receivedCreds, creds) receivedCreds = append(receivedCreds, creds)
mu.Unlock()
return nil return nil
}, },
func(err error) { func(err error) {
@ -84,12 +88,14 @@ func TestStreamingCredentialsProvider(t *testing.T) {
// Wait for update to be processed // Wait for update to be processed
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond)
mu.Lock()
if len(receivedCreds) != 2 { if len(receivedCreds) != 2 {
t.Fatalf("expected 2 received credentials, got %d", len(receivedCreds)) t.Fatalf("expected 2 received credentials, got %d", len(receivedCreds))
} }
if receivedCreds[1] != newCreds { if receivedCreds[1] != newCreds {
t.Fatalf("expected received credential %v, got %v", newCreds, receivedCreds[1]) t.Fatalf("expected received credential %v, got %v", newCreds, receivedCreds[1])
} }
mu.Unlock()
// Cancel subscription // Cancel subscription
if err := cancel(); err != nil { if err := cancel(); err != nil {