コード例 #1
0
def test_expire_invalid_seconds():
    ledis = Ledis()
    ledis.set("str_type", "hello")

    with pytest.raises(InvalidValue):
        ledis.expire("str_type", -1)

    with pytest.raises(InvalidValue):
        ledis.expire("str_type", 0)
コード例 #2
0
ファイル: test_ledis_ttl.py プロジェクト: gianghta/Ledis
def test_ttl():
    ledis = Ledis()
    ledis.set("str_type", "hello")
    assert ledis.storage["str_type"].expire_at is None

    ledis.expire("str_type", 10)
    assert ledis.ttl("str_type") == 10
コード例 #3
0
 def __init__(self):
     self.ledis = Ledis()
     self.commands = {
         "set": self.ledis.set,
         "get": self.ledis.get,
         "sadd": self.ledis.sadd,
         "srem": self.ledis.srem,
         "smembers": self.ledis.smembers,
         "sinter": self.ledis.sinter,
         "keys": self.ledis.keys,
         "del": self.ledis.delete,
         "expire": self.ledis.expire,
         "ttl": self.ledis.ttl,
         "save": self.ledis.save,
         "restore": self.ledis.restore,
     }
コード例 #4
0
def test_expire_str():
    ledis = Ledis()
    ledis.set("str_type", "hello")
    assert ledis.expire("str_type", 1) == 1
    sleep(2)

    # The key will only be lazy-deleted
    # if the key is called in any operations
    assert "str_type" in ledis.storage
    assert ledis.get("str_type") is None
    assert "str_type" not in ledis.storage
コード例 #5
0
def test_expire_key_not_exist():
    ledis = Ledis()
    assert ledis.expire("key_not_found", 1) == -1
コード例 #6
0
ファイル: test_ledis_ttl.py プロジェクト: gianghta/Ledis
def test_ttl_not_set():
    ledis = Ledis()
    ledis.set("str_type", "hello")
    assert ledis.storage["str_type"].expire_at is None
    assert ledis.ttl("str_type") == -1
コード例 #7
0
def test_srem_to_str():
    ledis = Ledis()
    ledis.set("hello", "world")

    with pytest.raises(InvalidType):
        ledis.srem("hello", {2, 3, 4})
コード例 #8
0
def test_srem_not_exist():
    ledis = Ledis()
    ledis.srem("set_type", *{1, 2, 3})
コード例 #9
0
ファイル: test_ledis_get.py プロジェクト: gianghta/Ledis
import pytest

from ledis import Ledis
from ledis.exceptions import InvalidType

ledis = Ledis()
ledis.set("hello", "world")
ledis.sadd("set_type", 1, 2, 3)


def test_get():
    assert ledis.get("hello") == "world"


def test_get_key_not_exist():
    assert ledis.get("key_not_found") is None


def test_get_key_set_type():
    with pytest.raises(InvalidType):
        ledis.get("set_type")
コード例 #10
0
import pytest

from ledis import Ledis
from ledis.exceptions import InvalidType

ledis = Ledis()
ledis.sadd("set_type", 1, 2, 3)
ledis.set("str_type", "hello")


def test_smembers():
    assert ledis.smembers("set_type") == [1, 2, 3]


def test_smembers_not_exist():
    assert ledis.smembers("key_not_found") is None


def test_smembers_str_value():
    with pytest.raises(InvalidType):
        ledis.smembers("str_type")
コード例 #11
0
def test_keys():
    ledis = Ledis()
    ledis.set("str_type", "hello")
    ledis.sadd("set_type", 1, 2, 3)

    assert ledis.keys() == ["str_type", "set_type"]
コード例 #12
0
def test_keys_empty():
    ledis = Ledis()
    assert ledis.keys() == []
コード例 #13
0
ファイル: test_ledis_delete.py プロジェクト: gianghta/Ledis
def test_delete_str():
    ledis = Ledis()
    ledis.set("str_type", "hello")
    ledis.delete("str_type")
    assert "str_type" not in ledis.storage
コード例 #14
0
ファイル: test_ledis_delete.py プロジェクト: gianghta/Ledis
def test_delete_non_exist():
    ledis = Ledis()
    ledis.delete("key_not_found")
コード例 #15
0
ファイル: test_ledis_delete.py プロジェクト: gianghta/Ledis
def test_delete_set():
    ledis = Ledis()
    ledis.sadd("set_type", 1, 2, 3)
    ledis.delete("set_type")
    assert "set_type" not in ledis.storage
コード例 #16
0
def test_ledis_init():
    Ledis()
コード例 #17
0
ファイル: test_ledis_save.py プロジェクト: gianghta/Ledis
def test_save(test_snapshot_filename):
    ledis = Ledis()
    ledis.set("hello", "world")
    ledis.save(test_snapshot_filename)

    assert file_exists(path.join(SNAPSHOT_DIR, f"{test_snapshot_filename}.db"))
コード例 #18
0
ファイル: test_ledis_sadd.py プロジェクト: gianghta/Ledis
def test_sadd_exist():
    ledis = Ledis()
    ledis.sadd("set_type", 1, 2, 3)
    ledis.sadd("set_type", 2, 3, 4)
    assert ledis.storage["set_type"] == Set({1, 2, 3, 4})
コード例 #19
0
import pytest

from ledis import Ledis
from ledis.exceptions import InvalidType
from ledis.datastructures import String

ledis = Ledis()


def test_set():
    assert ledis.set("hello", "world") is None
    assert "hello" in ledis.storage
    assert ledis.storage["hello"] == String("world")


def test_set_using_set_type():
    with pytest.raises(InvalidType):
        ledis.set("set_type", {1, 2, 3})
コード例 #20
0
ファイル: test_ledis_sadd.py プロジェクト: gianghta/Ledis
def test_sadd_str_value():
    ledis = Ledis()
    ledis.sadd("hello", "world")

    assert ledis.storage["hello"] == Set({"world"})
コード例 #21
0
ファイル: test_ledis_sadd.py プロジェクト: gianghta/Ledis
def test_sadd_empty():
    ledis = Ledis()
    ledis.sadd("set_type", 1, 2, 3)
    assert ledis.storage["set_type"] == Set({1, 2, 3})
コード例 #22
0
ファイル: test_ledis_restore.py プロジェクト: gianghta/Ledis
def test_restore_without_snapshot():
    ledis = Ledis()
    with pytest.raises(NoSnapshotFound):
        ledis.restore("snapshot_not_found")
コード例 #23
0
def test_srem_str_value():
    ledis = Ledis()
    ledis.sadd("hello", 1, 2, 3)
    ledis.srem("hello", "world")

    assert ledis.storage["hello"] == Set({1, 2, 3})
コード例 #24
0
ファイル: test_ledis_restore.py プロジェクト: gianghta/Ledis
def test_restore(test_snapshot_filename):
    ledis = Ledis()
    ledis.set("hello", "world")
    ledis.sadd("set_type", 1, 2, 3)
    ledis.save(test_snapshot_filename)

    # Clear current state
    ledis.storage = {}
    assert ledis.get("hello") is None
    assert ledis.get("set_type") is None

    # Restore from persistent data
    ledis.restore(test_snapshot_filename)
    assert ledis.get("hello") == "world"
    assert ledis.smembers("set_type") == [1, 2, 3]
コード例 #25
0
def test_srem():
    ledis = Ledis()
    ledis.sadd("set_type", *{1, 2, 3})

    ledis.srem("set_type", *{2, 3})
    assert ledis.storage["set_type"].data == {1}
コード例 #26
0
ファイル: test_ledis_ttl.py プロジェクト: gianghta/Ledis
def test_ttl_key_not_exist():
    ledis = Ledis()
    assert ledis.ttl("str_type") == -2