예제 #1
0
    def test_execute_single_task(self):
        def t1():
            return 1

        exe = processing.Executor()

        results = exe.run(t1)
        self.assertEqual(results[0], 1)
예제 #2
0
    def test_executor_name_with_func(self):
        mock_task = mock.NonCallableMock(spec_set=[
            'func_name',
        ])
        mock_task.func_name = 'func_name'

        exe = processing.Executor()

        self.assertEqual('func_name', exe.task_name(mock_task))
예제 #3
0
    def setUp(self):
        self.zone = mock.Mock(serial=1)
        self.zone.name = 'example.org.'
        self.executor = processing.Executor()

        self.ns = mock.Mock(host='ns.example.org', port=53)
        self.task = zone.PollForZone(self.executor, self.zone, self.ns)
        self.task._max_retries = 3
        self.task._retry_interval = 2
예제 #4
0
    def test_execute_bad_task(self):
        def failed_task():
            raise exceptions.BadAction('Not Great')

        exe = processing.Executor()

        results = exe.run(failed_task)
        self.assertEqual(results[0], None)

        self.assertIn('Not Great', self.stdlog.logger.output)
예제 #5
0
    def test_execute_single_task(self):
        def t1():
            return 1

        def t2():
            return 2

        exe = processing.Executor()

        results = exe.run(t1)
        assert results == [1]
예제 #6
0
    def test_execute_multiple_tasks(self):
        def t1():
            return 1

        def t2():
            return 2

        tasks = [t1, t2, t1, t2, t1]
        exe = processing.Executor()

        results = exe.run(tasks)
        self.assertEqual(results, [1, 2, 1, 2, 1])
예제 #7
0
    def setUp(self):
        self.zone = mock.Mock(name='example.com.', serial=1)
        self.export = mock.Mock()
        self.export.id = '1'
        self.executor = processing.Executor()
        self.context = mock.Mock()

        self.task = zone.ExportZone(self.executor, self.context, self.zone,
                                    self.export)
        self.task._central_api = mock.Mock()
        self.task._storage = mock.Mock()
        self.task._quota = mock.Mock()

        self.task._quota.limit_check = mock.Mock()
        self.task._storage.count_recordsets = mock.Mock(return_value=1)
        self.task._synchronous_export = mock.Mock(return_value=True)
예제 #8
0
    def setUp(self):
        self.executor = processing.Executor()
        self.context = mock.Mock()
        self.zone = mock.Mock(name='example.com.', action='UPDATE', serial=10)
        self.pool = mock.Mock(nameservers=['ns1', 'ns2'])
        self.threshold = 80

        self.poller = zone.ZonePoller(
            self.executor,
            self.context,
            self.pool,
            self.zone,
        )

        self.max_retries = 4
        self.retry_interval = 2
        self.poller._max_retries = self.max_retries
        self.poller._retry_interval = self.retry_interval
예제 #9
0
 def executor(self):
     if not hasattr(self, '_executor'):
         # TODO(elarson): Create this based on config
         self._executor = processing.Executor()
     return self._executor
예제 #10
0
 def setUp(self):
     self.executor = processing.Executor()
     self.task = zone.UpdateStatus(self.executor, mock.Mock(), mock.Mock())
     self.task._central_api = mock.Mock()