Skip to content

Commit 0c8cafb

Browse files
committed
add test
Signed-off-by: fukua95 <[email protected]>
1 parent 1b51526 commit 0c8cafb

File tree

1 file changed

+49
-40
lines changed

1 file changed

+49
-40
lines changed

vectorset_commands_test.go

Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)