Skip to content

Commit d334849

Browse files
committed
[fix] SynDump and SynUpdate tests working as expected on v1.4 and v1.6
1 parent eb0a92d commit d334849

File tree

1 file changed

+29
-9
lines changed

1 file changed

+29
-9
lines changed

redisearch/client_test.go

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -516,20 +516,31 @@ func TestClient_SynAdd(t *testing.T) {
516516

517517
func TestClient_SynDump(t *testing.T) {
518518
c := createClient("testsyndump")
519-
519+
version, err := c.GetRediSearchVersion()
520+
assert.Nil(t, err)
520521
sc := NewSchema(DefaultOptions).
521522
AddField(NewTextField("name")).
522523
AddField(NewTextField("addr"))
523524
c.Drop()
524-
err := c.CreateIndex(sc)
525-
assert.Nil(t, err)
526-
ret, err := c.SynUpdate("testsyndump", 1, []string{"girl", "baby"})
527-
assert.Nil(t, err)
528-
assert.Equal(t, "OK", ret)
525+
err = c.CreateIndex(sc)
526+
var gId1 int64 = 1
527+
var gId2 int64 = 2
529528

530-
_, err = c.SynUpdate("testsyndump", 2, []string{"child"})
531529
assert.Nil(t, err)
532-
assert.Equal(t, "OK", ret)
530+
// For RediSearch < v2.0 we need to use SYNADD. For Redisearch >= v2.0 we need to use SYNUPDATE
531+
if version <= 10699 {
532+
gId1, err = c.SynAdd("testsyndump", []string{"girl", "baby"})
533+
assert.Nil(t, err)
534+
gId2, err = c.SynAdd("testsyndump", []string{"child"})
535+
assert.Nil(t, err)
536+
} else {
537+
ret, err := c.SynUpdate("testsyndump", gId1, []string{"girl", "baby"})
538+
assert.Nil(t, err)
539+
assert.Equal(t, "OK", ret)
540+
_, err = c.SynUpdate("testsyndump", gId2, []string{"child"})
541+
assert.Nil(t, err)
542+
assert.Equal(t, "OK", ret)
543+
}
533544

534545
m, err := c.SynDump("testsyndump")
535546
assert.Contains(t, m, "baby")
@@ -642,6 +653,8 @@ func TestClient_SynUpdate(t *testing.T) {
642653
sc := NewSchema(DefaultOptions).
643654
AddField(NewTextField("name")).
644655
AddField(NewTextField("addr"))
656+
version, err := c.GetRediSearchVersion()
657+
assert.Nil(t, err)
645658

646659
type args struct {
647660
indexName string
@@ -663,8 +676,15 @@ func TestClient_SynUpdate(t *testing.T) {
663676
c.Drop()
664677
err := c.CreateIndex(sc)
665678
assert.Nil(t, err)
679+
gId := tt.args.synonymGroupId
680+
681+
// For older version of RediSearch we first need to use SYNADD then SYNUPDATE
682+
if version <= 10699 {
683+
gId, err = c.SynAdd(tt.args.indexName, []string{"workaround"})
684+
assert.Nil(t, err)
685+
}
666686

667-
got, err := c.SynUpdate(tt.args.indexName, tt.args.synonymGroupId, tt.args.terms)
687+
got, err := c.SynUpdate(tt.args.indexName, gId, tt.args.terms)
668688
if (err != nil) != tt.wantErr {
669689
t.Errorf("SynUpdate() error = %v, wantErr %v", err, tt.wantErr)
670690
return

0 commit comments

Comments
 (0)