def test_add_pull_and_push_queue_tasks(self): """Ensure that push and pull tasks can be added with add_tasks().""" from furious.async import Async from furious.batcher import Message from furious.test_stubs.appengine.queues import add_tasks from furious.test_stubs.appengine.queues import get_tasks from furious.test_stubs.appengine.queues import purge_tasks # Add tasks the normal way so we can get them and test readding them async = Async(target='time.ctime') async.start() async2 = Async(target='time.ctime') async2.start() Message(queue='default-pull').insert() task_dict = get_tasks(self.queue_service) # purge current tasks so we can verify how many we will add next. purge_tasks(self.queue_service) num_added = add_tasks(self.queue_service, task_dict) # Purge tasks to check how many tasks are in the queues num_queued = purge_tasks(self.queue_service) self.assertEqual(3, num_added) self.assertEqual(3, num_queued)
def test_get_tasks_when_there_are_no_tasks(self): """Ensure that no tasks are returned from get_tasks() when no tasks have been added yet. """ from furious.test_stubs.appengine.queues import get_tasks task_dict = get_tasks(self.queue_service) num_tasks = sum([len(task_list) for task_list in task_dict.values()]) self.assertEqual(0, num_tasks)
def test_get_tasks_from_all_queues(self): """Ensure all tasks are returned from get_tasks().""" from furious.async import Async from furious.batcher import Message from furious.test_stubs.appengine.queues import get_tasks # Enqueue a couple of tasks async = Async(target='time.ctime') async.start() async2 = Async(target='time.ctime') async2.start() # Insert a pull task Message(queue='default-pull').insert() task_dict = get_tasks(self.queue_service) num_tasks = sum([len(task_list) for task_list in task_dict.values()]) self.assertEqual(3, num_tasks)
def test_get_tasks_when_queue_names_are_specified(self): """Ensure queues' tasks are returned from get_tasks() when a list of queue_names are passed as an argument. """ from furious.async import Async from furious.batcher import Message from furious.test_stubs.appengine.queues import get_tasks # Enqueue a couple of tasks async = Async(target='time.ctime') async.start() async2 = Async(target='time.ctime') async2.start() # Insert a pull task Message(queue='default-pull').insert() task_dict = get_tasks(self.queue_service, ['default']) num_tasks = sum([len(task_list) for task_list in task_dict.values()]) self.assertEqual(2, num_tasks)