summaryrefslogtreecommitdiff
path: root/tests/test_commands.py
diff options
context:
space:
mode:
authorChayim <chayim@users.noreply.github.com>2021-09-30 11:48:37 +0300
committerGitHub <noreply@github.com>2021-09-30 11:48:37 +0300
commit53658c4f865c4f2e1f6810c6ce4e9b31a9dd7eaa (patch)
tree26dd196f83b327171d4c005cb5f6d55289316733 /tests/test_commands.py
parentcf3973237205d4bcd74d7cf22889ff10aac35539 (diff)
downloadredis-py-53658c4f865c4f2e1f6810c6ce4e9b31a9dd7eaa.tar.gz
IDLETIME and FREQ support for RESTORE (#1580)
Diffstat (limited to 'tests/test_commands.py')
-rw-r--r--tests/test_commands.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/test_commands.py b/tests/test_commands.py
index 9f0a148..7b6f55e 100644
--- a/tests/test_commands.py
+++ b/tests/test_commands.py
@@ -3471,6 +3471,48 @@ class TestRedisCommands:
r.module_load('/some/fake/path', 'arg1', 'arg2', 'arg3', 'arg4')
assert "Error loading the extension." in str(excinfo.value)
+ @skip_if_server_version_lt('2.6.0')
+ def test_restore(self, r):
+
+ # standard restore
+ key = 'foo'
+ r.set(key, 'bar')
+ dumpdata = r.dump(key)
+ r.delete(key)
+ assert r.restore(key, 0, dumpdata)
+ assert r.get(key) == b'bar'
+
+ # overwrite restore
+ with pytest.raises(redis.exceptions.ResponseError):
+ assert r.restore(key, 0, dumpdata)
+ r.set(key, 'a new value!')
+ assert r.restore(key, 0, dumpdata, replace=True)
+ assert r.get(key) == b'bar'
+
+ # ttl check
+ key2 = 'another'
+ r.set(key2, 'blee!')
+ dumpdata = r.dump(key2)
+ r.delete(key2)
+ assert r.restore(key2, 0, dumpdata)
+ assert r.ttl(key2) == -1
+
+ # idletime
+ key = 'yayakey'
+ r.set(key, 'blee!')
+ dumpdata = r.dump(key)
+ r.delete(key)
+ assert r.restore(key, 0, dumpdata, idletime=5)
+ assert r.get(key) == b'blee!'
+
+ # frequency
+ key = 'yayakey'
+ r.set(key, 'blee!')
+ dumpdata = r.dump(key)
+ r.delete(key)
+ assert r.restore(key, 0, dumpdata, frequency=5)
+ assert r.get(key) == b'blee!'
+
class TestBinarySave: