def test_release_timeout_error(self, mock_redis):
        queue = ReliableQueue(mock_redis)
        qname = md5(self.user_id + "_queue").hexdigest()
        mock_redis.hget.side_effect = TimeoutError
        q_len = total_len = -1
        with self.assertRaises(TimeoutError) as ar:
            q_len, total_len= queue.release(qname, self.uuid)
        self.assertEqual(-1, q_len)
        self.assertEqual(-1, total_len)
        self.assertIsInstance(ar.exception, TimeoutError)

        mock_redis.reset_mock()
        mock_redis.hget.return_value= "anan"
        mock_redis.pipeline.return_value.execute.side_effect= TimeoutError
        with self.assertRaises(TimeoutError) as ar:
            q_len, total_len = queue.release(qname, self.uuid)
        self.assertEqual(-1, q_len)
        self.assertEqual(-1, total_len)
        self.assertIsInstance(ar.exception, TimeoutError)
    def test_release_timeout_error(self, mock_redis):
        queue = ReliableQueue(mock_redis)
        qname = md5(self.user_id + "_queue").hexdigest()
        mock_redis.hget.side_effect = TimeoutError
        q_len = total_len = -1
        with self.assertRaises(TimeoutError) as ar:
            q_len, total_len = queue.release(qname, self.uuid)
        self.assertEqual(-1, q_len)
        self.assertEqual(-1, total_len)
        self.assertIsInstance(ar.exception, TimeoutError)

        mock_redis.reset_mock()
        mock_redis.hget.return_value = "anan"
        mock_redis.pipeline.return_value.execute.side_effect = TimeoutError
        with self.assertRaises(TimeoutError) as ar:
            q_len, total_len = queue.release(qname, self.uuid)
        self.assertEqual(-1, q_len)
        self.assertEqual(-1, total_len)
        self.assertIsInstance(ar.exception, TimeoutError)
 def test_release(self, mock_redis):
     queue = ReliableQueue(mock_redis)
     qname = md5(self.user_id + "_queue").hexdigest()
     job = Job(self.uuid)
     job.change_state(JOB_DEQUEUED)
     mock_redis.hget.return_value = pickle.dumps(job)
     mock_redis.pipeline.return_value.execute.return_value = \
         10, 1, 1, 1, 10
     q_len = total_len = -1
     q_len, total_len  = queue.release(qname, self.uuid)
     self.assertEqual(1, q_len)
     self.assertEqual(10, total_len)
 def test_release(self, mock_redis):
     queue = ReliableQueue(mock_redis)
     qname = md5(self.user_id + "_queue").hexdigest()
     job = Job(self.uuid)
     job.change_state(JOB_DEQUEUED)
     mock_redis.hget.return_value = pickle.dumps(job)
     mock_redis.pipeline.return_value.execute.return_value = \
         10, 1, 1, 1, 10
     q_len = total_len = -1
     q_len, total_len = queue.release(qname, self.uuid)
     self.assertEqual(1, q_len)
     self.assertEqual(10, total_len)
 def test_release_undequeued_job(self, mock_redis):
     queue = ReliableQueue(mock_redis)
     qname = md5(self.user_id + "_queue").hexdigest()
     job = Job(self.uuid)
     mock_redis.hget.return_value = pickle.dumps(job)
     mock_redis.pipeline.return_value.execute.return_value = \
         10, 1, 1, 1, 10
     q_len = total_len = -1
     with self.assertRaises(ERedisReleaseError) as ar:
         q_len, total_len = queue.release(qname, self.uuid)
     self.assertEqual(-1, q_len)
     self.assertEqual(-1, total_len)
     self.assertIsInstance(ar.exception, ERedisReleaseError)
 def test_release_undequeued_job(self, mock_redis):
     queue = ReliableQueue(mock_redis)
     qname = md5(self.user_id + "_queue").hexdigest()
     job = Job(self.uuid)
     mock_redis.hget.return_value = pickle.dumps(job)
     mock_redis.pipeline.return_value.execute.return_value = \
         10, 1, 1, 1, 10
     q_len = total_len = -1
     with self.assertRaises(ERedisReleaseError) as ar:
         q_len, total_len = queue.release(qname, self.uuid)
     self.assertEqual(-1, q_len)
     self.assertEqual(-1, total_len)
     self.assertIsInstance(ar.exception, ERedisReleaseError)