@@ -839,14 +839,15 @@ var _ = Describe("Credentials Provider Priority", func() {
839
839
Expect (recorder .Contains ("AUTH" )).To (BeFalse ())
840
840
})
841
841
842
- It ("should handle credential updates from streaming provider" , func () {
842
+ FIt ("should handle credential updates from streaming provider" , func () {
843
843
initialCreds := auth .NewBasicCredentials ("initial_user" , "initial_pass" )
844
844
updatedCreds := auth .NewBasicCredentials ("updated_user" , "updated_pass" )
845
+ updatesChan := make (chan auth.Credentials , 1 )
845
846
846
847
opt = & redis.Options {
847
848
StreamingCredentialsProvider : & mockStreamingProvider {
848
849
credentials : initialCreds ,
849
- updates : make ( chan auth. Credentials , 1 ) ,
850
+ updates : updatesChan ,
850
851
},
851
852
}
852
853
@@ -861,6 +862,7 @@ var _ = Describe("Credentials Provider Priority", func() {
861
862
// wrongpass
862
863
Expect (client .Ping (context .Background ()).Err ()).To (HaveOccurred ())
863
864
Expect (recorder .Contains ("AUTH updated_user" )).To (BeTrue ())
865
+ close (updatesChan )
864
866
})
865
867
})
866
868
@@ -875,12 +877,10 @@ func (m *mockStreamingProvider) Subscribe(listener auth.CredentialsListener) (au
875
877
return nil , nil , m .err
876
878
}
877
879
878
- // Send initial credentials
879
- listener .OnNext (m .credentials )
880
-
881
880
// Start goroutine to handle updates
882
881
go func () {
883
882
for creds := range m .updates {
883
+ m .credentials = creds
884
884
listener .OnNext (creds )
885
885
}
886
886
}()
@@ -892,7 +892,6 @@ func (m *mockStreamingProvider) Subscribe(listener auth.CredentialsListener) (au
892
892
// allow multiple closes from multiple listeners
893
893
}
894
894
}()
895
- close (m .updates )
896
895
return
897
896
}, nil
898
897
}
0 commit comments