diff options
author | Chayim <chayim@users.noreply.github.com> | 2021-09-30 11:48:37 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-30 11:48:37 +0300 |
commit | 53658c4f865c4f2e1f6810c6ce4e9b31a9dd7eaa (patch) | |
tree | 26dd196f83b327171d4c005cb5f6d55289316733 /tests/test_commands.py | |
parent | cf3973237205d4bcd74d7cf22889ff10aac35539 (diff) | |
download | redis-py-53658c4f865c4f2e1f6810c6ce4e9b31a9dd7eaa.tar.gz |
IDLETIME and FREQ support for RESTORE (#1580)
Diffstat (limited to 'tests/test_commands.py')
-rw-r--r-- | tests/test_commands.py | 42 |
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: |