@@ -1232,6 +1232,41 @@ def test_pexpireat_unixtime(self, r):
1232
1232
assert r .pexpireat ("a" , expire_at_seconds ) is True
1233
1233
assert 0 < r .pttl ("a" ) <= 61000
1234
1234
1235
+ @skip_if_server_version_lt ("7.0.0" )
1236
+ def test_pexpireat_option_nx (self , r ):
1237
+ assert r .set ("key" , "val" ) is True
1238
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 1 )
1239
+ assert r .pexpireat ("key" , expire_at , "NX" ) is True
1240
+ assert r .pexpireat ("key" , expire_at , "NX" ) is False
1241
+
1242
+ @skip_if_server_version_lt ("7.0.0" )
1243
+ def test_pexpireat_option_xx (self , r ):
1244
+ assert r .set ("key" , "val" ) is True
1245
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 1 )
1246
+ assert r .pexpireat ("key" , expire_at , "XX" ) is False
1247
+ assert r .pexpireat ("key" , expire_at ) is True
1248
+ assert r .pexpireat ("key" , expire_at , "XX" ) is True
1249
+
1250
+ @skip_if_server_version_lt ("7.0.0" )
1251
+ def test_pexpireat_option_gt (self , r ):
1252
+ assert r .set ("key" , "val" ) is True
1253
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 2 )
1254
+ assert r .pexpireat ("key" , expire_at ) is True
1255
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 1 )
1256
+ assert r .pexpireat ("key" , expire_at , "GT" ) is False
1257
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 3 )
1258
+ assert r .pexpireat ("key" , expire_at , "GT" ) is True
1259
+
1260
+ @skip_if_server_version_lt ("7.0.0" )
1261
+ def test_pexpireat_option_lt (self , r ):
1262
+ assert r .set ("key" , "val" ) is True
1263
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 2 )
1264
+ assert r .pexpireat ("key" , expire_at ) is True
1265
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 3 )
1266
+ assert r .pexpireat ("key" , expire_at , "LT" ) is False
1267
+ expire_at = redis_server_time (r ) + datetime .timedelta (minutes = 1 )
1268
+ assert r .pexpireat ("key" , expire_at , "LT" ) is True
1269
+
1235
1270
@skip_if_server_version_lt ("2.6.0" )
1236
1271
def test_psetex (self , r ):
1237
1272
assert r .psetex ("a" , 1000 , "value" )
0 commit comments