Exemple #1
0
def test_cache_memoize_async(cache: Cache):
    """Test that cache.memoize() can decorate async functions."""
    loop = asyncio.get_event_loop()
    marker = 1

    @cache.memoize()
    async def func(a):
        return a, marker

    assert asyncio.iscoroutinefunction(func)

    assert len(cache) == 0

    result = loop.run_until_complete(func("a"))

    assert result == ("a", 1)
    assert len(cache) == 1
    assert list(cache.values())[0] == ("a", 1)

    marker += 1
    result = loop.run_until_complete(func("a"))

    assert result == ("a", 1)
    assert len(cache) == 1

    result = loop.run_until_complete(func("b"))

    assert result == ("b", 2)
    assert len(cache) == 2
Exemple #2
0
cache.set_many({"a": 1, "b": 2, "c": 3})
assert cache.get_many(["a", "b", "c"]) == {"a": 1, "b": 2, "c": 3}
cache.delete_many(["a", "b", "c"])
assert cache.count() == 0

import re

cache.set_many({"a_1": 1, "a_2": 2, "123": 3, "b": 4})

# func.uncached(1, 2)

# assert cache.copy() == {1: "foobar", 2: ("foo", "bar", "baz")}

cache.set_many({"a": 1, "b": 2, "c": 3})
assert list(cache.keys()) == ["a", "b", "c"]
assert list(cache.values()) == [1, 2, 3]
assert list(cache.items()) == [("a", 1), ("b", 2), ("c", 3)]

for key in cache:
    print(key, cache.get(key))
    # 'a' 1
    # 'b' 2
    # 'c' 3

assert cache.has("a")
assert "a" in cache

cacheman = CacheManager({
    "a": {
        "maxsize": 100
    },
Exemple #3
0
def test_cache_values(cache: Cache):
    """Test that cache.values() returns all cache values."""
    items = {"a": 1, "b": 2, "c": 3}
    cache.set_many(items)

    assert sorted(cache.values()) == sorted(items.values())