24
24
assert_resp_response ,
25
25
assert_resp_response_in ,
26
26
is_resp2_connection ,
27
+ skip_if_resp_version ,
27
28
skip_if_server_version_gte ,
28
29
skip_if_server_version_lt ,
29
30
skip_unless_arch_bits ,
@@ -1412,13 +1413,23 @@ async def test_scard(self, r: redis.Redis):
1412
1413
await r .sadd ("a" , "1" , "2" , "3" )
1413
1414
assert await r .scard ("a" ) == 3
1414
1415
1416
+ @skip_if_resp_version (3 )
1415
1417
@pytest .mark .onlynoncluster
1416
1418
async def test_sdiff (self , r : redis .Redis ):
1417
1419
await r .sadd ("a" , "1" , "2" , "3" )
1418
1420
assert set (await r .sdiff ("a" , "b" )) == {b"1" , b"2" , b"3" }
1419
1421
await r .sadd ("b" , "2" , "3" )
1420
1422
assert await r .sdiff ("a" , "b" ) == {b"1" }
1421
1423
1424
+ @skip_if_resp_version (2 )
1425
+ @pytest .mark .onlynoncluster
1426
+ async def test_sdiff_resp3 (self , r : redis .Redis ):
1427
+ await r .sadd ("a" , "1" , "2" , "3" )
1428
+ assert set (await r .sdiff ("a" , "b" )) == {b"1" , b"2" , b"3" }
1429
+ await r .sadd ("b" , "2" , "3" )
1430
+ assert await r .sdiff ("a" , "b" ) == [b"1" ]
1431
+
1432
+ @skip_if_resp_version (3 )
1422
1433
@pytest .mark .onlynoncluster
1423
1434
async def test_sdiffstore (self , r : redis .Redis ):
1424
1435
await r .sadd ("a" , "1" , "2" , "3" )
@@ -1428,13 +1439,33 @@ async def test_sdiffstore(self, r: redis.Redis):
1428
1439
assert await r .sdiffstore ("c" , "a" , "b" ) == 1
1429
1440
assert await r .smembers ("c" ) == {b"1" }
1430
1441
1442
+ @skip_if_resp_version (2 )
1443
+ @pytest .mark .onlynoncluster
1444
+ async def test_sdiffstore_resp3 (self , r : redis .Redis ):
1445
+ await r .sadd ("a" , "1" , "2" , "3" )
1446
+ assert await r .sdiffstore ("c" , "a" , "b" ) == 3
1447
+ assert set (await r .smembers ("c" )) == {b"1" , b"2" , b"3" }
1448
+ await r .sadd ("b" , "2" , "3" )
1449
+ assert await r .sdiffstore ("c" , "a" , "b" ) == 1
1450
+ assert await r .smembers ("c" ) == [b"1" ]
1451
+
1452
+ @skip_if_resp_version (3 )
1431
1453
@pytest .mark .onlynoncluster
1432
1454
async def test_sinter (self , r : redis .Redis ):
1433
1455
await r .sadd ("a" , "1" , "2" , "3" )
1434
1456
assert await r .sinter ("a" , "b" ) == set ()
1435
1457
await r .sadd ("b" , "2" , "3" )
1436
1458
assert set (await r .sinter ("a" , "b" )) == {b"2" , b"3" }
1437
1459
1460
+ @skip_if_resp_version (2 )
1461
+ @pytest .mark .onlynoncluster
1462
+ async def test_sinter_resp3 (self , r : redis .Redis ):
1463
+ await r .sadd ("a" , "1" , "2" , "3" )
1464
+ assert await r .sinter ("a" , "b" ) == []
1465
+ await r .sadd ("b" , "2" , "3" )
1466
+ assert await r .sinter ("a" , "b" ) == [b"2" , b"3" ]
1467
+
1468
+ @skip_if_resp_version (3 )
1438
1469
@pytest .mark .onlynoncluster
1439
1470
async def test_sinterstore (self , r : redis .Redis ):
1440
1471
await r .sadd ("a" , "1" , "2" , "3" )
@@ -1444,6 +1475,16 @@ async def test_sinterstore(self, r: redis.Redis):
1444
1475
assert await r .sinterstore ("c" , "a" , "b" ) == 2
1445
1476
assert set (await r .smembers ("c" )) == {b"2" , b"3" }
1446
1477
1478
+ @skip_if_resp_version (2 )
1479
+ @pytest .mark .onlynoncluster
1480
+ async def test_sinterstore_resp3 (self , r : redis .Redis ):
1481
+ await r .sadd ("a" , "1" , "2" , "3" )
1482
+ assert await r .sinterstore ("c" , "a" , "b" ) == 0
1483
+ assert await r .smembers ("c" ) == []
1484
+ await r .sadd ("b" , "2" , "3" )
1485
+ assert await r .sinterstore ("c" , "a" , "b" ) == 2
1486
+ assert set (await r .smembers ("c" )) == {b"2" , b"3" }
1487
+
1447
1488
async def test_sismember (self , r : redis .Redis ):
1448
1489
await r .sadd ("a" , "1" , "2" , "3" )
1449
1490
assert await r .sismember ("a" , "1" )
@@ -1455,6 +1496,7 @@ async def test_smembers(self, r: redis.Redis):
1455
1496
await r .sadd ("a" , "1" , "2" , "3" )
1456
1497
assert set (await r .smembers ("a" )) == {b"1" , b"2" , b"3" }
1457
1498
1499
+ @skip_if_resp_version (3 )
1458
1500
@pytest .mark .onlynoncluster
1459
1501
async def test_smove (self , r : redis .Redis ):
1460
1502
await r .sadd ("a" , "a1" , "a2" )
@@ -1463,6 +1505,15 @@ async def test_smove(self, r: redis.Redis):
1463
1505
assert await r .smembers ("a" ) == {b"a2" }
1464
1506
assert set (await r .smembers ("b" )) == {b"b1" , b"b2" , b"a1" }
1465
1507
1508
+ @skip_if_resp_version (2 )
1509
+ @pytest .mark .onlynoncluster
1510
+ async def test_smove_resp3 (self , r : redis .Redis ):
1511
+ await r .sadd ("a" , "a1" , "a2" )
1512
+ await r .sadd ("b" , "b1" , "b2" )
1513
+ assert await r .smove ("a" , "b" , "a1" )
1514
+ assert await r .smembers ("a" ) == [b"a2" ]
1515
+ assert set (await r .smembers ("b" )) == {b"b1" , b"b2" , b"a1" }
1516
+
1466
1517
async def test_spop (self , r : redis .Redis ):
1467
1518
s = [b"1" , b"2" , b"3" ]
1468
1519
await r .sadd ("a" , * s )
0 commit comments