From f940d6d64393aefdcf914ba97d786ee4327c7302 Mon Sep 17 00:00:00 2001 From: atakavci Date: Fri, 7 Jun 2024 08:59:17 +0300 Subject: [PATCH 1/3] test dialect 5 --- tests/NRedisStack.Tests/Search/SearchTests.cs | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/tests/NRedisStack.Tests/Search/SearchTests.cs b/tests/NRedisStack.Tests/Search/SearchTests.cs index a269b331..55b5662c 100644 --- a/tests/NRedisStack.Tests/Search/SearchTests.cs +++ b/tests/NRedisStack.Tests/Search/SearchTests.cs @@ -3049,4 +3049,141 @@ public void Issue230() Assert.Equal("FT.AGGREGATE", buildCommand.Command); Assert.Equal(new object[] { "idx:users", "*", "FILTER", "@StatusId==1", "GROUPBY", 1, "@CreatedDay", "REDUCE", "COUNT_DISTINCT", 1, "@UserId", "REDUCE", "COUNT", 0, "AS", "count", "DIALECT", 3 }, buildCommand.Args); } + + [SkipIfRedis(Comparison.LessThan, "7.4.0")] + public void TestTagInDialect5() + { + IDatabase db = redisFixture.Redis.GetDatabase(); + db.Execute("FLUSHALL"); + var ft = db.FT(); + + Schema sc = new Schema() + .AddTextField("title", 1.0) + .AddTagField("category"); + + Assert.True(ft.Create(index, FTCreateParams.CreateParams(), sc)); + Dictionary fields4 = new Dictionary + { + { "title", "hello world" }, + { "category", "orange;purple-" } + }; + AddDocument(db, "qux", fields4); + + Assert.Equal(1, ft.Search(index, new Query("@category:{orange\\;purple\\-}")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-}").Dialect(5)).TotalResults); + } + + [SkipIfRedis(Comparison.LessThan, "7.4.0")] + public void TestLogicalOperatorsInDialect5() + { + IDatabase db = redisFixture.Redis.GetDatabase(); + db.Execute("FLUSHALL"); + var ft = db.FT(); + + Schema sc = new Schema() + .AddTextField("title", 1.0) + .AddTagField("category") + .AddTagField("author"); + + Assert.True(ft.Create(index, FTCreateParams.CreateParams(), sc)); + Dictionary fields4 = new Dictionary + { + { "title", "hello world" }, + { "category", "orange;purple-" }, + {"author", "Newman~"} + + }; + AddDocument(db, "qux", fields4); + Assert.Equal(1, ft.Search(index, new Query("@category:{orange\\;purple\\- | blue\\;purple\\-}")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-} | @category:{blue;purple-}").Dialect(5)).TotalResults); + + Assert.Equal(1, ft.Search(index, new Query("@category:{orange\\;purple\\-} @author:{Newman\\~}")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-} @author:{Newman~}").Dialect(5)).TotalResults); + } + + [SkipIfRedis(Comparison.LessThan, "7.4.0")] + public void TestNumericInDialect5() + { + IDatabase db = redisFixture.Redis.GetDatabase(); + db.Execute("FLUSHALL"); + var ft = db.FT(); + + Schema sc = new Schema() + .AddTextField("title", 1.0) + .AddNumericField("version"); + + Assert.True(ft.Create(index, FTCreateParams.CreateParams(), sc)); + Dictionary fields4 = new Dictionary + { + { "title", "hello world" }, + { "version", 123 } + }; + AddDocument(db, "qux", fields4); + + Assert.Equal(1, ft.Search(index, new Query("@version:[123 123]")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version:[123]").Dialect(5)).TotalResults); + } + + [SkipIfRedis(Comparison.LessThan, "7.4.0")] + public void TestNumericOperatorsInDialect5() + { + IDatabase db = redisFixture.Redis.GetDatabase(); + db.Execute("FLUSHALL"); + var ft = db.FT(); + + Schema sc = new Schema() + .AddTextField("title", 1.0) + .AddNumericField("version"); + + Assert.True(ft.Create(index, FTCreateParams.CreateParams(), sc)); + Dictionary fields4 = new Dictionary + { + { "title", "hello world" }, + { "version", 123 } + }; + AddDocument(db, "qux", fields4); + + Assert.Equal(1, ft.Search(index, new Query("@version:[123 123]")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version==123").Dialect(5)).TotalResults); + + Assert.Equal(1, ft.Search(index, new Query("@version:[122 +inf]")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version>=122").Dialect(5)).TotalResults); + + Assert.Equal(1, ft.Search(index, new Query("@version:[-inf 124]")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version<=124").Dialect(5)).TotalResults); + + } + + [SkipIfRedis(Comparison.LessThan, "7.4.0")] + public void TestNumericLogicalOperatorsInDialect5() + { + IDatabase db = redisFixture.Redis.GetDatabase(); + db.Execute("FLUSHALL"); + var ft = db.FT(); + + Schema sc = new Schema() + .AddTextField("title", 1.0) + .AddNumericField("version") + .AddNumericField("id"); + + Assert.True(ft.Create(index, FTCreateParams.CreateParams(), sc)); + Dictionary fields4 = new Dictionary + { + { "title", "hello world" }, + { "version", 123 }, + { "id", 456 } + }; + AddDocument(db, "qux", fields4); + + Assert.Equal(1, ft.Search(index, new Query("@version<=124").Dialect(5)).TotalResults); + + Assert.Equal(1, ft.Search(index, new Query("@version:[123 123]")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version:[123] | @version:[124]").Dialect(5)).TotalResults); + + Assert.Equal(1, ft.Search(index, new Query("@version:[123 123] | @version:[7890 7890]")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version==123 | @version==7890").Dialect(5)).TotalResults); + + Assert.Equal(1, ft.Search(index, new Query("@version:[123 123] | @id:[456 7890]")).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version==123 @id==456").Dialect(5)).TotalResults); + } } From 3be3e00f2d5509a85d0d74f035006b4766ec9775 Mon Sep 17 00:00:00 2001 From: atakavci Date: Tue, 11 Jun 2024 13:20:42 +0300 Subject: [PATCH 2/3] fix version numbers according to redis image --- tests/NRedisStack.Tests/Search/SearchTests.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/NRedisStack.Tests/Search/SearchTests.cs b/tests/NRedisStack.Tests/Search/SearchTests.cs index 55b5662c..c7dcbce1 100644 --- a/tests/NRedisStack.Tests/Search/SearchTests.cs +++ b/tests/NRedisStack.Tests/Search/SearchTests.cs @@ -3050,7 +3050,7 @@ public void Issue230() Assert.Equal(new object[] { "idx:users", "*", "FILTER", "@StatusId==1", "GROUPBY", 1, "@CreatedDay", "REDUCE", "COUNT_DISTINCT", 1, "@UserId", "REDUCE", "COUNT", 0, "AS", "count", "DIALECT", 3 }, buildCommand.Args); } - [SkipIfRedis(Comparison.LessThan, "7.4.0")] + [SkipIfRedis(Comparison.LessThan, "7.3.240")] public void TestTagInDialect5() { IDatabase db = redisFixture.Redis.GetDatabase(); @@ -3073,7 +3073,7 @@ public void TestTagInDialect5() Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-}").Dialect(5)).TotalResults); } - [SkipIfRedis(Comparison.LessThan, "7.4.0")] + [SkipIfRedis(Comparison.LessThan, "7.3.240")] public void TestLogicalOperatorsInDialect5() { IDatabase db = redisFixture.Redis.GetDatabase(); @@ -3101,7 +3101,7 @@ public void TestLogicalOperatorsInDialect5() Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-} @author:{Newman~}").Dialect(5)).TotalResults); } - [SkipIfRedis(Comparison.LessThan, "7.4.0")] + [SkipIfRedis(Comparison.LessThan, "7.3.240")] public void TestNumericInDialect5() { IDatabase db = redisFixture.Redis.GetDatabase(); @@ -3124,7 +3124,7 @@ public void TestNumericInDialect5() Assert.Equal(1, ft.Search(index, new Query("@version:[123]").Dialect(5)).TotalResults); } - [SkipIfRedis(Comparison.LessThan, "7.4.0")] + [SkipIfRedis(Comparison.LessThan, "7.3.240")] public void TestNumericOperatorsInDialect5() { IDatabase db = redisFixture.Redis.GetDatabase(); @@ -3154,7 +3154,7 @@ public void TestNumericOperatorsInDialect5() } - [SkipIfRedis(Comparison.LessThan, "7.4.0")] + [SkipIfRedis(Comparison.LessThan, "7.3.240")] public void TestNumericLogicalOperatorsInDialect5() { IDatabase db = redisFixture.Redis.GetDatabase(); From a993b097cab39873ef30c8bc869f497e71669ff2 Mon Sep 17 00:00:00 2001 From: atakavci Date: Sat, 3 Aug 2024 15:08:59 +0300 Subject: [PATCH 3/3] dialect 5 is not approved yet, so, excluded --- tests/NRedisStack.Tests/Search/SearchTests.cs | 73 +++---------------- 1 file changed, 11 insertions(+), 62 deletions(-) diff --git a/tests/NRedisStack.Tests/Search/SearchTests.cs b/tests/NRedisStack.Tests/Search/SearchTests.cs index e486af88..bb05364d 100644 --- a/tests/NRedisStack.Tests/Search/SearchTests.cs +++ b/tests/NRedisStack.Tests/Search/SearchTests.cs @@ -3057,58 +3057,7 @@ public void Issue230() } [SkipIfRedis(Comparison.LessThan, "7.3.240")] - public void TestTagInDialect5() - { - IDatabase db = redisFixture.Redis.GetDatabase(); - db.Execute("FLUSHALL"); - var ft = db.FT(); - - Schema sc = new Schema() - .AddTextField("title", 1.0) - .AddTagField("category"); - - Assert.True(ft.Create(index, FTCreateParams.CreateParams(), sc)); - Dictionary fields4 = new Dictionary - { - { "title", "hello world" }, - { "category", "orange;purple-" } - }; - AddDocument(db, "qux", fields4); - - Assert.Equal(1, ft.Search(index, new Query("@category:{orange\\;purple\\-}")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-}").Dialect(5)).TotalResults); - } - - [SkipIfRedis(Comparison.LessThan, "7.3.240")] - public void TestLogicalOperatorsInDialect5() - { - IDatabase db = redisFixture.Redis.GetDatabase(); - db.Execute("FLUSHALL"); - var ft = db.FT(); - - Schema sc = new Schema() - .AddTextField("title", 1.0) - .AddTagField("category") - .AddTagField("author"); - - Assert.True(ft.Create(index, FTCreateParams.CreateParams(), sc)); - Dictionary fields4 = new Dictionary - { - { "title", "hello world" }, - { "category", "orange;purple-" }, - {"author", "Newman~"} - - }; - AddDocument(db, "qux", fields4); - Assert.Equal(1, ft.Search(index, new Query("@category:{orange\\;purple\\- | blue\\;purple\\-}")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-} | @category:{blue;purple-}").Dialect(5)).TotalResults); - - Assert.Equal(1, ft.Search(index, new Query("@category:{orange\\;purple\\-} @author:{Newman\\~}")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@category:{orange;purple-} @author:{Newman~}").Dialect(5)).TotalResults); - } - - [SkipIfRedis(Comparison.LessThan, "7.3.240")] - public void TestNumericInDialect5() + public void TestNumericInDialect4() { IDatabase db = redisFixture.Redis.GetDatabase(); db.Execute("FLUSHALL"); @@ -3127,11 +3076,11 @@ public void TestNumericInDialect5() AddDocument(db, "qux", fields4); Assert.Equal(1, ft.Search(index, new Query("@version:[123 123]")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@version:[123]").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version:[123]").Dialect(4)).TotalResults); } [SkipIfRedis(Comparison.LessThan, "7.3.240")] - public void TestNumericOperatorsInDialect5() + public void TestNumericOperatorsInDialect4() { IDatabase db = redisFixture.Redis.GetDatabase(); db.Execute("FLUSHALL"); @@ -3150,18 +3099,18 @@ public void TestNumericOperatorsInDialect5() AddDocument(db, "qux", fields4); Assert.Equal(1, ft.Search(index, new Query("@version:[123 123]")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@version==123").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version==123").Dialect(4)).TotalResults); Assert.Equal(1, ft.Search(index, new Query("@version:[122 +inf]")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@version>=122").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version>=122").Dialect(4)).TotalResults); Assert.Equal(1, ft.Search(index, new Query("@version:[-inf 124]")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@version<=124").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version<=124").Dialect(4)).TotalResults); } [SkipIfRedis(Comparison.LessThan, "7.3.240")] - public void TestNumericLogicalOperatorsInDialect5() + public void TestNumericLogicalOperatorsInDialect4() { IDatabase db = redisFixture.Redis.GetDatabase(); db.Execute("FLUSHALL"); @@ -3181,15 +3130,15 @@ public void TestNumericLogicalOperatorsInDialect5() }; AddDocument(db, "qux", fields4); - Assert.Equal(1, ft.Search(index, new Query("@version<=124").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version<=124").Dialect(4)).TotalResults); Assert.Equal(1, ft.Search(index, new Query("@version:[123 123]")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@version:[123] | @version:[124]").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version:[123] | @version:[124]").Dialect(4)).TotalResults); Assert.Equal(1, ft.Search(index, new Query("@version:[123 123] | @version:[7890 7890]")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@version==123 | @version==7890").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version==123 | @version==7890").Dialect(4)).TotalResults); Assert.Equal(1, ft.Search(index, new Query("@version:[123 123] | @id:[456 7890]")).TotalResults); - Assert.Equal(1, ft.Search(index, new Query("@version==123 @id==456").Dialect(5)).TotalResults); + Assert.Equal(1, ft.Search(index, new Query("@version==123 @id==456").Dialect(4)).TotalResults); } }