@@ -66,60 +66,60 @@ var _ = Describe("Redis VectorSet commands", Label("vectorset"), func() {
6666
6767 It ("basic" , func () {
6868 SkipBeforeRedisVersion (8.0 , "Redis 8.0 introduces support for VectorSet" )
69- vecName := "basic"
69+ vecSetName := "basic"
7070 val := & redis.VectorValues {
7171 Val : []float64 {1.5 , 2.4 , 3.3 , 4.2 },
7272 }
73- ok , err := client .VAdd (ctx , vecName , "k1" , val ).Result ()
73+ ok , err := client .VAdd (ctx , vecSetName , "k1" , val ).Result ()
7474 expectNil (err )
7575 expectTrue (ok )
7676
7777 fp32 := "\x8f \xc2 \xf9 \x3e \xcb \xbe \xe9 \xbe \xb0 \x1e \xca \x3f \x5e \x06 \x9e \x3f "
7878 val2 := & redis.VectorFP32 {
7979 Val : []byte (fp32 ),
8080 }
81- ok , err = client .VAdd (ctx , vecName , "k2" , val2 ).Result ()
81+ ok , err = client .VAdd (ctx , vecSetName , "k2" , val2 ).Result ()
8282 expectNil (err )
8383 expectTrue (ok )
8484
85- dim , err := client .VDim (ctx , vecName ).Result ()
85+ dim , err := client .VDim (ctx , vecSetName ).Result ()
8686 expectNil (err )
8787 expectEqual (dim , 4 )
8888
89- count , err := client .VCard (ctx , vecName ).Result ()
89+ count , err := client .VCard (ctx , vecSetName ).Result ()
9090 expectNil (err )
9191 expectEqual (count , 2 )
9292
93- ok , err = client .VRem (ctx , vecName , "k1" ).Result ()
93+ ok , err = client .VRem (ctx , vecSetName , "k1" ).Result ()
9494 expectNil (err )
9595 expectTrue (ok )
9696
97- count , err = client .VCard (ctx , vecName ).Result ()
97+ count , err = client .VCard (ctx , vecSetName ).Result ()
9898 expectNil (err )
9999 expectEqual (count , 1 )
100100 })
101101
102102 It ("basic similarity" , func () {
103103 SkipBeforeRedisVersion (8.0 , "Redis 8.0 introduces support for VectorSet" )
104- vecName := "basic_similarity"
104+ vecSetName := "basic_similarity"
105105
106- ok , err := client .VAdd (ctx , vecName , "k1" , & redis.VectorValues {
106+ ok , err := client .VAdd (ctx , vecSetName , "k1" , & redis.VectorValues {
107107 Val : []float64 {1 , 0 , 0 , 0 },
108108 }).Result ()
109109 expectNil (err )
110110 expectTrue (ok )
111- ok , err = client .VAdd (ctx , vecName , "k2" , & redis.VectorValues {
111+ ok , err = client .VAdd (ctx , vecSetName , "k2" , & redis.VectorValues {
112112 Val : []float64 {0.99 , 0.01 , 0 , 0 },
113113 }).Result ()
114114 expectNil (err )
115115 expectTrue (ok )
116- ok , err = client .VAdd (ctx , vecName , "k3" , & redis.VectorValues {
116+ ok , err = client .VAdd (ctx , vecSetName , "k3" , & redis.VectorValues {
117117 Val : []float64 {0.1 , 1 , - 1 , 0.5 },
118118 }).Result ()
119119 expectNil (err )
120120 expectTrue (ok )
121121
122- sim , err := client .VSimWithScores (ctx , vecName , & redis.VectorValues {
122+ sim , err := client .VSimWithScores (ctx , vecSetName , & redis.VectorValues {
123123 Val : []float64 {1 , 0 , 0 , 0 },
124124 }).Result ()
125125 expectNil (err )
@@ -135,18 +135,18 @@ var _ = Describe("Redis VectorSet commands", Label("vectorset"), func() {
135135
136136 It ("dimension operation" , func () {
137137 SkipBeforeRedisVersion (8.0 , "Redis 8.0 introduces support for VectorSet" )
138- vecName := "dimension_op"
138+ vecSetName := "dimension_op"
139139 originalDim := 100
140140 reducedDim := 50
141141
142142 v1 := generateRandomVector (originalDim )
143- ok , err := client .VAddWithArgs (ctx , vecName , "k1" , & v1 , & redis.VAddArgs {
143+ ok , err := client .VAddWithArgs (ctx , vecSetName , "k1" , & v1 , & redis.VAddArgs {
144144 Reduce : int64 (reducedDim ),
145145 }).Result ()
146146 expectNil (err )
147147 expectTrue (ok )
148148
149- info , err := client .VInfo (ctx , vecName ).Result ()
149+ info , err := client .VInfo (ctx , vecSetName ).Result ()
150150 expectNil (err )
151151 dim := info ["vector-dim" ].(int64 )
152152 oriDim := info ["projection-input-dim" ].(int64 )
@@ -155,13 +155,13 @@ var _ = Describe("Redis VectorSet commands", Label("vectorset"), func() {
155155
156156 wrongDim := 80
157157 wrongV := generateRandomVector (wrongDim )
158- _ , err = client .VAddWithArgs (ctx , vecName , "kw" , & wrongV , & redis.VAddArgs {
158+ _ , err = client .VAddWithArgs (ctx , vecSetName , "kw" , & wrongV , & redis.VAddArgs {
159159 Reduce : int64 (reducedDim ),
160160 }).Result ()
161161 expectTrue (err != nil )
162162
163163 v2 := generateRandomVector (originalDim )
164- ok , err = client .VAddWithArgs (ctx , vecName , "k2" , & v2 , & redis.VAddArgs {
164+ ok , err = client .VAddWithArgs (ctx , vecSetName , "k2" , & v2 , & redis.VAddArgs {
165165 Reduce : int64 (reducedDim ),
166166 }).Result ()
167167 expectNil (err )
@@ -170,28 +170,28 @@ var _ = Describe("Redis VectorSet commands", Label("vectorset"), func() {
170170
171171 It ("remove" , func () {
172172 SkipBeforeRedisVersion (8.0 , "Redis 8.0 introduces support for VectorSet" )
173- vecName := "remove"
173+ vecSetName := "remove"
174174 v1 := generateRandomVector (5 )
175- ok , err := client .VAdd (ctx , vecName , "k1" , & v1 ).Result ()
175+ ok , err := client .VAdd (ctx , vecSetName , "k1" , & v1 ).Result ()
176176 expectNil (err )
177177 expectTrue (ok )
178178
179- exist , err := client .Exists (ctx , vecName ).Result ()
179+ exist , err := client .Exists (ctx , vecSetName ).Result ()
180180 expectNil (err )
181181 expectEqual (exist , 1 )
182182
183- ok , err = client .VRem (ctx , vecName , "k1" ).Result ()
183+ ok , err = client .VRem (ctx , vecSetName , "k1" ).Result ()
184184 expectNil (err )
185185 expectTrue (ok )
186186
187- exist , err = client .Exists (ctx , vecName ).Result ()
187+ exist , err = client .Exists (ctx , vecSetName ).Result ()
188188 expectNil (err )
189189 expectEqual (exist , 0 )
190190 })
191191
192192 It ("all operations" , func () {
193193 SkipBeforeRedisVersion (8.0 , "Redis 8.0 introduces support for VectorSet" )
194- vecName := "commands"
194+ vecSetName := "commands"
195195 vals := []struct {
196196 name string
197197 v redis.VectorValues
@@ -224,102 +224,111 @@ var _ = Describe("Redis VectorSet commands", Label("vectorset"), func() {
224224 }
225225
226226 // If the key doesn't exist, return null error
227- _ , err := client .VRandMember (ctx , vecName ).Result ()
227+ _ , err := client .VRandMember (ctx , vecSetName ).Result ()
228228 expectEqual (err .Error (), proto .Nil .Error ())
229229
230230 // If the key doesn't exist, return an empty array
231- res , err := client .VRandMemberCount (ctx , vecName , 3 ).Result ()
231+ res , err := client .VRandMemberCount (ctx , vecSetName , 3 ).Result ()
232232 expectNil (err )
233233 expectEqual (len (res ), 0 )
234234
235235 for _ , v := range vals {
236- ok , err := client .VAdd (ctx , vecName , v .name , & v .v ).Result ()
236+ ok , err := client .VAdd (ctx , vecSetName , v .name , & v .v ).Result ()
237237 expectNil (err )
238238 expectTrue (ok )
239239 if len (v .attr ) > 0 {
240- ok , err = client .VSetAttr (ctx , vecName , v .name , & v .attr ).Result ()
240+ ok , err = client .VSetAttr (ctx , vecSetName , v .name , & v .attr ).Result ()
241241 expectNil (err )
242242 expectTrue (ok )
243243 }
244244 }
245245
246246 // VGetAttr
247- attr , err := client .VGetAttr (ctx , vecName , vals [1 ].name ).Result ()
247+ attr , err := client .VGetAttr (ctx , vecSetName , vals [1 ].name ).Result ()
248248 expectNil (err )
249- expectEqual (attr , vals [1 ].attr )
249+ expectEqual (attr , vals [1 ].attr . Marshall () )
250250
251251 // VRandMember
252- _ , err = client .VRandMember (ctx , vecName ).Result ()
252+ _ , err = client .VRandMember (ctx , vecSetName ).Result ()
253253 expectNil (err )
254254
255- res , err = client .VRandMemberCount (ctx , vecName , 3 ).Result ()
255+ res , err = client .VRandMemberCount (ctx , vecSetName , 3 ).Result ()
256256 expectNil (err )
257257 expectEqual (len (res ), 3 )
258258
259- res , err = client .VRandMemberCount (ctx , vecName , 10 ).Result ()
259+ res , err = client .VRandMemberCount (ctx , vecSetName , 10 ).Result ()
260260 expectNil (err )
261261 expectEqual (len (res ), len (vals ))
262262
263263 // test equality
264- sim , err := client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
264+ sim , err := client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
265265 Filter : `.age == 25` ,
266266 }).Result ()
267267 expectNil (err )
268268 expectEqual (len (sim ), 1 )
269269 expectEqual (sim [0 ], vals [0 ].name )
270270
271271 // test greater than
272- sim , err = client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
272+ sim , err = client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
273273 Filter : `.age > 25` ,
274274 }).Result ()
275275 expectNil (err )
276276 expectEqual (len (sim ), 2 )
277277
278278 // test less than or equal
279- sim , err = client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
279+ sim , err = client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
280280 Filter : `.age <= 30` ,
281281 }).Result ()
282282 expectNil (err )
283283 expectEqual (len (sim ), 2 )
284284
285285 // test string equality
286- sim , err = client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
286+ sim , err = client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
287287 Filter : `.name == "Alice"` ,
288288 }).Result ()
289289 expectNil (err )
290290 expectEqual (len (sim ), 1 )
291291 expectEqual (sim [0 ], vals [0 ].name )
292292
293293 // test string inequality
294- sim , err = client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
294+ sim , err = client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
295295 Filter : `.name != "Alice"` ,
296296 }).Result ()
297297 expectNil (err )
298298 expectEqual (len (sim ), 2 )
299299
300300 // test bool
301- sim , err = client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
301+ sim , err = client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
302302 Filter : `.active` ,
303303 }).Result ()
304304 expectNil (err )
305305 expectEqual (len (sim ), 1 )
306306 expectEqual (sim [0 ], vals [0 ].name )
307307
308308 // test logical add
309- sim , err = client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
309+ sim , err = client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
310310 Filter : `.age > 20 and .age < 30` ,
311311 }).Result ()
312312 expectNil (err )
313313 expectEqual (len (sim ), 1 )
314314 expectEqual (sim [0 ], vals [0 ].name )
315315
316316 // test logical or
317- sim , err = client .VSimWithArgs (ctx , vecName , & vals [0 ].v , & redis.VSimArgs {
317+ sim , err = client .VSimWithArgs (ctx , vecSetName , & vals [0 ].v , & redis.VSimArgs {
318318 Filter : `.age < 30 or .age > 35` ,
319319 }).Result ()
320320 expectNil (err )
321321 expectEqual (len (sim ), 1 )
322322 expectEqual (sim [0 ], vals [0 ].name )
323+
324+ // VClearAttributes
325+ ok , err := client .VClearAttributes (ctx , vecSetName , vals [1 ].name ).Result ()
326+ expectNil (err )
327+ expectTrue (ok )
328+
329+ // VGetAttr
330+ _ , err = client .VGetAttr (ctx , vecSetName , vals [1 ].name ).Result ()
331+ expectEqual (err , proto .Nil )
323332 })
324333 })
325334 }
0 commit comments