예제 #1
0
 def test_get(self):
     key = uuid4()
     self.redis.setex(key, 10, '1')
     storage = RedisStorage(self.redis)
     assert storage.get(key) == '1'
예제 #2
0
from celery import current_app
from celery.task import task
from redis import StrictRedis

from celery_dedupe import DedupeTask
from celery_dedupe.storage.redis import RedisStorage
from tests import settings

redis = StrictRedis(db=9)
storage = RedisStorage(redis, expiry=60)


@task(base=DedupeTask, storage=storage)
def noop_task(*a, **kw):
    return None


@task(base=DedupeTask, storage=storage, bind=True)
def raise_exception(self, *a, **kw):
    raise AttributeError()


@task(base=DedupeTask, storage=storage, bind=True)
def retry_task(self, *a, **kw):
    if self.request.retries == 0:
        self.retry(countdown=0)
    return True


class TestDedupeTask(object):
    def setup_class(self):
예제 #3
0
 def test_already_locked(self):
     key = uuid4()
     self.redis.setex(key, 10, '1')
     storage = RedisStorage(self.redis, expiry=10)
     assert not storage.obtain_lock(key, '1')
예제 #4
0
 def test_release_lock(self):
     key = uuid4()
     self.redis.setex(key, 10, '1')
     storage = RedisStorage(self.redis, expiry=10)
     storage.release_lock(key)
     assert not self.redis.get(key)
예제 #5
0
 def test_lock_obtained(self):
     storage = RedisStorage(self.redis)
     assert storage.obtain_lock(uuid4(), '1')
예제 #6
0
 def test_lock_obtained_with_expiry(self):
     key = uuid4()
     storage = RedisStorage(self.redis, expiry=10)
     assert storage.obtain_lock(key, '1')
     assert self.redis.ttl(key) == 10
예제 #7
0
 def test_get(self):
     key = uuid4()
     self.redis.setex(key, 10, '1')
     storage = RedisStorage(self.redis)
     assert storage.get(key) == '1'
예제 #8
0
 def test_release_lock(self):
     key = uuid4()
     self.redis.setex(key, 10, '1')
     storage = RedisStorage(self.redis, expiry=10)
     storage.release_lock(key)
     assert not self.redis.get(key)
예제 #9
0
 def test_already_locked(self):
     key = uuid4()
     self.redis.setex(key, 10, '1')
     storage = RedisStorage(self.redis, expiry=10)
     assert not storage.obtain_lock(key, '1')
예제 #10
0
 def test_lock_obtained_with_expiry(self):
     key = uuid4()
     storage = RedisStorage(self.redis, expiry=10)
     assert storage.obtain_lock(key, '1')
     assert self.redis.ttl(key) == 10
예제 #11
0
 def test_lock_obtained(self):
     storage = RedisStorage(self.redis)
     assert storage.obtain_lock(uuid4(), '1')