@@ -1981,7 +1981,16 @@ def test_cluster_zunion(self, r):
1981
1981
r .zadd ("{foo}a" , {"a1" : 1 , "a2" : 1 , "a3" : 1 })
1982
1982
r .zadd ("{foo}b" , {"a1" : 2 , "a2" : 2 , "a3" : 2 })
1983
1983
r .zadd ("{foo}c" , {"a1" : 6 , "a3" : 5 , "a4" : 4 })
1984
+
1985
+ failed_keys = ["{foo1}a" , "{foo}b" , "{foo}c" ]
1986
+ with pytest .raises (
1987
+ RedisClusterException ,
1988
+ match = "ZUNION - all keys must map to the same key slot" ,
1989
+ ):
1990
+ r .zunion (failed_keys )
1991
+
1984
1992
# sum
1993
+ assert r .zunion (["{foo}a" ]) == [b"a1" , b"a2" , b"a3" ]
1985
1994
assert r .zunion (["{foo}a" , "{foo}b" , "{foo}c" ]) == [b"a2" , b"a4" , b"a3" , b"a1" ]
1986
1995
assert r .zunion (["{foo}a" , "{foo}b" , "{foo}c" ], withscores = True ) == [
1987
1996
(b"a2" , 3 ),
@@ -2009,7 +2018,25 @@ def test_cluster_zunionstore_sum(self, r):
2009
2018
r .zadd ("{foo}a" , {"a1" : 1 , "a2" : 1 , "a3" : 1 })
2010
2019
r .zadd ("{foo}b" , {"a1" : 2 , "a2" : 2 , "a3" : 2 })
2011
2020
r .zadd ("{foo}c" , {"a1" : 6 , "a3" : 5 , "a4" : 4 })
2021
+
2022
+ result_key = "{foo}d"
2023
+ failed_keys = ["{foo1}a" , "{foo}b" , "{foo}c" ]
2024
+ with pytest .raises (
2025
+ RedisClusterException ,
2026
+ match = "ZUNIONSTORE - all keys must map to the same key slot" ,
2027
+ ):
2028
+ r .zunionstore (result_key , failed_keys )
2029
+
2030
+ result_key = "{foo1}d"
2031
+ failed_keys = ["{foo}a" , "{foo}b" ]
2032
+ with pytest .raises (
2033
+ RedisClusterException ,
2034
+ match = "ZUNIONSTORE - all keys must map to the same key slot" ,
2035
+ ):
2036
+ r .zunionstore (result_key , failed_keys )
2037
+
2012
2038
assert r .zunionstore ("{foo}d" , ["{foo}a" , "{foo}b" , "{foo}c" ]) == 4
2039
+ assert r .zunionstore ("{foo}e" , ["{foo}a" ]) == 3
2013
2040
assert r .zrange ("{foo}d" , 0 , - 1 , withscores = True ) == [
2014
2041
(b"a2" , 3 ),
2015
2042
(b"a4" , 4 ),
0 commit comments