33
33
assert_resp_response ,
34
34
is_resp2_connection ,
35
35
skip_if_redis_enterprise ,
36
+ skip_if_resp_version ,
36
37
skip_if_server_version_gte ,
37
38
skip_if_server_version_lt ,
38
39
skip_unless_arch_bits ,
@@ -1750,12 +1751,21 @@ async def test_cluster_rpoplpush(self, r: RedisCluster) -> None:
1750
1751
assert await r .lrange ("{foo}a" , 0 , - 1 ) == [b"a1" , b"a2" ]
1751
1752
assert await r .lrange ("{foo}b" , 0 , - 1 ) == [b"a3" , b"b1" , b"b2" , b"b3" ]
1752
1753
1754
+ @skip_if_resp_version (3 )
1753
1755
async def test_cluster_sdiff (self , r : RedisCluster ) -> None :
1754
1756
await r .sadd ("{foo}a" , "1" , "2" , "3" )
1755
- assert set ( await r .sdiff ("{foo}a" , "{foo}b" ) ) == {b"1" , b"2" , b"3" }
1757
+ assert await r .sdiff ("{foo}a" , "{foo}b" ) == {b"1" , b"2" , b"3" }
1756
1758
await r .sadd ("{foo}b" , "2" , "3" )
1757
1759
assert await r .sdiff ("{foo}a" , "{foo}b" ) == {b"1" }
1758
1760
1761
+ @skip_if_resp_version (2 )
1762
+ async def test_cluster_sdiff_resp3 (self , r : RedisCluster ) -> None :
1763
+ await r .sadd ("{foo}a" , "1" , "2" , "3" )
1764
+ assert await r .sdiff ("{foo}a" , "{foo}b" ) == [b"1" , b"2" , b"3" ]
1765
+ await r .sadd ("{foo}b" , "2" , "3" )
1766
+ assert await r .sdiff ("{foo}a" , "{foo}b" ) == [b"1" ]
1767
+
1768
+ @skip_if_resp_version (3 )
1759
1769
async def test_cluster_sdiffstore (self , r : RedisCluster ) -> None :
1760
1770
await r .sadd ("{foo}a" , "1" , "2" , "3" )
1761
1771
assert await r .sdiffstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 3
@@ -1764,12 +1774,30 @@ async def test_cluster_sdiffstore(self, r: RedisCluster) -> None:
1764
1774
assert await r .sdiffstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 1
1765
1775
assert await r .smembers ("{foo}c" ) == {b"1" }
1766
1776
1777
+ @skip_if_resp_version (2 )
1778
+ async def test_cluster_sdiffstore_resp3 (self , r : RedisCluster ) -> None :
1779
+ await r .sadd ("{foo}a" , "1" , "2" , "3" )
1780
+ assert await r .sdiffstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 3
1781
+ assert await r .smembers ("{foo}c" ) == [b"1" , b"2" , b"3" ]
1782
+ await r .sadd ("{foo}b" , "2" , "3" )
1783
+ assert await r .sdiffstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 1
1784
+ assert await r .smembers ("{foo}c" ) == [b"1" ]
1785
+
1786
+ @skip_if_resp_version (3 )
1767
1787
async def test_cluster_sinter (self , r : RedisCluster ) -> None :
1768
1788
await r .sadd ("{foo}a" , "1" , "2" , "3" )
1769
1789
assert await r .sinter ("{foo}a" , "{foo}b" ) == set ()
1770
1790
await r .sadd ("{foo}b" , "2" , "3" )
1771
1791
assert set (await r .sinter ("{foo}a" , "{foo}b" )) == {b"2" , b"3" }
1772
1792
1793
+ @skip_if_resp_version (2 )
1794
+ async def test_cluster_sinter_resp3 (self , r : RedisCluster ) -> None :
1795
+ await r .sadd ("{foo}a" , "1" , "2" , "3" )
1796
+ assert await r .sinter ("{foo}a" , "{foo}b" ) == []
1797
+ await r .sadd ("{foo}b" , "2" , "3" )
1798
+ assert await r .sinter ("{foo}a" , "{foo}b" ) == [b"2" , b"3" ]
1799
+
1800
+ @skip_if_resp_version (3 )
1773
1801
async def test_cluster_sinterstore (self , r : RedisCluster ) -> None :
1774
1802
await r .sadd ("{foo}a" , "1" , "2" , "3" )
1775
1803
assert await r .sinterstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 0
@@ -1778,13 +1806,31 @@ async def test_cluster_sinterstore(self, r: RedisCluster) -> None:
1778
1806
assert await r .sinterstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 2
1779
1807
assert set (await r .smembers ("{foo}c" )) == {b"2" , b"3" }
1780
1808
1809
+ @skip_if_resp_version (2 )
1810
+ async def test_cluster_sinterstore_resp3 (self , r : RedisCluster ) -> None :
1811
+ await r .sadd ("{foo}a" , "1" , "2" , "3" )
1812
+ assert await r .sinterstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 0
1813
+ assert await r .smembers ("{foo}c" ) == []
1814
+ await r .sadd ("{foo}b" , "2" , "3" )
1815
+ assert await r .sinterstore ("{foo}c" , "{foo}a" , "{foo}b" ) == 2
1816
+ assert await r .smembers ("{foo}c" ) == [b"2" , b"3" ]
1817
+
1818
+ @skip_if_resp_version (3 )
1781
1819
async def test_cluster_smove (self , r : RedisCluster ) -> None :
1782
1820
await r .sadd ("{foo}a" , "a1" , "a2" )
1783
1821
await r .sadd ("{foo}b" , "b1" , "b2" )
1784
1822
assert await r .smove ("{foo}a" , "{foo}b" , "a1" )
1785
1823
assert await r .smembers ("{foo}a" ) == {b"a2" }
1786
1824
assert set (await r .smembers ("{foo}b" )) == {b"b1" , b"b2" , b"a1" }
1787
1825
1826
+ @skip_if_resp_version (2 )
1827
+ async def test_cluster_smove_resp3 (self , r : RedisCluster ) -> None :
1828
+ await r .sadd ("{foo}a" , "a1" , "a2" )
1829
+ await r .sadd ("{foo}b" , "b1" , "b2" )
1830
+ assert await r .smove ("{foo}a" , "{foo}b" , "a1" )
1831
+ assert await r .smembers ("{foo}a" ) == [b"a2" ]
1832
+ assert await r .smembers ("{foo}b" ) == [b"b1" , b"b2" , b"a1" ]
1833
+
1788
1834
async def test_cluster_sunion (self , r : RedisCluster ) -> None :
1789
1835
await r .sadd ("{foo}a" , "1" , "2" )
1790
1836
await r .sadd ("{foo}b" , "2" , "3" )
0 commit comments