summaryrefslogtreecommitdiff
path: root/tests/test_commands.py
diff options
context:
space:
mode:
authordogukanteber <47397379+dogukanteber@users.noreply.github.com>2022-03-14 16:03:06 +0300
committerGitHub <noreply@github.com>2022-03-14 15:03:06 +0200
commiteac3a34d162aa83c3094cbab80d535ca92fdf972 (patch)
tree717a39d921220fb4ae97b111964064829fe68903 /tests/test_commands.py
parent2c405855021ccc8d4a45fa1aae352ddb303baae0 (diff)
downloadredis-py-eac3a34d162aa83c3094cbab80d535ca92fdf972.tar.gz
Add support for EXPIREAT command's options (#2024)
* Add support for EXPIREAT command's options * Fix linter errors * Make changes on method arguments * Fix linter errors * add variables to the function header Co-authored-by: Chayim <chayim@users.noreply.github.com> Co-authored-by: dvora-h <dvora.heller@redis.com>
Diffstat (limited to 'tests/test_commands.py')
-rw-r--r--tests/test_commands.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test_commands.py b/tests/test_commands.py
index c8bcc9c..ae1adb1 100644
--- a/tests/test_commands.py
+++ b/tests/test_commands.py
@@ -1106,6 +1106,43 @@ class TestRedisCommands:
r.expireat("a", 33177117420)
assert r.expiretime("a") == 33177117420
+ @skip_if_server_version_lt("7.0.0")
+ def test_expireat_option_nx(self, r):
+ assert r.set("key", "val") is True
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=1)
+ assert r.expireat("key", expire_at, nx=True) is True
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=2)
+ assert r.expireat("key", expire_at, nx=True) is False
+
+ @skip_if_server_version_lt("7.0.0")
+ def test_expireat_option_xx(self, r):
+ assert r.set("key", "val") is True
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=1)
+ assert r.expireat("key", expire_at, xx=True) is False
+ assert r.expireat("key", expire_at) is True
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=2)
+ assert r.expireat("key", expire_at, xx=True) is True
+
+ @skip_if_server_version_lt("7.0.0")
+ def test_expireat_option_gt(self, r):
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=2)
+ assert r.set("key", "val") is True
+ assert r.expireat("key", expire_at) is True
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=1)
+ assert r.expireat("key", expire_at, gt=True) is False
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=3)
+ assert r.expireat("key", expire_at, gt=True) is True
+
+ @skip_if_server_version_lt("7.0.0")
+ def test_expireat_option_lt(self, r):
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=2)
+ assert r.set("key", "val") is True
+ assert r.expireat("key", expire_at) is True
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=3)
+ assert r.expireat("key", expire_at, lt=True) is False
+ expire_at = redis_server_time(r) + datetime.timedelta(minutes=1)
+ assert r.expireat("key", expire_at, lt=True) is True
+
def test_get_and_set(self, r):
# get and set can't be tested independently of each other
assert r.get("a") is None