def test_get_waiting_keys_should_return_all_keys_for_a_name(self): # create two with the same name and different priorities q0 = Queue.get_queue(name='test', priority=0) q1 = Queue.get_queue(name='test', priority=1) # and one with a different name qx = Queue.get_queue(name='foobar') # test we can get all keys for 'test', ordered by priority desc keys = Queue.get_waiting_keys('test') self.assertEqual(keys, [q1.waiting.key, q0.waiting.key]) # tests for foobar keys = Queue.get_waiting_keys('foobar') self.assertEqual(keys, [qx.waiting.key]) # tests for non existing name keys = Queue.get_waiting_keys('qux') self.assertEqual(keys, [])
def test_adding_a_job_should_create_a_queue_with_the_job(self): job = Job.add_job(identifier='job:1', queue_name='test', priority=5) # count queues keys = Queue.get_waiting_keys('test') self.assertEqual(len(keys), 1) # get the new queue, should not create it (number of keys should be 1) queue = Queue.get_queue(name='test', priority=5) keys = Queue.get_waiting_keys('test') self.assertEqual(len(keys), 1) # check that the job is in the queue jobs = queue.waiting.lrange(0, -1) self.assertEqual(jobs, [job.ident]) # ... with the correct status and priority self.assert_job_status_and_priority(job, STATUSES.WAITING, '5')