From f36c3488de67b76cc3112c1e7650d48ddcc043a7 Mon Sep 17 00:00:00 2001 From: dvora-h Date: Sun, 20 Aug 2023 17:23:21 +0300 Subject: [PATCH 1/5] Fix redis 7.2.0 tests --- tests/test_asyncio/test_commands.py | 54 +++++++++------------- tests/test_commands.py | 70 ++++++++++++----------------- 2 files changed, 50 insertions(+), 74 deletions(-) diff --git a/tests/test_asyncio/test_commands.py b/tests/test_asyncio/test_commands.py index 7808d171fa..1a1e21deb4 100644 --- a/tests/test_asyncio/test_commands.py +++ b/tests/test_asyncio/test_commands.py @@ -489,20 +489,6 @@ async def test_client_no_touch(self, r: redis.Redis): with pytest.raises(TypeError): await r.client_no_touch() - @skip_if_server_version_lt("7.2.0") - @pytest.mark.onlycluster - async def test_waitaof(self, r): - # must return a list of 2 elements - assert len(await r.waitaof(0, 0, 0)) == 2 - assert len(await r.waitaof(1, 0, 0)) == 2 - assert len(await r.waitaof(1, 0, 1000)) == 2 - - # value is out of range, value must between 0 and 1 - with pytest.raises(exceptions.ResponseError): - await r.waitaof(2, 0, 0) - with pytest.raises(exceptions.ResponseError): - await r.waitaof(-1, 0, 0) - async def test_config_get(self, r: redis.Redis): data = await r.config_get() assert "maxmemory" in data @@ -1821,9 +1807,11 @@ async def test_zrank(self, r: redis.Redis): async def test_zrank_withscore(self, r: redis.Redis): await r.zadd("a", {"a1": 1, "a2": 2, "a3": 3, "a4": 4, "a5": 5}) assert await r.zrank("a", "a1") == 0 - assert await r.rank("a", "a2") == 1 + assert await r.zrank("a", "a2") == 1 assert await r.zrank("a", "a6") is None - assert await r.zrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response( + r, await r.zrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0] + ) assert await r.zrank("a", "a6", withscore=True) is None async def test_zrem(self, r: redis.Redis): @@ -1920,7 +1908,9 @@ async def test_zrevrank_withscore(self, r: redis.Redis): assert await r.zrevrank("a", "a1") == 4 assert await r.zrevrank("a", "a2") == 3 assert await r.zrevrank("a", "a6") is None - assert await r.zrevrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response( + r, await r.zrevrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0] + ) assert await r.zrevrank("a", "a6", withscore=True) is None async def test_zscore(self, r: redis.Redis): @@ -2431,7 +2421,7 @@ async def test_geohash(self, r: redis.Redis): [b"sp3e9yg3kd0", b"sp3e9cbc3t0", None], ) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") async def test_geopos(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -2445,7 +2435,7 @@ async def test_geopos(self, r: redis.Redis): r, await r.geopos("barcelona", "place1", "place2"), [ - (2.19093829393386841, 41.43379028184083523), + (2.19093829393386841, 41.43379028184083), (2.18737632036209106, 41.40634178640635099), ], [ @@ -2500,7 +2490,7 @@ async def test_georadius_units(self, r: redis.Redis): ] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") async def test_georadius_with(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -2526,19 +2516,17 @@ async def test_georadius_with(self, r: redis.Redis): b"place1", 0.0881, 3471609698139488, - (2.19093829393386841, 41.43379028184083523), + (2.19093829393386841, 41.43379028184083), ] ] assert await r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withdist=True, withcoord=True - ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083523)]] + ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083)]] assert await r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withhash=True, withcoord=True - ) == [ - [b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083523)] - ] + ) == [[b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083)]] # test no values. assert ( @@ -2600,7 +2588,7 @@ async def test_georadius_store(self, r: redis.Redis): assert await r.zrange("places_barcelona", 0, -1) == [b"place1"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") @pytest.mark.onlynoncluster async def test_georadius_store_dist(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( @@ -2614,10 +2602,10 @@ async def test_georadius_store_dist(self, r: redis.Redis): "barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona" ) # instead of save the geo score, the distance is saved. - assert await r.zscore("places_barcelona", "place1") == 88.05060698409301 + assert await r.zscore("places_barcelona", "place1") == 88.05060698338646 @skip_unless_arch_bits(64) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") async def test_georadiusmember(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -2645,7 +2633,7 @@ async def test_georadiusmember(self, r: redis.Redis): b"place1", 0.0, 3471609698139488, - (2.1909382939338684, 41.433790281840835), + (2.1909382939338684, 41.43379028184083), ], ] @@ -2877,13 +2865,15 @@ async def test_xinfo_consumers(self, r: redis.Redis): info = await r.xinfo_consumers(stream, group) assert len(info) == 2 expected = [ - {"name": consumer1.encode(), "pending": 1, "inactive": 2}, - {"name": consumer2.encode(), "pending": 2, "inactive": 2}, + {"name": consumer1.encode(), "pending": 1}, + {"name": consumer2.encode(), "pending": 2}, ] - # we can't determine the idle time, so just make sure it's an int + # we can't determine the idle and inactive time, so just make sure it's an int assert isinstance(info[0].pop("idle"), int) assert isinstance(info[1].pop("idle"), int) + assert isinstance(info[0].pop("inactive"), int) + assert isinstance(info[1].pop("inactive"), int) assert info == expected @skip_if_server_version_lt("5.0.0") diff --git a/tests/test_commands.py b/tests/test_commands.py index 055aa3bf9f..ec2cf52a4d 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -745,20 +745,6 @@ def test_client_no_touch(self, r): with pytest.raises(TypeError): r.client_no_touch() - @pytest.mark.onlycluster - @skip_if_server_version_lt("7.2.0") - def test_waitaof(self, r): - # must return a list of 2 elements - assert len(r.waitaof(0, 0, 0)) == 2 - assert len(r.waitaof(1, 0, 0)) == 2 - assert len(r.waitaof(1, 0, 1000)) == 2 - - # value is out of range, value must between 0 and 1 - with pytest.raises(exceptions.ResponseError): - r.waitaof(2, 0, 0) - with pytest.raises(exceptions.ResponseError): - r.waitaof(-1, 0, 0) - @pytest.mark.onlynoncluster @skip_if_server_version_lt("3.2.0") def test_client_reply(self, r, r_timeout): @@ -2854,9 +2840,9 @@ def test_zrank(self, r): def test_zrank_withscore(self, r: redis.Redis): r.zadd("a", {"a1": 1, "a2": 2, "a3": 3, "a4": 4, "a5": 5}) assert r.zrank("a", "a1") == 0 - assert r.rank("a", "a2") == 1 + assert r.zrank("a", "a2") == 1 assert r.zrank("a", "a6") is None - assert r.zrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response(r, r.zrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0]) assert r.zrank("a", "a6", withscore=True) is None def test_zrem(self, r): @@ -2951,7 +2937,9 @@ def test_zrevrank_withscore(self, r): assert r.zrevrank("a", "a1") == 4 assert r.zrevrank("a", "a2") == 3 assert r.zrevrank("a", "a6") is None - assert r.zrevrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response( + r, r.zrevrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0] + ) assert r.zrevrank("a", "a6", withscore=True) is None def test_zscore(self, r): @@ -3569,7 +3557,7 @@ def test_geohash(self, r): ) @skip_unless_arch_bits(64) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") def test_geopos(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3582,7 +3570,7 @@ def test_geopos(self, r): r, r.geopos("barcelona", "place1", "place2"), [ - (2.19093829393386841, 41.43379028184083523), + (2.19093829393386841, 41.43379028184083), (2.18737632036209106, 41.40634178640635099), ], [ @@ -3631,7 +3619,7 @@ def test_geosearch(self, r): )[0] in [b"place1", b"place3", b"\x80place2"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("6.2.0") + @skip_if_server_version_lt("7.2.0") def test_geosearch_member(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3664,7 +3652,7 @@ def test_geosearch_member(self, r): b"place1", 0.0, 3471609698139488, - (2.1909382939338684, 41.433790281840835), + (2.1909382939338684, 41.43379028184083), ], ] @@ -3684,7 +3672,7 @@ def test_geosearch_sort(self, r): ) == [b"place2", b"place1"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("6.2.0") + @skip_if_server_version_lt("7.2.0") def test_geosearch_with(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3709,7 +3697,7 @@ def test_geosearch_with(self, r): b"place1", 0.0881, 3471609698139488, - (2.19093829393386841, 41.43379028184083523), + (2.19093829393386841, 41.43379028184083), ] ] assert r.geosearch( @@ -3720,7 +3708,7 @@ def test_geosearch_with(self, r): unit="km", withdist=True, withcoord=True, - ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083523)]] + ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083)]] assert r.geosearch( "barcelona", longitude=2.191, @@ -3729,9 +3717,7 @@ def test_geosearch_with(self, r): unit="km", withhash=True, withcoord=True, - ) == [ - [b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083523)] - ] + ) == [[b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083)]] # test no values. assert ( r.geosearch( @@ -3810,7 +3796,7 @@ def test_geosearchstore(self, r): @pytest.mark.onlynoncluster @skip_unless_arch_bits(64) - @skip_if_server_version_lt("6.2.0") + @skip_if_server_version_lt("7.2.0") def test_geosearchstore_dist(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3828,7 +3814,7 @@ def test_geosearchstore_dist(self, r): storedist=True, ) # instead of save the geo score, the distance is saved. - assert r.zscore("places_barcelona", "place1") == 88.05060698409301 + assert r.zscore("places_barcelona", "place1") == 88.05060698338646 @skip_if_server_version_lt("3.2.0") def test_georadius_Issue2609(self, r): @@ -3871,7 +3857,7 @@ def test_georadius_units(self, r): assert r.georadius("barcelona", 2.191, 41.433, 1, unit="km") == [b"place1"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") def test_georadius_with(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3897,19 +3883,17 @@ def test_georadius_with(self, r): b"place1", 0.0881, 3471609698139488, - (2.19093829393386841, 41.43379028184083523), + (2.19093829393386841, 41.43379028184083), ] ] assert r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withdist=True, withcoord=True - ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083523)]] + ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083)]] assert r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withhash=True, withcoord=True - ) == [ - [b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083523)] - ] + ) == [[b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083)]] # test no values. assert ( @@ -3973,7 +3957,7 @@ def test_georadius_store(self, r): @pytest.mark.onlynoncluster @skip_unless_arch_bits(64) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") def test_georadius_store_dist(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3984,10 +3968,10 @@ def test_georadius_store_dist(self, r): r.geoadd("barcelona", values) r.georadius("barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona") # instead of save the geo score, the distance is saved. - assert r.zscore("places_barcelona", "place1") == 88.05060698409301 + assert r.zscore("places_barcelona", "place1") == 88.05060698338646 @skip_unless_arch_bits(64) - @skip_if_server_version_lt("3.2.0") + @skip_if_server_version_lt("7.2.0") def test_georadiusmember(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -4015,7 +3999,7 @@ def test_georadiusmember(self, r): b"place1", 0.0, 3471609698139488, - (2.1909382939338684, 41.433790281840835), + (2.1909382939338684, 41.43379028184083), ], ] @@ -4404,13 +4388,15 @@ def test_xinfo_consumers(self, r): info = r.xinfo_consumers(stream, group) assert len(info) == 2 expected = [ - {"name": consumer1.encode(), "pending": 1, "inactive": 2}, - {"name": consumer2.encode(), "pending": 2, "inactive": 2}, + {"name": consumer1.encode(), "pending": 1}, + {"name": consumer2.encode(), "pending": 2}, ] - # we can't determine the idle time, so just make sure it's an int + # we can't determine the idle and inactive time, so just make sure it's an int assert isinstance(info[0].pop("idle"), int) assert isinstance(info[1].pop("idle"), int) + assert isinstance(info[0].pop("inactive"), int) + assert isinstance(info[1].pop("inactive"), int) assert info == expected @skip_if_server_version_lt("7.0.0") From 07bd4e99d8c7baf5e3de9ed49fb94a2de9b62f5f Mon Sep 17 00:00:00 2001 From: dvora-h Date: Sun, 20 Aug 2023 18:20:07 +0300 Subject: [PATCH 2/5] revert --- tests/test_asyncio/test_commands.py | 32 +++++++++++------------------ tests/test_commands.py | 30 +++++++++------------------ 2 files changed, 22 insertions(+), 40 deletions(-) diff --git a/tests/test_asyncio/test_commands.py b/tests/test_asyncio/test_commands.py index 7808d171fa..6a3a2eca59 100644 --- a/tests/test_asyncio/test_commands.py +++ b/tests/test_asyncio/test_commands.py @@ -489,20 +489,6 @@ async def test_client_no_touch(self, r: redis.Redis): with pytest.raises(TypeError): await r.client_no_touch() - @skip_if_server_version_lt("7.2.0") - @pytest.mark.onlycluster - async def test_waitaof(self, r): - # must return a list of 2 elements - assert len(await r.waitaof(0, 0, 0)) == 2 - assert len(await r.waitaof(1, 0, 0)) == 2 - assert len(await r.waitaof(1, 0, 1000)) == 2 - - # value is out of range, value must between 0 and 1 - with pytest.raises(exceptions.ResponseError): - await r.waitaof(2, 0, 0) - with pytest.raises(exceptions.ResponseError): - await r.waitaof(-1, 0, 0) - async def test_config_get(self, r: redis.Redis): data = await r.config_get() assert "maxmemory" in data @@ -1821,9 +1807,11 @@ async def test_zrank(self, r: redis.Redis): async def test_zrank_withscore(self, r: redis.Redis): await r.zadd("a", {"a1": 1, "a2": 2, "a3": 3, "a4": 4, "a5": 5}) assert await r.zrank("a", "a1") == 0 - assert await r.rank("a", "a2") == 1 + assert await r.zrank("a", "a2") == 1 assert await r.zrank("a", "a6") is None - assert await r.zrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response( + r, await r.zrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0] + ) assert await r.zrank("a", "a6", withscore=True) is None async def test_zrem(self, r: redis.Redis): @@ -1920,7 +1908,9 @@ async def test_zrevrank_withscore(self, r: redis.Redis): assert await r.zrevrank("a", "a1") == 4 assert await r.zrevrank("a", "a2") == 3 assert await r.zrevrank("a", "a6") is None - assert await r.zrevrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response( + r, await r.zrevrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0] + ) assert await r.zrevrank("a", "a6", withscore=True) is None async def test_zscore(self, r: redis.Redis): @@ -2877,13 +2867,15 @@ async def test_xinfo_consumers(self, r: redis.Redis): info = await r.xinfo_consumers(stream, group) assert len(info) == 2 expected = [ - {"name": consumer1.encode(), "pending": 1, "inactive": 2}, - {"name": consumer2.encode(), "pending": 2, "inactive": 2}, + {"name": consumer1.encode(), "pending": 1}, + {"name": consumer2.encode(), "pending": 2}, ] - # we can't determine the idle time, so just make sure it's an int + # we can't determine the idle and inactive time, so just make sure it's an int assert isinstance(info[0].pop("idle"), int) assert isinstance(info[1].pop("idle"), int) + assert isinstance(info[0].pop("inactive"), int) + assert isinstance(info[1].pop("inactive"), int) assert info == expected @skip_if_server_version_lt("5.0.0") diff --git a/tests/test_commands.py b/tests/test_commands.py index 055aa3bf9f..114fb6b686 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -745,20 +745,6 @@ def test_client_no_touch(self, r): with pytest.raises(TypeError): r.client_no_touch() - @pytest.mark.onlycluster - @skip_if_server_version_lt("7.2.0") - def test_waitaof(self, r): - # must return a list of 2 elements - assert len(r.waitaof(0, 0, 0)) == 2 - assert len(r.waitaof(1, 0, 0)) == 2 - assert len(r.waitaof(1, 0, 1000)) == 2 - - # value is out of range, value must between 0 and 1 - with pytest.raises(exceptions.ResponseError): - r.waitaof(2, 0, 0) - with pytest.raises(exceptions.ResponseError): - r.waitaof(-1, 0, 0) - @pytest.mark.onlynoncluster @skip_if_server_version_lt("3.2.0") def test_client_reply(self, r, r_timeout): @@ -2854,9 +2840,9 @@ def test_zrank(self, r): def test_zrank_withscore(self, r: redis.Redis): r.zadd("a", {"a1": 1, "a2": 2, "a3": 3, "a4": 4, "a5": 5}) assert r.zrank("a", "a1") == 0 - assert r.rank("a", "a2") == 1 + assert r.zrank("a", "a2") == 1 assert r.zrank("a", "a6") is None - assert r.zrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response(r, r.zrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0]) assert r.zrank("a", "a6", withscore=True) is None def test_zrem(self, r): @@ -2951,7 +2937,9 @@ def test_zrevrank_withscore(self, r): assert r.zrevrank("a", "a1") == 4 assert r.zrevrank("a", "a2") == 3 assert r.zrevrank("a", "a6") is None - assert r.zrevrank("a", "a3", withscore=True) == [2, "3"] + assert_resp_response( + r, r.zrevrank("a", "a3", withscore=True), [2, b"3"], [2, 3.0] + ) assert r.zrevrank("a", "a6", withscore=True) is None def test_zscore(self, r): @@ -4404,13 +4392,15 @@ def test_xinfo_consumers(self, r): info = r.xinfo_consumers(stream, group) assert len(info) == 2 expected = [ - {"name": consumer1.encode(), "pending": 1, "inactive": 2}, - {"name": consumer2.encode(), "pending": 2, "inactive": 2}, + {"name": consumer1.encode(), "pending": 1}, + {"name": consumer2.encode(), "pending": 2}, ] - # we can't determine the idle time, so just make sure it's an int + # we can't determine the idle and inactive time, so just make sure it's an int assert isinstance(info[0].pop("idle"), int) assert isinstance(info[1].pop("idle"), int) + assert isinstance(info[0].pop("inactive"), int) + assert isinstance(info[1].pop("inactive"), int) assert info == expected @skip_if_server_version_lt("7.0.0") From 53782b3932c594d4347fc2092f06079c09a7b221 Mon Sep 17 00:00:00 2001 From: dvora-h Date: Mon, 21 Aug 2023 01:19:45 +0300 Subject: [PATCH 3/5] revert geo --- tests/test_asyncio/test_commands.py | 22 ++++++++-------- tests/test_commands.py | 40 ++++++++++++++++------------- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/tests/test_asyncio/test_commands.py b/tests/test_asyncio/test_commands.py index 1a1e21deb4..6a3a2eca59 100644 --- a/tests/test_asyncio/test_commands.py +++ b/tests/test_asyncio/test_commands.py @@ -2421,7 +2421,7 @@ async def test_geohash(self, r: redis.Redis): [b"sp3e9yg3kd0", b"sp3e9cbc3t0", None], ) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") async def test_geopos(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -2435,7 +2435,7 @@ async def test_geopos(self, r: redis.Redis): r, await r.geopos("barcelona", "place1", "place2"), [ - (2.19093829393386841, 41.43379028184083), + (2.19093829393386841, 41.43379028184083523), (2.18737632036209106, 41.40634178640635099), ], [ @@ -2490,7 +2490,7 @@ async def test_georadius_units(self, r: redis.Redis): ] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") async def test_georadius_with(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -2516,17 +2516,19 @@ async def test_georadius_with(self, r: redis.Redis): b"place1", 0.0881, 3471609698139488, - (2.19093829393386841, 41.43379028184083), + (2.19093829393386841, 41.43379028184083523), ] ] assert await r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withdist=True, withcoord=True - ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083)]] + ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083523)]] assert await r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withhash=True, withcoord=True - ) == [[b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083)]] + ) == [ + [b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083523)] + ] # test no values. assert ( @@ -2588,7 +2590,7 @@ async def test_georadius_store(self, r: redis.Redis): assert await r.zrange("places_barcelona", 0, -1) == [b"place1"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") @pytest.mark.onlynoncluster async def test_georadius_store_dist(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( @@ -2602,10 +2604,10 @@ async def test_georadius_store_dist(self, r: redis.Redis): "barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona" ) # instead of save the geo score, the distance is saved. - assert await r.zscore("places_barcelona", "place1") == 88.05060698338646 + assert await r.zscore("places_barcelona", "place1") == 88.05060698409301 @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") async def test_georadiusmember(self, r: redis.Redis): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -2633,7 +2635,7 @@ async def test_georadiusmember(self, r: redis.Redis): b"place1", 0.0, 3471609698139488, - (2.1909382939338684, 41.43379028184083), + (2.1909382939338684, 41.433790281840835), ], ] diff --git a/tests/test_commands.py b/tests/test_commands.py index ec2cf52a4d..114fb6b686 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -3557,7 +3557,7 @@ def test_geohash(self, r): ) @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") def test_geopos(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3570,7 +3570,7 @@ def test_geopos(self, r): r, r.geopos("barcelona", "place1", "place2"), [ - (2.19093829393386841, 41.43379028184083), + (2.19093829393386841, 41.43379028184083523), (2.18737632036209106, 41.40634178640635099), ], [ @@ -3619,7 +3619,7 @@ def test_geosearch(self, r): )[0] in [b"place1", b"place3", b"\x80place2"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("6.2.0") def test_geosearch_member(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3652,7 +3652,7 @@ def test_geosearch_member(self, r): b"place1", 0.0, 3471609698139488, - (2.1909382939338684, 41.43379028184083), + (2.1909382939338684, 41.433790281840835), ], ] @@ -3672,7 +3672,7 @@ def test_geosearch_sort(self, r): ) == [b"place2", b"place1"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("6.2.0") def test_geosearch_with(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3697,7 +3697,7 @@ def test_geosearch_with(self, r): b"place1", 0.0881, 3471609698139488, - (2.19093829393386841, 41.43379028184083), + (2.19093829393386841, 41.43379028184083523), ] ] assert r.geosearch( @@ -3708,7 +3708,7 @@ def test_geosearch_with(self, r): unit="km", withdist=True, withcoord=True, - ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083)]] + ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083523)]] assert r.geosearch( "barcelona", longitude=2.191, @@ -3717,7 +3717,9 @@ def test_geosearch_with(self, r): unit="km", withhash=True, withcoord=True, - ) == [[b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083)]] + ) == [ + [b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083523)] + ] # test no values. assert ( r.geosearch( @@ -3796,7 +3798,7 @@ def test_geosearchstore(self, r): @pytest.mark.onlynoncluster @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("6.2.0") def test_geosearchstore_dist(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3814,7 +3816,7 @@ def test_geosearchstore_dist(self, r): storedist=True, ) # instead of save the geo score, the distance is saved. - assert r.zscore("places_barcelona", "place1") == 88.05060698338646 + assert r.zscore("places_barcelona", "place1") == 88.05060698409301 @skip_if_server_version_lt("3.2.0") def test_georadius_Issue2609(self, r): @@ -3857,7 +3859,7 @@ def test_georadius_units(self, r): assert r.georadius("barcelona", 2.191, 41.433, 1, unit="km") == [b"place1"] @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") def test_georadius_with(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3883,17 +3885,19 @@ def test_georadius_with(self, r): b"place1", 0.0881, 3471609698139488, - (2.19093829393386841, 41.43379028184083), + (2.19093829393386841, 41.43379028184083523), ] ] assert r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withdist=True, withcoord=True - ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083)]] + ) == [[b"place1", 0.0881, (2.19093829393386841, 41.43379028184083523)]] assert r.georadius( "barcelona", 2.191, 41.433, 1, unit="km", withhash=True, withcoord=True - ) == [[b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083)]] + ) == [ + [b"place1", 3471609698139488, (2.19093829393386841, 41.43379028184083523)] + ] # test no values. assert ( @@ -3957,7 +3961,7 @@ def test_georadius_store(self, r): @pytest.mark.onlynoncluster @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") def test_georadius_store_dist(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3968,10 +3972,10 @@ def test_georadius_store_dist(self, r): r.geoadd("barcelona", values) r.georadius("barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona") # instead of save the geo score, the distance is saved. - assert r.zscore("places_barcelona", "place1") == 88.05060698338646 + assert r.zscore("places_barcelona", "place1") == 88.05060698409301 @skip_unless_arch_bits(64) - @skip_if_server_version_lt("7.2.0") + @skip_if_server_version_lt("3.2.0") def test_georadiusmember(self, r): values = (2.1909389952632, 41.433791470673, "place1") + ( 2.1873744593677, @@ -3999,7 +4003,7 @@ def test_georadiusmember(self, r): b"place1", 0.0, 3471609698139488, - (2.1909382939338684, 41.43379028184083), + (2.1909382939338684, 41.433790281840835), ], ] From f815d46e0541fbdd068b7693642026d3387ac231 Mon Sep 17 00:00:00 2001 From: dvora-h Date: Mon, 21 Aug 2023 01:44:01 +0300 Subject: [PATCH 4/5] fix cluster myshardid --- redis/cluster.py | 1 + 1 file changed, 1 insertion(+) diff --git a/redis/cluster.py b/redis/cluster.py index 1ffa5ff547..f37dd479c3 100644 --- a/redis/cluster.py +++ b/redis/cluster.py @@ -267,6 +267,7 @@ class AbstractRedisCluster: "READONLY", "CLUSTER INFO", "CLUSTER MEET", + "CLUSTER MYSHARDID" "CLUSTER NODES", "CLUSTER REPLICAS", "CLUSTER RESET", From e35952d74311ffa5a489931976bec4ee722955c1 Mon Sep 17 00:00:00 2001 From: dvora-h Date: Mon, 21 Aug 2023 01:49:25 +0300 Subject: [PATCH 5/5] linters --- redis/cluster.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redis/cluster.py b/redis/cluster.py index f37dd479c3..cba62de077 100644 --- a/redis/cluster.py +++ b/redis/cluster.py @@ -267,7 +267,7 @@ class AbstractRedisCluster: "READONLY", "CLUSTER INFO", "CLUSTER MEET", - "CLUSTER MYSHARDID" + "CLUSTER MYSHARDID", "CLUSTER NODES", "CLUSTER REPLICAS", "CLUSTER RESET",