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:
@ -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 {
|
||||||
|
Reference in New Issue
Block a user