예제 #1
0
    def test_run_without_queues(self):
        """Ensure that we exit early if there aren't any queues.
        """
        queue_service = Mock()

        tasks_ran = run_random(queue_service, None)

        self.assertEqual(0, tasks_ran)
예제 #2
0
    def test_run_without_queues(self):
        """Ensure that we exit early if there aren't any queues.
        """
        queue_service = Mock()

        tasks_ran = run_random(queue_service, None)

        self.assertEqual(0, tasks_ran)
예제 #3
0
    def test_run_tasks_in_queues_greater_than_max(self, run_task_from_queue):
        """Ensures that we only run as many tasks as the 'max_tasks'
        """
        queue_service = Mock()

        run_task_from_queue.side_effect = self._run_side_effect

        tasks_ran = run_random(queue_service, self.queue_names, max_tasks=3)

        self.assertEqual(3, tasks_ran)

        remaining_tasks = 0
        for queue, tasks in self.test_queues.iteritems():
            remaining_tasks += len(tasks)
        self.assertEqual(5, remaining_tasks)
예제 #4
0
    def test_run_tasks_in_queues_greater_than_max(self, run_task_from_queue):
        """Ensures that we only run as many tasks as the 'max_tasks'
        """
        queue_service = Mock()

        run_task_from_queue.side_effect = self._run_side_effect

        tasks_ran = run_random(queue_service, self.queue_names, max_tasks=3)

        self.assertEqual(3, tasks_ran)

        remaining_tasks = 0
        for queue, tasks in self.test_queues.iteritems():
            remaining_tasks += len(tasks)
        self.assertEqual(5, remaining_tasks)
예제 #5
0
    def test_run_tasks_in_queues(self, run_task_from_queue):
        """Ensures that we run all tasks from popuplated queues.
        """
        queue_service = Mock()

        run_task_from_queue.side_effect = self._run_side_effect

        tasks_ran = run_random(queue_service, self.queue_names)

        self.assertEqual(6, tasks_ran)

        self.assertIsNotNone(self.test_queues.get('c'))
        self.assertEqual(2, len(self.test_queues.get('c')))

        for queue_name in ['a', 'b', 'd']:
            tasks = self.test_queues.get(queue_name)
            self.assertIsNotNone(tasks)
            self.assertEqual(0, len(tasks))
예제 #6
0
    def test_run_tasks_in_queues(self, run_task_from_queue):
        """Ensures that we run all tasks from popuplated queues.
        """
        queue_service = Mock()

        run_task_from_queue.side_effect = self._run_side_effect

        tasks_ran = run_random(queue_service, self.queue_names)

        self.assertEqual(6, tasks_ran)

        self.assertIsNotNone(self.test_queues.get('c'))
        self.assertEqual(2, len(self.test_queues.get('c')))

        for queue_name in ['a', 'b', 'd']:
            tasks = self.test_queues.get(queue_name)
            self.assertIsNotNone(tasks)
            self.assertEqual(0, len(tasks))
예제 #7
0
    def test_run_with_empty_queues(self, run_task_from_queue, random_range,
                                   random_seed):
        """Ensures that we hit all queue names when all queues are empty.
        """
        queue_service = Mock()

        random_range.return_value = 1
        run_task_from_queue.return_value = False

        test_seed = 555

        tasks_ran = run_random(queue_service, self.queue_names, test_seed)

        self.assertEqual(0, tasks_ran)

        random_seed.assert_called_once_with(test_seed)

        self.assertEqual(3, run_task_from_queue.call_count)

        index = 0
        for queue_name in ['b', 'd', 'a']:
            call_args = run_task_from_queue.call_args_list[index]
            self.assertEqual(call(queue_service, queue_name), call_args)
            index += 1
예제 #8
0
    def test_run_with_empty_queues(self, run_task_from_queue, random_range,
                                   random_seed):
        """Ensures that we hit all queue names when all queues are empty.
        """
        queue_service = Mock()

        random_range.return_value = 1
        run_task_from_queue.return_value = False

        test_seed = 555

        tasks_ran = run_random(queue_service, self.queue_names, test_seed)

        self.assertEqual(0, tasks_ran)

        random_seed.assert_called_once_with(test_seed)

        self.assertEqual(3, run_task_from_queue.call_count)

        index = 0
        for queue_name in ['b', 'd', 'a']:
            call_args = run_task_from_queue.call_args_list[index]
            self.assertEqual(call(queue_service, queue_name), call_args)
            index += 1