Beispiel #1
0
def lock_manager_redis_patched():
    with patch("aioredlock.algorithm.Redis") as mock_redis, \
            patch("asyncio.sleep", dummy_sleep):
        mock_redis.set_lock.return_value = asyncio.Future()
        mock_redis.set_lock.return_value.set_result(0.005)
        mock_redis.unset_lock.return_value = asyncio.Future()
        mock_redis.unset_lock.return_value.set_result(0.005)
        mock_redis.is_locked.return_value = asyncio.Future()
        mock_redis.is_locked.return_value.set_result(False)
        mock_redis.clear_connections.return_value = asyncio.Future()
        mock_redis.clear_connections.return_value.set_result(MagicMock())
        mock_redis.get_lock_ttl.return_value = asyncio.Future()
        mock_redis.get_lock_ttl.return_value.set_result(
            Lock(None, "resource_name", 1, -1, True))

        lock_manager = Aioredlock(internal_lock_timeout=1.0)
        lock_manager.redis = mock_redis

        yield lock_manager, mock_redis
Beispiel #2
0
def locked_lock():
    return Lock(None, "resource_name", 1, True)
Beispiel #3
0
 def test_lock(self):
     lock_manager = Aioredlock()
     lock = Lock(lock_manager, "potato", 1, 1.0)
     assert lock.resource == "potato"
     assert lock.id == 1
     assert lock.valid is False
Beispiel #4
0
 async def dummy_lock(resource):
     lock_identifier = str(uuid.uuid4())
     return Lock(mock_aioredlock, resource, lock_identifier, valid=True)
Beispiel #5
0
def unlocked_lock(lock_manager_redis_patched):
    lock_manager, _ = lock_manager_redis_patched
    lock = Lock(lock_manager, "other_resource_name", 1, -1, False)
    lock_manager._locks[lock.resource] = lock
    return lock
Beispiel #6
0
def locked_lock(lock_manager_redis_patched):
    lock_manager, _ = lock_manager_redis_patched
    lock = Lock(lock_manager, "resource_name", 1, -1, True)
    lock_manager._locks[lock.resource] = lock
    return lock
Beispiel #7
0
 def test_lock(self):
     lock = Lock("potato", 1)
     assert lock.resource == "potato"
     assert lock.id == 1
     assert lock.valid is False