@@ -72,21 +72,21 @@ func parseRESPCommands(t *testing.T, values []any) []any {
72
72
return updates
73
73
}
74
74
75
- func parsePollUpdatesResult (t * testing.T , slice [ ]any , isRESP bool ) * PollUpdatesResult {
76
- itemCount := 6
77
- require .Len (t , slice , itemCount )
75
+ func parsePollUpdatesResult (t * testing.T , m map [ any ]any , isRESP bool ) * PollUpdatesResult {
76
+ itemCount := 3
77
+ require .Len (t , m , itemCount )
78
78
var latestSeq , nextSeq int64
79
79
80
80
updates := make ([]any , 0 )
81
- for i := 0 ; i < itemCount ; i += 2 {
82
- key := slice [ i ] .(string )
81
+ for k , v := range m {
82
+ key := k .(string )
83
83
switch key {
84
84
case "latest_sequence" :
85
- latestSeq = slice [ i + 1 ] .(int64 )
85
+ latestSeq = v .(int64 )
86
86
case "next_sequence" :
87
- nextSeq = slice [ i + 1 ] .(int64 )
87
+ nextSeq = v .(int64 )
88
88
case "updates" :
89
- fields := slice [ i + 1 ] .([]interface {})
89
+ fields := v .([]interface {})
90
90
if isRESP {
91
91
updates = parseRESPCommands (t , fields )
92
92
} else {
@@ -127,17 +127,18 @@ func TestPollUpdates_Basic(t *testing.T) {
127
127
}
128
128
129
129
updates := make ([]any , 0 )
130
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , 0 , "MAX" , 6 ).Slice ()
130
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , 0 , "MAX" , 6 ).Result ()
131
131
require .NoError (t , err )
132
- pollUpdates := parsePollUpdatesResult (t , slice , false )
132
+ pollUpdates := parsePollUpdatesResult (t , result .( map [ interface {}] interface {}) , false )
133
133
require .EqualValues (t , 10 , pollUpdates .LatestSeq )
134
134
require .EqualValues (t , 6 , pollUpdates .NextSeq )
135
135
require .Len (t , pollUpdates .Updates , 6 )
136
136
updates = append (updates , pollUpdates .Updates ... )
137
137
138
- slice , err = rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 6 ).Slice ()
138
+ result , err = rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 6 ).Result ()
139
139
require .NoError (t , err )
140
- pollUpdates = parsePollUpdatesResult (t , slice , false )
140
+
141
+ pollUpdates = parsePollUpdatesResult (t , result .(map [interface {}]interface {}), false )
141
142
require .EqualValues (t , 10 , pollUpdates .LatestSeq )
142
143
require .EqualValues (t , 10 , pollUpdates .NextSeq )
143
144
require .Len (t , pollUpdates .Updates , 4 )
@@ -179,10 +180,10 @@ func TestPollUpdates_WithRESPFormat(t *testing.T) {
179
180
require .NoError (t , rdb0 .Set (ctx , "k0" , "v0" , 0 ).Err ())
180
181
require .NoError (t , rdb0 .Set (ctx , "k1" , "v1" , 0 ).Err ())
181
182
require .NoError (t , rdb0 .Del (ctx , "k1" ).Err ())
182
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , 0 , "MAX" , 10 , "FORMAT" , "RESP" ).Slice ()
183
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , 0 , "MAX" , 10 , "FORMAT" , "RESP" ).Result ()
183
184
require .NoError (t , err )
184
185
185
- pollUpdates = parsePollUpdatesResult (t , slice , true )
186
+ pollUpdates = parsePollUpdatesResult (t , result .( map [ any ] any ) , true )
186
187
require .EqualValues (t , 3 , pollUpdates .LatestSeq )
187
188
require .EqualValues (t , 3 , pollUpdates .NextSeq )
188
189
require .Len (t , pollUpdates .Updates , 1 )
@@ -199,10 +200,10 @@ func TestPollUpdates_WithRESPFormat(t *testing.T) {
199
200
t .Run ("Hash type" , func (t * testing.T ) {
200
201
require .NoError (t , rdb0 .HSet (ctx , "h0" , "f0" , "v0" , "f1" , "v1" ).Err ())
201
202
require .NoError (t , rdb0 .HDel (ctx , "h0" , "f1" ).Err ())
202
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Slice ()
203
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Result ()
203
204
require .NoError (t , err )
204
205
205
- pollUpdates = parsePollUpdatesResult (t , slice , true )
206
+ pollUpdates = parsePollUpdatesResult (t , result .( map [ any ] any ) , true )
206
207
require .Len (t , pollUpdates .Updates , 1 )
207
208
require .EqualValues (t , []any {RESPFormat {
208
209
Namespace : "default" ,
@@ -217,10 +218,10 @@ func TestPollUpdates_WithRESPFormat(t *testing.T) {
217
218
t .Run ("List type" , func (t * testing.T ) {
218
219
require .NoError (t , rdb0 .LPush (ctx , "l0" , "v0" , "v1" ).Err ())
219
220
require .NoError (t , rdb0 .LSet (ctx , "l0" , 1 , "v2" ).Err ())
220
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Slice ()
221
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Result ()
221
222
require .NoError (t , err )
222
223
223
- pollUpdates = parsePollUpdatesResult (t , slice , true )
224
+ pollUpdates = parsePollUpdatesResult (t , result .( map [ any ] any ) , true )
224
225
require .Len (t , pollUpdates .Updates , 1 )
225
226
require .EqualValues (t , []any {RESPFormat {
226
227
Namespace : "default" ,
@@ -235,10 +236,10 @@ func TestPollUpdates_WithRESPFormat(t *testing.T) {
235
236
t .Run ("Set type" , func (t * testing.T ) {
236
237
require .NoError (t , rdb0 .SAdd (ctx , "s0" , "v0" , "v1" ).Err ())
237
238
require .NoError (t , rdb0 .SRem (ctx , "s0" , "v1" ).Err ())
238
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Slice ()
239
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Result ()
239
240
require .NoError (t , err )
240
241
241
- pollUpdates = parsePollUpdatesResult (t , slice , true )
242
+ pollUpdates = parsePollUpdatesResult (t , result .( map [ any ] any ) , true )
242
243
require .Len (t , pollUpdates .Updates , 1 )
243
244
require .EqualValues (t , []any {RESPFormat {
244
245
Namespace : "default" ,
@@ -254,10 +255,10 @@ func TestPollUpdates_WithRESPFormat(t *testing.T) {
254
255
require .NoError (t , rdb0 .ZAdd (ctx , "z0" , redis.Z {Member : "v0" , Score : 1.2 }).Err ())
255
256
require .NoError (t , rdb0 .ZAdd (ctx , "z0" , redis.Z {Member : "v1" , Score : 1.2 }).Err ())
256
257
require .NoError (t , rdb0 .ZRem (ctx , "z0" , "v1" ).Err ())
257
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Slice ()
258
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Result ()
258
259
require .NoError (t , err )
259
260
260
- pollUpdates = parsePollUpdatesResult (t , slice , true )
261
+ pollUpdates = parsePollUpdatesResult (t , result .( map [ any ] any ) , true )
261
262
require .Len (t , pollUpdates .Updates , 1 )
262
263
require .EqualValues (t , []any {RESPFormat {
263
264
Namespace : "default" ,
@@ -276,10 +277,10 @@ func TestPollUpdates_WithRESPFormat(t *testing.T) {
276
277
}).Result ()
277
278
require .NoError (t , err )
278
279
require .NoError (t , rdb0 .XDel (ctx , "stream" , id ).Err ())
279
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Slice ()
280
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Result ()
280
281
require .NoError (t , err )
281
282
282
- pollUpdates = parsePollUpdatesResult (t , slice , true )
283
+ pollUpdates = parsePollUpdatesResult (t , result .( map [ any ] any ) , true )
283
284
require .Len (t , pollUpdates .Updates , 1 )
284
285
require .EqualValues (t , []any {RESPFormat {
285
286
Commands : [][]string {
@@ -292,10 +293,10 @@ func TestPollUpdates_WithRESPFormat(t *testing.T) {
292
293
t .Run ("JSON type" , func (t * testing.T ) {
293
294
require .NoError (t , rdb0 .JSONSet (ctx , "json" , "$" , `{"field": "value"}` ).Err ())
294
295
require .NoError (t , rdb0 .JSONDel (ctx , "json" , "$.field" ).Err ())
295
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Slice ()
296
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , pollUpdates .NextSeq , "MAX" , 10 , "FORMAT" , "RESP" ).Result ()
296
297
require .NoError (t , err )
297
298
298
- pollUpdates = parsePollUpdatesResult (t , slice , true )
299
+ pollUpdates = parsePollUpdatesResult (t , result .( map [ any ] any ) , true )
299
300
require .Len (t , pollUpdates .Updates , 1 )
300
301
require .EqualValues (t , []any {RESPFormat {
301
302
Namespace : "default" ,
@@ -332,9 +333,9 @@ func TestPollUpdates_WithStrict(t *testing.T) {
332
333
// Works well if the sequence number is mismatched but not in strict mode
333
334
require .NoError (t , rdb0 .Do (ctx , "POLLUPDATES" , 1 , "MAX" , 1 ).Err ())
334
335
335
- slice , err := rdb0 .Do (ctx , "POLLUPDATES" , 0 , "MAX" , 10 , "STRICT" ).Slice ()
336
+ result , err := rdb0 .Do (ctx , "POLLUPDATES" , 0 , "MAX" , 10 , "STRICT" ).Result ()
336
337
require .NoError (t , err )
337
- pollUpdates := parsePollUpdatesResult (t , slice , false )
338
+ pollUpdates := parsePollUpdatesResult (t , result .( map [ any ] any ) , false )
338
339
require .EqualValues (t , 3 , pollUpdates .LatestSeq )
339
340
require .EqualValues (t , 3 , pollUpdates .NextSeq )
340
341
require .Len (t , pollUpdates .Updates , 2 )
0 commit comments