def test_has_limit_after_removing_items(self): limiter = Limiter(prefix='test-%.6f' % time.time(), limit=2, expiration_in_seconds=400, redis=self.redis) has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test2', expiration_in_seconds=-1) eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test3') eq_(has_limit, True)
def test_has_limit(self): limiter = Limiter(prefix='test-%.6f' % time.time(), limit=2, expiration_in_seconds=400) has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test2') eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test3') eq_(has_limit, False)
def test_has_limit_after_releasing_items(self): limiter = Limiter(prefix='test-%.6f' % time.time(), limit=2, expiration_in_seconds=400) has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test2') eq_(has_limit, True) limiter.release_limit(key='test2') has_limit = limiter.acquire_limit(key='test3') eq_(has_limit, True)
def test_has_limit_after_removing_items(self): limiter = Limiter(prefix='test-%.6f' % time.time(), limit=2, expiration_in_seconds=400) has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test2', expiration_in_seconds=-1) eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test3') eq_(has_limit, True)
def test_has_limit_after_releasing_items(self): limiter = Limiter(prefix='test-%.6f' % time.time(), limit=2, expiration_in_seconds=400, redis=self.redis) has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, True) has_limit = limiter.acquire_limit(key='test2') eq_(has_limit, True) limiter.release_limit(key='test2') has_limit = limiter.acquire_limit(key='test3') eq_(has_limit, True)
def test_has_limit(self): mock_time = Mock() mock_time.return_value = 40.5 mock_redis = Mock(spec=redis.Redis) mock_redis.zcard.return_value = 0 limiter = Limiter(limit=10, redis=mock_redis, expiration_in_seconds=20) with patch('time.time', mock_time): has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, True) mock_redis.zadd.assert_called_once_with('retools_limiter', 'test1', 60.5)
def test_acquire_limit_fails_even_after_removing_items(self): mock_time = Mock() mock_time.return_value = 40.5 mock_redis = Mock(spec=redis.Redis) mock_redis.zcard.side_effect = [10, 10] limiter = Limiter(limit=10, redis=mock_redis, expiration_in_seconds=20) with patch('time.time', mock_time): has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, False) eq_(mock_redis.zadd.called, False) mock_redis.zremrangebyscore.assert_called_once_with('retools_limiter', '-inf', 40.5)
def test_acquire_limit_fails_even_after_removing_items(self): mock_time = Mock() mock_time.return_value = 40.5 mock_redis = Mock(spec=redis.Redis) mock_redis.zcard.side_effect = [10, 10] limiter = Limiter(limit=10, redis=mock_redis, expiration_in_seconds=20) with patch('time.time', mock_time): has_limit = limiter.acquire_limit(key='test1') eq_(has_limit, False) eq_(mock_redis.zadd.called, False) mock_redis.zremrangebyscore.assert_called_once_with( 'retools_limiter', '-inf', 40.5)