Ejemplo n.º 1
0
    async def test_locking_dogpile_lease_expiration(self, mocker, cache):
        mocker.spy(cache, 'get')
        mocker.spy(cache, 'set')
        decorator = cached_stampede(ttl=10, lease=1)

        await asyncio.gather(
            decorator(stub)(1, seconds=2),
            decorator(stub)(1, seconds=2))

        assert cache.get.call_count == 4
        assert cache.set.call_count == 2
Ejemplo n.º 2
0
    async def test_cached_stampede(self, mocker, cache):
        mocker.spy(cache, "get")
        mocker.spy(cache, "set")
        decorator = cached_stampede(ttl=10, lease=2)

        await asyncio.gather(decorator(stub)(0.5), decorator(stub)(0.5))

        cache.get.assert_called_with("acceptance.test_decoratorsstub(0.5,)[]")
        assert cache.get.call_count == 4
        cache.set.assert_called_with("acceptance.test_decoratorsstub(0.5,)[]",
                                     mock.ANY,
                                     ttl=10)
        assert cache.set.call_count == 1
Ejemplo n.º 3
0
    def test_init(self):
        c = cached_stampede(
            lease=3, ttl=1, key="key", key_builder="fn", cache=SimpleMemoryCache,
            plugins=None, alias=None, noself=False, namespace="test")

        assert c.ttl == 1
        assert c.key == "key"
        assert c.key_builder == "fn"
        assert c.cache is None
        assert c._cache == SimpleMemoryCache
        assert c._serializer is None
        assert c.lease == 3
        assert c._kwargs == {'namespace': 'test'}
Ejemplo n.º 4
0
 def test_inheritance(self):
     assert isinstance(cached_stampede(), cached)
Ejemplo n.º 5
0
 def decorator(self, mocker, mock_cache):
     with patch("aiocache.decorators._get_cache", return_value=mock_cache):
         yield cached_stampede()