@@ -10,6 +10,30 @@ import (
1010 "github.com/redis/go-redis/v9"
1111)
1212
13+ var _ = Describe ("Sentinel PROTO 2" , func () {
14+ var client * redis.Client
15+
16+ BeforeEach (func () {
17+ client = redis .NewFailoverClient (& redis.FailoverOptions {
18+ MasterName : sentinelName ,
19+ SentinelAddrs : sentinelAddrs ,
20+ MaxRetries : - 1 ,
21+ Protocol : 2 ,
22+ })
23+ Expect (client .FlushDB (ctx ).Err ()).NotTo (HaveOccurred ())
24+ })
25+
26+ AfterEach (func () {
27+ _ = client .Close ()
28+ })
29+
30+ It ("should sentinel client PROTO 2" , func () {
31+ val , err := client .Do (ctx , "HELLO" ).Result ()
32+ Expect (err ).NotTo (HaveOccurred ())
33+ Expect (val ).Should (ContainElements ("proto" , int64 (2 )))
34+ })
35+ })
36+
1337var _ = Describe ("Sentinel" , func () {
1438 var client * redis.Client
1539 var master * redis.Client
@@ -134,6 +158,40 @@ var _ = Describe("Sentinel", func() {
134158 Expect (err ).NotTo (HaveOccurred ())
135159 Expect (val ).Should (ContainSubstring ("name=sentinel_hi" ))
136160 })
161+
162+ It ("should sentinel client PROTO 3" , func () {
163+ val , err := client .Do (ctx , "HELLO" ).Result ()
164+ Expect (err ).NotTo (HaveOccurred ())
165+ Expect (val ).Should (HaveKeyWithValue ("proto" , int64 (3 )))
166+ })
167+ })
168+
169+ var _ = Describe ("NewFailoverClusterClient PROTO 2" , func () {
170+ var client * redis.ClusterClient
171+
172+ BeforeEach (func () {
173+ client = redis .NewFailoverClusterClient (& redis.FailoverOptions {
174+ MasterName : sentinelName ,
175+ SentinelAddrs : sentinelAddrs ,
176+ Protocol : 2 ,
177+
178+ RouteRandomly : true ,
179+ })
180+ Expect (client .FlushDB (ctx ).Err ()).NotTo (HaveOccurred ())
181+ })
182+
183+ AfterEach (func () {
184+ _ = client .Close ()
185+ })
186+
187+ It ("should sentinel cluster PROTO 2" , func () {
188+ _ = client .ForEachShard (ctx , func (ctx context.Context , c * redis.Client ) error {
189+ val , err := client .Do (ctx , "HELLO" ).Result ()
190+ Expect (err ).NotTo (HaveOccurred ())
191+ Expect (val ).Should (ContainElements ("proto" , int64 (2 )))
192+ return nil
193+ })
194+ })
137195})
138196
139197var _ = Describe ("NewFailoverClusterClient" , func () {
@@ -237,6 +295,15 @@ var _ = Describe("NewFailoverClusterClient", func() {
237295 return nil
238296 })
239297 })
298+
299+ It ("should sentinel cluster PROTO 3" , func () {
300+ _ = client .ForEachShard (ctx , func (ctx context.Context , c * redis.Client ) error {
301+ val , err := client .Do (ctx , "HELLO" ).Result ()
302+ Expect (err ).NotTo (HaveOccurred ())
303+ Expect (val ).Should (HaveKeyWithValue ("proto" , int64 (3 )))
304+ return nil
305+ })
306+ })
240307})
241308
242309var _ = Describe ("SentinelAclAuth" , func () {
0 commit comments