Exemple #1
0
    def test_periodic_tasks_idle_calculation(self):
        fake_time = datetime.datetime(3000, 1, 1)
        timeutils.set_time_override(fake_time)

        class Manager(periodic_task.PeriodicTasks):
            __metaclass__ = periodic_task._PeriodicTasksMeta

            @periodic_task.periodic_task(spacing=10)
            def bar(self, context):
                return 'bar'

        m = Manager()

        # Ensure initial values are correct
        self.assertEqual(1, len(m._periodic_tasks))
        task_name, task = m._periodic_tasks[0]

        # Test task values
        self.assertEqual('bar', task_name)
        self.assertEqual(10, task._periodic_spacing)
        self.assertEqual(True, task._periodic_enabled)
        self.assertEqual(False, task._periodic_external_ok)
        self.assertEqual(False, task._periodic_immediate)
        self.assertNotEqual(None, task._periodic_last_run)

        # Test the manager's representation of those values
        self.assertEqual(10, m._periodic_spacing[task_name])
        self.assertNotEqual(None, m._periodic_last_run[task_name])

        timeutils.advance_time_delta(datetime.timedelta(seconds=5))
        m.run_periodic_tasks(None)

        timeutils.advance_time_delta(datetime.timedelta(seconds=5))
        idle = m.run_periodic_tasks(None)
        self.assertAlmostEqual(10, idle, 1)
 def test_advance_time_delta(self):
     timeutils.set_time_override(self.one_minute_before)
     timeutils.advance_time_delta(datetime.timedelta(seconds=60))
     self.assertEqual(timeutils.utcnow(), self.skynet_self_aware_time)
 def test_advance_time_delta(self):
     timeutils.set_time_override(self.one_minute_before)
     timeutils.advance_time_delta(datetime.timedelta(seconds=60))
     self.assertEqual(timeutils.utcnow(), self.skynet_self_aware_time)